转自:http://www.lam-mpi.org/tutorials/one-step/lam.php

LAM is a simple yet powerful environment for running and monitoring MPI applications on clusters. The few essential steps in LAM operations are covered below.

Booting LAM

The user creates a file listing the participating machines in the cluster.

shell$ cat lamhosts
# a 2-node LAM
node1.cluster.example.com
node2.cluster.example.com

Each machine will be given a node identifier (nodeid) starting with 0 for the first listed machine, 1 for the second, etc.

The recon tool verifies that the cluster is bootable:

shell$ recon -v lamhosts
recon: -- testing n0 (node1.cluster.example.com)
recon: -- testing n1 (node2.cluster.example.com)

The lamboot tool actually starts LAM on the specified cluster.

% lamboot -v lamhosts
LAM 7.1.4 - Indiana University
Executing hboot on n0 (node1.cluster.example.com - 1 CPU)...
Executing hboot on n1 (node2.cluster.example.com - 1 CPU)...

lamboot returns to the UNIX shell prompt. LAM does not force a canned environment or a "LAM shell". The tping command builds user confidence that the cluster and LAM are running.

shell$ tping -c1 N
1 byte from 1 remote node and 1 local node: 0.008 secs
1 message, 1 byte (0.001K), 0.008 secs (0.246K/sec)
roundtrip min/avg/max: 0.008/0.008/0.008

Compiling MPI Programs

Refer to MPI: It's Easy to Get Started to see a simple MPI program. mpicc (and mpiCC and mpif77) is a wrapper for the C (C++, and F77) compiler that includes all the necessary command line switches to the underlying compiler to find the LAM include files, the relevant LAM libraries, etc.

shell$ mpicc -o foo foo.c
shell$ mpif77 -o foo foo.f

Executing MPI Programs

A MPI application is started by one invocation of the mpirun command. A SPMD application can be started on the mpirun command line.

shell$ mpirun -v -np 2 foo
2445 foo running on n0 (o)
361 foo running on n1

An application with multiple programs must be described in an application schema, a file that lists each program and its target node(s).

shell$ cat appfile
# 1 master, 2 slaves
n0 master
n0-1 slave
shell$ mpirun -v appfile
3292 master running on n0 (o)
3296 slave running on n0 (o)
412 slave running on n1

Monitoring MPI Applications

The full MPI synchronization status of all processes and messages can be displayed at any time. This includes the source and destination ranks, the message tag, count and datatype, the communicator, and the function invoked.

shell$ mpitask
TASK (G/L)    FUNCTION      PEER|ROOT  TAG    COMM   COUNT   DATATYPE
0/0 master    Recv          ANY        ANY    WORLD  1       INT
1 slave       <running>
2 slave       <running>

Process rank 0 is blocked receiving a message consisting of a single integer from any source rank and any message tag, using the MPI_COMM_WORLD communicator. The other processes are running.

shell$ mpimsg
SRC (G/L)   DEST (G/L)   TAG   COMM    COUNT   DATATYPE    MSG
0/0         1/1          7     WORLD   4       INT         n0,#0

Later, we see that a message sent by process rank 0 to process rank 1 is buffered and waiting to be received. It was sent with tag 7 using the MPI_COMM_WORLD communicator and contains 4 integers.

Cleaning LAM

All user processes and messages can be removed, without rebooting.

shell$ lamclean -v
killing processes, done
sweeping messages, done
closing files, done
sweeping traces, done

It is typical for users to mpirun a program, lamclean when it finishes, and then mpirun another program. It is not necessary to lamboot to run each user MPI program.

Terminating LAM

The lamhalt tool removes all traces of the LAM session on the network. This is only performed when LAM/MPI is no longer needed (i.e., no more mpirun/lamclean commands will be issued).

shell$ lamhalt

In the case of a catastrophic failure (e.g., one or more LAM nodes crash), the lamhalt utility will hang. In this case, the wipe tool is necessary. The same boot schema that was used with lamboot is necessary to list each node where the LAM run-time environment is running:

shell$ wipe -v lamhosts
Executing tkill on n0 (node1.cluster.example.com)...
Executing tkill on n1 (node2.cluster.example.com)...

