Skip to content

Getting Information on the Queues

You can get an up-to-date summary of the nodes, queues and jobs by visiting the HPC Status page. You may wish to obtain more detailed information though for use in your job scripts. You can do this by using the qstat command.

Obtaining Information on the Queues Available

To obtain a detailed list of the queues and their limits use qstat.

There are a few different job queues on the HPC, smallq and workq are two examples, and they have different resource limitations. To obtain a list of all the queues run the command below. In this example you can see there are 28 jobs running in the smallq queue, 10 jobs in the medium queue and 5 jobs running in the workq. Also in the workq there are 3 jobs queued and waiting to run when there is CPU and memory available for those jobs.

$ qstat -Q

Queue        Max   Tot Ena Str   Que   Run   Hld   Wat   Trn   Ext Type
---------- ----- ----- --- --- ----- ----- ----- ----- ----- ----- ----
smallq         0    28 yes yes     0    28     0     0     0     0 Exec
medq           0     0 yes yes     0    10     0     0     0     0 Exec
workq          0     8 yes yes     3     5     0     0     0     0 Exec
expressq       0     0 yes yes     0     0     0     0     0     0 Exec
$

To obtain full information on the smallq for example use the command below. This is the best way to obtain up-to-date information on the queues available as we may modify queue maximum limits to manage the resources.

$ qstat -Qf smallq

Queue: smallq
queue_type = Execution
total_jobs = 28
state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:28 Exiting:0 Begun:0 
resources_max.mem = 32gb ⇐ The most memory you can request 
resources_max.ncpus = 2 ⇐ The most CPUs you can request 
resources_max.walltime = 200:00:00
resources_default.walltime = 12:00:00
resources_assigned.mem = 101711872kb
resources_assigned.ncpus = 56
resources_assigned.nodect = 28

To obtain full information on all the queues including their maximum cpus, memory and wall times run the command below.

$ qstat -Qf

Normal Queues

You can see that queues such as the smallq, medq and workq are for jobs that range in size from small to large. Jobs in the smallq can be scheduled to run in the free resources still available on the nodes even when larger jobs have been fitted in. Small jobs will also be prioritised if they have been waiting for a while.

You do not need to specify these queues in your job submission script. The scheduler will look at the number of CPUs, memory and wall time that you have requested and route your job to an appropriate queue automatically.

Special Queues

In addition to these normal queues there are some special queues. Some of these queues have restricted access, either all of the time or some of the time.

  • expressq – This is a high priority queue that a user can be given access to if they have a demonstrated need to have important jobs run sooner.
  • gpuq – This provides access to the GPU nodes. We usually limit access to these nodes to users that actually use the GPU rather than normal jobs that just use the CPUs.

To use these queues you would need to specify the queue in your job submission script. Contact us if you think you may need to use these queues.

Private Queues

There are also “private” queues which are restricted to specific users and which usually route jobs to specific private nodes. As an example, the “ciq” provides access to the private node(s) owned by the Centre for Inflammation. It is restricted to CI users.

To use these queues you would need to specify the queue in your job submission script. Contact us if you need to use these queues.