[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]
pam
Parallel Application Manager - job starter for MPI applications
SYNOPSIS
bsub pam
-mpi
mpirun
[mpirun_options ] mpi_app [argument ...]
bsub pam
[-n
num_tasks ]-mpi
-auto_place
mpi_app [argument ...]
bsub pam
[-t
] [-v
] [-n
num_tasks ]-g
[num_args] pjl_wrapper [pjl_options] mpi_app [argument ...]
pam
[-h
] [-V
]DESCRIPTION
The Parallel Application Manager (PAM) is the point of control for Platform LSF HPC. PAM is fully integrated with Platform LSF HPC to interface the user application with LSF. PAM acts as the supervisor of a parallel LSF job.
MPI jobs started by
pam
can only be submitted through the LSF Batch system. PAM cannot be used interactively to start parallel jobs.sbatchd
starts PAM on the first execution host.For all parallel application processes (tasks), PAM:
- Uses a vendor MPI library or an MPI Parallel Job Launcher (PJL; for example,
mpirun
,poe
) to start a parallel job on a specified set of hosts in an LSF cluster.- PAM contacts RES on each execution host allocated to the parallel job.
- PAM queries RES periodically to collect resource usage for each parallel task and passes control signals through RES to all process groups and individual running tasks, and cleans up tasks as needed.
- Passes job-level resource usage and process IDs (PIDs and PGIDs) to
sbatchd
for enforcement- Collects resource usage information and exit status upon termination
TASK STARTUP FOR VENDOR MPI JOBS
The
pam
command starts a vendor MPI job on a specified set of hosts in an LSF cluster. Usingpam
to start an MPI job requires the underlying MPI system to be LSF aware, using a vendor MPI implementation that supports LSF (SGI IRIX vendor MPI or HP-UX vendor MPI).PAM uses the vendor MPI library to spawn the child processes needed for the parallel tasks that make up your MPI application. It starts these tasks on the systems allocated by LSF. The allocation includes the number of execution hosts needed, and the number of child processes needed on each host.
TASK STARTUP FOR LSF HPC GENERIC PJL JOBS
For parallel jobs submitted with
bsub
:
- PAM invokes the PJL, which in turn invokes the TaskStarter (TS).
- TS starts the tasks on each execution host, reports the process ID to PAM, and waits for the task to finish.
OPTIONS
OPTIONS FOR VENDOR MPI JOBS
-auto_place
The
-auto_place
option on thepam
command line tells the SGI IRIXmpirun
library to launch the MPI application according to the resources allocated by LSF.-mpi
In the SGI environment, the
-mpi
option on thebsub
andpam
command line is equivalent to thempirun
command.On HP-UX, you can have LSF manage the allocation of hosts to achieve better resource utilization by coordinating the start-up phase with
mpirun
. This is done by preceding the regular HP MPImpirun
command with:bsub pam -mpi
For HP-UX vendor MPI jobs, the
-mpi
option must be the first option of thepam
command.For example, to run a single-host job and have LSF select the host, the command:
mpirun -np 14 a.outis entered as:
bsub pam -mpi mpirun -np 14 a.out-n num_tasks
The number of processors required to run the MPI application, typically the number of parallel tasks in the job. If the host is a multiprocessor, one host can start several tasks.
You can use both
bsub -
n andpam -n
in the same job submission. The number specified in thepam -n
option should be less than or equal to the number specified bybsub -n
. If the number of tasks specified withpam -n
is greater than the number specified bybsub -n
, thepam -n
is ignored.For example, on SGI IRIX or SGI Altix, you can specify:
bsub -n 5 pam -n 2 -mpi -auto_place a.outHere, the job requests 5 processors, but PAM only starts 2 parallel tasks.
mpi_app [argument ...]
The name of the MPI application to be run on the listed hosts. This must be the last argument on the command line.
-h
Prints command usage to
stderr
and exit.-V
Prints LSF release version to
stderr
and exit.OPTIONS FOR LSF HPC GENERIC PJL JOBS
-t
This option tells
pam
not to print out the MPI job tasks summary report to the standard output. By default, the summary report prints out the task ID, the host on which it was executed, the command that was executed, the exit status, and the termination time.-v
Verbose mode. Displays the name of the execution host or hosts.
-g [num_args] pjl_wrapper [pjl_options]
The
-g
option is required to use the LSF HPC generic PJL framework. You must specify all the otherpam
options before-g
.num_args
Specifies how many space-separated arguments in the command line are related to the PJL (after that, the remaining section of the command line is assumed to be related to the binary application that launches the parallel tasks).
pjl_wrapper
The name of the PJL
pjl_options
Optional arguments to the PJL
For example:
- A PJL named
no_arg_pjl
takes no options, so num_args=1. The syntax is:pam [pam_options] -g 1 no_arg_pjl job [job_options]- A PJL is named
3_arg_pjl
and takes the options-a
,-b
, and group_name, so num_args=4. The syntax is:pam [pam_options] -g 4 3_arg_pjl -a -b group_name job [job_options]-n num_tasks
The number of processors required to run the MPI application, typically the number of parallel tasks in the job. If the host is a multiprocessor, one host can start several tasks.
You can use both
bsub -
n andpam -n
in the same job submission. The number specified in thepam -n
option should be less than or equal to the number specified bybsub -n
. If the number of tasks specified withpam -n
is greater than the number specified bybsub -n
, thepam -n
is ignored.mpi_app [argument ...]
The name of the MPI application to be run on the listed hosts. This must be the last argument on the command line.
-h
Prints command usage to
stderr
and exit.-V
Prints LSF release version to
stderr
and exit.EXIT STATUS
pam
exits with the exit status ofmpirun
or the PJL wrapper.SEE ALSO
bsub
(1)[ Top ]
[ Platform Documentation ] [ Title ] [ Contents ] [ Previous ] [ Next ] [ Index ]
Date Modified: March 13, 2009
Platform Computing: www.platform.com
Platform Support: support@platform.com
Platform Information Development: doc@platform.com
Copyright © 1994-2009 Platform Computing Corporation. All rights reserved.