Submitting jobs to HPC systems
Selecting queue classes
Learning Objectives
- Learn what queue classes are
- Learn how to specify queue classes when submitting jobs
- Learn how to specify resources such as nodes and processors
What are queue classes
You can see the list of all queues on a cluster using the qstat
command.
$ qstat -q
server: srih0001.hpc.wvu.edu
Queue Memory CPU Time Walltime Node Run Que Lm State
---------------- ------ -------- -------- ---- --- --- -- -----
tdmusho -- -- -- -- 1 2 -- E R
zbetienne -- -- -- -- 1 16 -- E R
spdifazio -- -- -- -- 0 0 -- E R
comm_mmem_week -- -- 168:00:0 -- 165 31 -- E R
aelynam -- -- -- -- 0 0 -- E R
genomics_core -- -- -- -- 0 0 -- E R
standby -- -- 04:00:00 -- 47 46 -- E R
stmcwilliams -- -- -- -- 0 0 -- E R
bjanderson -- -- -- -- 0 0 -- D S
dsmebane -- -- -- -- 7 0 -- E R
comm_256g_mem -- -- 168:00:0 -- 0 1 -- E R
jplewis_large -- -- -- -- 16 18 -- E R
comm_mmem_day -- -- 24:00:00 -- 8 5 -- E R
lmshare -- -- -- -- 0 0 -- E R
bvpopp -- -- -- -- 0 0 -- E R
gspirou -- -- -- -- 0 0 -- E R
debug -- -- 01:00:00 -- 0 0 -- E R
galaxy -- -- -- -- 0 0 -- E R
hadoop -- -- -- -- 0 0 -- D S
vyakkerman -- -- -- -- 1 0 -- E R
jbmertz -- -- -- -- 6 11 -- E R
comm_gpu -- -- 168:00:0 -- 0 0 -- E R
ahismail -- -- -- -- 0 0 -- E R
jshawkins -- -- -- -- 0 0 -- E R
jbmertz_gpu -- -- -- -- 8 0 -- E R
dllong -- -- -- -- 0 0 -- E R
gipiras -- -- -- -- 0 0 -- E R
batch -- -- 04:00:00 -- 0 0 -- D S
comm_smp -- -- 168:00:0 -- 0 0 -- E R
comm_large_mem -- -- 168:00:0 -- 0 0 -- E R
mmshare -- -- -- -- 0 0 -- E R
mcwilliams_gpu -- -- -- -- 0 0 -- E R
jaspeir -- -- -- -- 0 0 -- E R
jplewis -- -- -- -- 8 193 -- E R
testqueue -- -- -- -- 0 0 -- E S
alromero -- -- -- -- 5 0 -- E R
training -- -- -- -- 0 0 -- E R
----- -----
273 323
Specifying queue classes when submitting jobs
Submit a job to the standby
queue
$ qsub -q standby submit-stats.sh
This automatically sets a default walltime.
Specifying compute type resources
Compute type resources include the number of nodes, processors and/or memory.
Sometimes you will assume the default of all of these (1 node, 1 processor, 4GB of RAM), other times you will need to specify a certain number of resources to match your workflow. This is done with the -l
option.
Request two nodes
$ qsub -l nodes=2 submit-stats.sh
Request 5 processors
$ qsub -l procs=5 submit-stats.sh
Request 3 nodes, 2 processors on each node (6 total processors)
$ qsub -l nodes=3:ppn=2 submit-stats.sh
Request 15GB of RAM
$ qsub -l pvmem=15gb submit-stats.sh
Request 3 nodes, 5 processors a node (15 total), with 11gb of RAM per processor
$ qsub -l nodes=3:ppn=5,pvmem=11gb submit-stats.sh