Cluster Home Page
About the Cluster
Cluster Access
MPI Info
Write / Compile / Run MPI Programs
Single Node Jobs
Physics Home Page
Chemistry Home Page
|
Running Single Node Jobs
Occaisonally, you'll need to run a job on just one processor.
Perhaps you're testing code you've written before adding MPI
calls, or maybe you'd like to check how much memory your process is
using on one of the compute nodes, etc. There are two utilities
available to help you do these things.
Running Single Processor Jobs using "bpsubmit"
On our cluster, we have a program titled "bpsubmit" which can be used
to submit a job to an individual node. Since the Master Node is
reserved for compilation, and the more "general use" items (like "vi"
for coding, etc.) you should never run a program on that particular
machine. Instead, you should use the "bpsubmit" program.
The
program was written at Carleton as a way to poll the compute nodes that
are running, finding out which are the least "busy" (in terms of
numbers
of processes) and then submitting the job to the least busy node (or
randomly selecting a node if a group of nodes tie for "least busy") for
execution.
In the spirit of Open Source, I have provided the source (click here). It is provided "as-is",
with no warranties, guarantees, etc. There is still much to be
improved on, and when time is available, the code will be improved and
functionality increased.
To use bpsubmit, you must type "bpsubmit path/to/program/executable".
A path to the program must be included (either the full path, or
else "./" or a series of "../"'s. The necessity of path will be
the first thing fixed in the next revision of bpsubmit!)
For example, if the user "Alice" wants to run her program "foo" which
lives in her home directory, she could either:
1. type "cd /home/Alice", and then type "bpsubmit ./foo"
Or
2. type "bpsubmit
/home/Alice/foo" from any directory
She would then receive a message telling her which node her program was
actually moved to. Use of the standard UNIX pipes is supported
(although not extensively tested).
In general, users on the Carleton cluster should use "bpsubmit" to run
single-processor jobs in order to ensure that programs are not fighting
over system resources on one cluster node, when another is less
utilized.
Interacting with Individual Compute Nodes
Another way to execute individual commands on the compute nodes is the
"bpsh" utility. In general, you will not need to use "bsph",
however there are a small set of circumstances when interacting
directly
with the compute nodes is helpful. An example of when "bpsh" is
useful would be to check memory utilization on compute nodes on a
per-process basis. In the BProc system, all the processes on all
the nodes will show up when you type "ps -aux" on the Master Node.
However, the Master will not have all the available statistics
that are typically reported by "ps" (for example, memory utilization).
"bpsh" can be used in the following manner:
bpsh ## command
(where ## is the node number you wish to interact with, and command is
the desired command, for example "ps -aux")
For more extensive documentation, read the man page for bpsh and the
man page for bproc.
|