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