Getting started with LAM相关推荐

  1. 【安全】通过LAM(ldap-account-manager)来管理OpenLDAP

    文章目录 1.安装 ldap-account-manager 1.1 启动Apache的www服务 1.2 访问 1.3 配置ldap-account-manager登录密码 1.4 添加要连接的主机 ...

  2. Linus批评英特尔的LAM代码,拒绝将其合并到内核

    英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批评了一番,并拒绝了该合并. 英特尔线性地址掩码 (LA ...

  3. Linus 批评英特尔的 LAM 代码,拒绝将其合并到内核

    来源:OSC开源社区(ID:oschina2013) 英特尔希望将其 LAM(Linear Address Masking :线性地址掩码) 功能合并到 Linux 6.2,但该功能被 Linus 批 ...

  4. Lam Research和VELO3D达成战略协议,使用金属增材制造应用生产半导体资本设备

    该合作协议包括专有工艺开发和对VELO3D的投资 加州坎贝尔--(美国商业资讯)--数字制造创新者VELO3D和Lam Research Corporation (Nasdaq: LRCX)今天宣布了 ...

  5. java lam表达式_详细分析Java Lambda表达式

    在了解Lambda表达式之前我们先来区分一下面向对象的思想和函数式编程思想的区别 面向对象的思想: 做一件事情,找一个能解决这个事情的对象,调用他的方法来解决 函数时编程思想: 只要能获取到结果,谁去 ...

  6. LDAP+LAM搭建

    1.安装软件包 yum -y install openldap openldap-clients openldap-servers openldap-devel 如果你是64位系统.为了让php编译l ...

  7. 目前掌握的来自Gabriel Lamé的一些知识

    加布里埃尔·拉梅(Gabriel Lamé,1795年7月22日-1870年5月1日),法国数学家. 1. Lamé公式 1883年Lamé首次对厚壁圆筒进行应力分析,提出的应力计算公式叫做Lamé公 ...

  8. Linux搭建LDAP Account Manager(LAM)

    搭建 ldap account manager LAM一直更新的很快,所以有很多版本供选择 因为这边的网络环境不是特别的好,进LAM的官网去下载最新的比较慢,所以没有配置最新的版本 这是我自己找的一个 ...

  9. LAM 的安装和配置

    简介 LAM (LDAP Account Manager)是一款基于Web的LDAP帐号管理的工具,采用PHP编写.(LAM Pro 是企业级扩展版本,功能更强大,但不是免费版)关于LAM的更多信息, ...

  10. 程序媛人生——专访“龙书”《编译原理》联合作者 Monica S. Lam

    本文首发于 2015 年 9 月 24 日,同时刊登<程序员>2015.10.A 作者 | 唐小引 感谢和蔼可亲的 Monica 教授. Monica S. Lam 是首位在斯坦福计算机系 ...

最新文章

  1. Quartz 实现分布式任务调度
  2. 【Python】Python四大内置高阶函数(map、reduce、filter、sorted)
  3. flask 实现异步非阻塞----gevent
  4. 【转载保存】Jsoup解析html常用方法
  5. php阿拉伯语字符串,按字母顺序命名阿拉伯语名称Mysql和php
  6. 初识设计模式(单例模式)
  7. Atitit 上传进度的实现与原理 目录 1.1. 前端 1 1.2. 读取进度 1 1.3. 后端 定时注入进度 1 1.1.前端                         wind
  8. 用户登录功能设计思路
  9. thymeleaf实现分页
  10. 淘金网UCskype即时通讯软件定制
  11. 慧尔视:以CRM为抓手,打造用数据说话的企业
  12. 5G LAN — 技术实现原理
  13. JSM之ActivityMQ
  14. MySQLSyntaxErrorException: Unknown database
  15. 史上最全的ubuntu服务器搭建环境教程~~~
  16. K210——声源定位、声音识别
  17. vmware黑苹果安装vmware tools方法
  18. 人工智能导论课程论文:人工智能及其发展趋势
  19. 手机显示无法接通服务器是怎么回事,手机无法接通是什么原因及如何解决【图文】...
  20. 计算机网络笔记--1 计算机网络与网络应用(上)

热门文章

  1. OpenCL编程(1)- 开发环境搭建(NVIDIA GPU+Win10篇)
  2. ASP.Net Core 2.2 MVC入门到基本使用系列 (四)(转)
  3. 完美攻略之雪のとける頃に...雪融化的时候…(雪融化的时刻…)
  4. python从入门到秃头_六星教育helen老师:零基础学习python,最好先掌握flask框架...
  5. 教你用面向对象方法写一个烟花爆炸的特效
  6. redhat9调试笔记之防火墙
  7. OpenSUSE Ubuntu,使用OpenSUSE代替UBUNTU的若干理由
  8. 铁锈战争虚拟服务器,铁锈战争mod二战
  9. 简洁但不简单的画册印刷
  10. 用markdown写博客,看这篇就够了