Software Tools Using PBS
Software tools Portland compilers pgf77 pgf90 pghpf pgcc pgCC Portland debugger GNU compilers g77 gcc Intel ifort icc
…software tools MPICH MPI compilers mpicc mpiCC mpif77 Mpif90 mpirun Your favorite text editor PBS
Using PBS PBS an open source job scheduler* and queue manager
PBS – Portable Batch System Others Torque Sun Grid Engine Platform LSF IBM Load Leveler PBS/Torque widely used
PBS openPBS – open source version PBSpro – commercial version
qsub [options] script Submits jobs to a queue (execution) Job specifications in the file script More on pbs scripts later Pbs will queue, schedule and launch job specified in the command/script qsub returns jobid - jobnumber.servername (9999.master)
qsub – common options -q queuename -- submit to the queue queuename -q -N name -- give the job the name name -N mybigjob1 -I – run the job in interactive mode rather than batch
qsub – common options -o path -- location of pbs output, defaults to ~owner -e path -- location of pbs error file, defaults to ~owner -a datetime --places job in a wait state until datetime datetime is [[[[CC]YY]MM]DD]hhmm[.SS] -- run a job on/after 5:00 pm on Feb. 14 -a
qsub – common options -m [a,b,e] a --mail is sent when the job is aborted by the batch system*. b --mail is sent when the job begins execution. e --mail is sent when the job terminates.
qsub – common options -M useraddress - defines mail addresses for (see –m) -M -S path define the location of the shell to interpret the script -S /bin/csh
qsub – common options -l job resource list (important) nodes=n ppn=m -l nodes=2:ppn=2
qstat - get status of jobs/queues qstat –a – get status report in alternative format
qstat –a – states E - Job is exiting after having run. H - Job is held. Q - job is queued, eligible to run or routed. R - job is running. T - job is being moved to new location. (not here) W - job is waiting for its execution time (qsub -a option) to be reached.
qstat – other options qstat –an -- lists jobs in queue/running. For running jobs shows nodes/processors assigned to the job.
qstat – options qstat –q -- list all queues and that status
qdel – deleting a job from the queue qdel jobid jobid is sequence_number[.server_name] for example – qdel 9999.master or qdel 9999
other PBS commands qhold jobid -- places job jobid on hold qrls jobid -- moves job jobid from hold to queued or executing status qalter jobid – modifies attributes of the job jobid specified in qsub after it is submitted ** not all attributes may be modified
other PBS commands qmove dest jobid -- moves job jobid from current queue to the queue dest for example – qmove short 9999
PBS qsub scripts Standard (almost) shell in whatever shell is supported on the system. Must include the line – mpirun myprog may include other statements/directives – like…
PBS qsub scripts – cont. a simple script – demtest.sh #!/bin/sh #PBS -N dem #PBS -q parallel #PBS -l nodes=2:ppn=2 mpirun -np 4 -machinefile $PBS_NODEFILE hello cat $PBS_NODEFILE
PBS scripts cont… then – qsub demtest.sh
PBS scripts cont… and your get dem.o Hello world! I'm node 1 Hello world! I'm node 2 Hello world! I'm node 3 Hello world! I'm node 0 node7 node6
Xpbs
For more information on PBS commands- System man pages “man qstat” bs/sld001.htm