Many MPI implementations (such as the free MPICH implementation) allow you to
specify a replacment utility for rsh/remsh to propagate processes.
Just use qsh as the replacement. Be sure the QHOSTSFILE lists all hosts
known to the MPI implementation, and the queued is running on them.
You have three options: place a + in the MPI hosts file for each job-slot
you want MPI to be able to start, explicitly list Queue's hosts in the
MPI host file, or use a combination of + wild-cards and explicitly listed
hosts in MPI's host file.
The + is GNU Queue's wild-card character for the hostname when it is invoked
using qsh . It simply means that Queue should decide what host the process should
run on, which is the default behavior for Queue. Specifying a host instead of
using the + with qsh is equivalent to the -h option with the regular queue
command-line syntax.
By placing + s in the MPI host file, MPI will pass + as the name of the
host for that job slot to GNU Queue, which, in turn, will decide where the job
should actually run.
By running jobs through GNU Queue this way, GNU Queue becomes aware of jobs
submitted by MPI, and can route non-MPI jobs around them. Normally, you would
want to use a job queue (-j option) which has a low vmaxexec set and a high
maxexec, so that MPI's jobs will continue to run, but GNU Queue will
aggressively try to route jobs to other hosts the moment the job queue
begins the fill.
GNU Queue's load scheduling algorithm is smarter than that of many MPI
implementations, which frequently treat all hosts as equal and implement
a round-robin algorithm for deciding which to host to run a job on. GNU
Queue, on the other hand, can take load-averages, CPU power differences (via
profile file specifiers), and other factors into account when deciding
on which host to send a particular job to.
qsh represent a stage-1 hook for MPI. Our development team (see See section Getting Help
for information on joining the development team) is currently working on a stage-2 hook,
in which MPI becomes aware of GNU Queue jobs as well, allowing them to work as an
integrated scheduling team.
Support for PVM is currently in development as well.
werner.krebs@yale.edu |