A cluster queue is a resource that can handle and execute user jobs. Depending on the job's demands, the job will be executed on a given queue or another. Every queue has its own limits, behavior and default values. Currently, Snow cluster has six different queues shown on the following table:
All queues are defined with some common parameters. Unless specified otherwise, these parameters are inherited by all the jobs that run on these queues. This imposes limits, for example, on time or consumed resources for the jobs that run inside a given queue. Let's see, for example, the configuration of the queue short.q:
ijimenez@login:~$ qconf -sq short.q
pe_list make smp ompi matlab
[ ... ]
[ ... ]
The parameters s_rt, h_rt, s_cpu and h_cpu force all the jobs submitted to this queue to have the corresponding limits.
When a given user registers a job on the scheduler, limits are applied. If the job's requeriments are higher than the available resources, the job will wait on the queue until the resources get free. But if the job's requeriments are higher than the limits, the job cannot be registered. The limits are setup at three different levels: user, research group and queue.
Cluster limits are defined as resource quotas, and are explained in the next tables:
Table 1. short.q limits
Table 2. default.q limits
Table 3. interactive.q limits
This behavior is modeled as a resource as shown below: