Using pvmloop - 'pvmloop' is a PVM program I wrote to facilitate running batches of processes over a pvm. - see ~kaiser/imcat/pvmloop.html and 'man pvmloop' for more info - it doesn't do anything you couldn't do with rsh and shell script but is more convenient and more efficient - pvmloop works with 'pvmserver' and 'topvm' programs - basic usage: pvmloop n_iterations command_template 1) it starts a number of pvmserver processes on the nodes of the pvm 2) it sends them command strings generated from the command_template 3) pvmservers execute commands with system() command and arranges for stdout and stderr from child processes to be sent back to the master pvmloop process. 4) it kills the pvmserver processes when finished - pvmloop needs a 'pvmslaves.lst' file to tell it 'nnodes' and which nodes to use and associate a string with each server (typically used to identify scratch disks). e.g. 3 01 node01 02 node02 03 node03 - commands generated from command_template by sustituting: %i iteration number e.g. 0,1,2,...11 %I formatted iteration number e.g. 00, 01, 02, .... 11 %n node number %N node string %% % - examples pvmloop 3 'df -k /d%N' # check scratch disk space pvmloop 3 '/usr/ucb/ps -aux | head -5' # check on cpu use pvmloop 12 'rm /d%N/kaiser/tmp/image.%I.fits' # delete some images - allows simulation of cluster on single machine (duplicates in pvmslaves.lst) - works in 'round robin' fashion - sends out batches of nnodes commands - no load balancing - no killing of spawned child processes on abnormal exit