next up previous contents
Next: Compiling Parallel Programs on Up: lab-notes Previous: Parallel Shell   Contents

Using Swarm to run multiple sequential programs

Using the swatm utility, you can run mulitple sequential programs on multiple nodes of the cluster. This helps you improve your throughput.

List the sequential programs that you want to run in one file (one per line). For example, we have the following commands in the file named myjobs

program1; program1
program2
program3

Then submit your jobs with the following command

swarm -f myjobs

which creates PBS jobs and submits them. By default, swarm will run two processes per node (assuming each node is a dual-processor) and create one PBS job per node. So the output from the two commands will show up in the output file corresponding to the PBS job generated by swarm.

If you like to get email when your jobs are done, then use:

swarm -f myjobs -m e

You may want to set up a .forward file on beowulf so that the email notification from PBS gets routed to your favorite mail address.

If your program is I/O or memory intensive, then you may want to tell swarm to only run one process per node. This can be done as follows:

swarm -f myjobs -n 1 -m e

Check the status of your jobs with the following command.

qstat -a

To kill a job, use

qdel <job#>.beowulf

To kill all your jobs, use

qdelall

You should use the above command with caution! For more information about swarm, see the man page:

man swarm


next up previous contents
Next: Compiling Parallel Programs on Up: lab-notes Previous: Parallel Shell   Contents
Amit Jain 2010-09-02