GNU/Linux |
CentOS 2.1AS(Slurm) |
|
![]() |
lamboot(1) |
![]() |
lamboot − Start a LAM multicomputer.
lamboot [-bdhvxH] [<bhost>]
−b |
Assume local and remote shell are the same. This means that only one remote shell invocation is used to each node. If −b is not used, two remote shell invocations are used to each node. | ||
−d |
Turn on debugging output. This implies -v. | ||
−h |
Print the command help menu. | ||
−s |
Close stdio on the local node. | ||
−v |
Be verbose. | ||
−x |
Run in fault tolerant mode. | ||
−H |
Do not display the command header. |
The lamboot tool starts the LAM software on each of the machines specified in the boot schema, <bhost>. The boot schema specifies the hostnames of nodes to be used in the run-time MPI environment, and optionally lists how may CPUs LAM may used on each node. The user may wish to first run the recon(1) tool to verify that LAM can be started.
Starting LAM is a three step procedure. In the first step, hboot(1) is invoked on each of the specified machines. Then each machine allocates a dynamic port and communicates it back to lamboot which collects them. In the third step, lamboot gives each machine the list of machines/ports in order to form a fully connected topology. If any machine was not able to start, or if a timeout period expires before the first step completes, lamboot invokes wipe(1) to terminate LAM and reports the error.
The <bhost> file is a LAM boot schema written in the host file syntax. See bhost(5). Instead of the command line, a boot schema can be specified in the LAMBHOST environment variable. Otherwise a default file, bhost.def, is used. LAM searches for <bhost> first in the local directory and then in the installation directory under etc/.
In addition, lamboot uses a process schema for the individual LAM nodes. A process schema (see conf(5)) is a description of the processes which constitute the operating system on a node. In general, the system administrator maintains this file -- LAM/MPI users will generally not need to change this file. It is also possible for the user to customize the LAM software with a private process schema.
Remote shell
invocation
The remote shell program that is used to invoke commands on
remote hosts is set when LAM is configured. It is typically
rsh, but can be set to any value by the person who
setup/compiled LAM. This program can be overridden at
lamboot invocation time by setting the LAMRSH
environment variable to a suitable remote shell program. For
example:
setenv LAMRSH "ssh -x"
This will force LAM to use the "ssh" client to invoke programs on remote nodes, and ensure that "ssh" uses the -x command line flag (to suppress the ssh 1.x client series standard information banner that is normally output to the standard error, which would cause lamboot to fail).
Normally, lamboot uses two remote shell invocations to each node. The first remote shell invocation is used to determine the user’s shell on the remote node. The second remote shell invocation is used to launch the desired LAM binary on the remote node. If the -b switch is used, lamboot will assume that the user’s shell on all remote nodes is the same as it is on the local node, and therefore only one remote shell invocation is used, which is noticably faster.
In either case, on remote nodes, if the user’s shell is not csh, tcsh, or bash, .profile is invoked by LAM before invoking any LAM binary. This allows the user to setup paths and any necessary environment before LAM binaries are invoked (csh and tcsh users can put such setup in their $HOME/.cshrc or $HOME/.tcshrc files; bash users can put this setup in their $HOME/.bashrc file).
Closing
stdio
The stdio of each LAM daemon on a remote host that is
launched by lamboot is closed by default. Normally,
the stdio of the LAM daemon launched on the local host is
left open so that the internal LAM tstdio(3) package works
properly. However, it is sometimes desirable to close the
stdio of the local LAM daemon as well. For example:
rsh somenode lamboot -s hostfile
This is because rsh waits for two conditions before exiting: lamboot to exit, and stdout / stderr to be closed. Without -s, stdout / stderr would not be closed, and rsh would hang even though lamboot had completed. -s causes the stdout / stderr of the local LAM daemon to be closed upon invocation, which will allow rsh to complete. Using -s will not affect lamboot in any other way, but it will prevent the tstdio(3) package from working properly.
Fault
Tolerance
If the −x option is given, LAM runs in fault
tolerant mode. In this mode, nodes exchange
’’heart beat’’ messages periodically
to make sure all nodes are running and the links connecting
them are operational. When a node’s heart beats stop,
it is declared ’’dead’’ and all LAM
nodes (and processes) are notified. This allows users to
write fault tolerant applications that can degrade
gracefully, or fully recover by replacing the defunct node
with another (see lamgrow(1)). Since this mode introduces a
performance penalty, it is not activated by default.
lamboot -v
Start LAM on the machines described in the default boot schema. Report about important steps as they are done.
lamboot mynodes
Start LAM on the machines described in the boot schema mynodes. Operate silently.
$LAMHOME/etc/lam-bhost.def
default boot schema file
$LAMHOME/etc/lam-conf.lam default process schema file for
LAM nodes
recon(1), wipe(1), hboot(1), tstdio(3), bhost(5), conf(5), lam-helpfile(5)
![]() |
lamboot(1) | ![]() |