The most recent version of this page is a draft.DiffThis version is outdated by a newer approved version.DiffThis version (2021/09/11 08:02) is a draft.
Approvals: 0/1

This is an old revision of the document!


Queue | Partition setup on VSC-3+

On VSC-3+, the type of hardware and the quality of service (QOS) where the jobs run on may be selected. Nodes of the same type of hardware are grouped to partitions, the QOS defines the maximum run time of a job and the number and type of allocable nodes.

Three different types of compute nodes, nodes with 64 GB and 256 GB, GPU nodes and bioinformatics nodes (very high memory) are available.

On VSC-3+, the hardware is grouped into so-called ➠ partitions:

partition name description
vsc3plus_0064 default, nodes with 64 GB of memory
vsc3plus_0256 nodes with 256 GB of memory
gpu_xxxx GPU nodes, partition depending on GPU type
binf Bioinformatics nodes
jupyter reserved for the JupyterHub

Access to node partitions is granted by the so-called ➠ quality of service (QOS). The QOSs constrain the number of allocatable nodes and limit job wall time. The naming scheme of the QOSs is: <project_type>_<memoryConfig>

The QOSs that are assigned to a specific user can be viewed with:

sacctmgr show user `id -u` withassoc format=user,defaultaccount,account,qos%40s,defaultqos%20s

Have a look on the available QOSs on VSC-3.

The QOS's hard run time limits
normal_0064 / normal_0128 / normal_0256 72h (3 days)
idle_0064 / idle_0128 / idle_0256 24h (1 day)
private queues p….._0… 240h (10 days)
devel queue (up to 10 nodes available) 10min

The QOS's run time limits can also be requested via the command

sacctmgr show qos  format=name%20s,priority,grpnodes,maxwall,description%40s

SLURM allows for setting a run time limit below the default QOS's run time limit. After the specified time is elapsed, the job is killed:

#SBATCH --time=<time> 

Acceptable time formats include “minutes”, “minutes:seconds”, “hours:minutes:seconds”, “days-hours”, “days-hours:minutes” and “days-hours:minutes:seconds”.

Furthermore, it is possible to set a minimum time limit on the job allocation. When jobs with different demands of resources are scheduled, it is most likely that not all nodes can be filled. Imagine a job requesting more resources than are currently free and, thus, cannot start. Since it has the highest priority, all other jobs would need to wait. Backfilling means the process to fill up those idle nodes with jobs fitting the unused time gap. This permits the time limited job to be scheduled earlier than jobs with higher piority. It is highly encouraged to guess this minimum time where possible because it also contributes to a better cluster usage:

#SBATCH --time-min=<time>

For submitting jobs, three parameters are important:

#SBATCH --partition=mem_xxxx
#SBATCH --qos=xxxxx_xxxx
#SBATCH --account=xxxxxx

The core hours will be charged to the specified account. If not specified, the default account (sacctmgr show user `id -u` withassoc format=defaultaccount) will be used.

ordinary projects

For ordinary projects the QOSs are:

QOS name gives access to partition description
normal_0064 mem_0064 default
normal_0128 mem_0128
normal_0256 mem_0256
devel_0128 mem_0128for development purposes only 10 min & 10 nodes
examples
#SBATCH --partition=mem_0128
#SBATCH --qos=normal_0128      
#SBATCH --account=p7xxxx   
#SBATCH --partition=mem_0128
#SBATCH --qos=devel_0128
#SBATCH --account=p7xxxx
  • Note that partition, qos, and account have to fit together.
  • If the account is not given, the default account (sacctmgr show user `id -u` withassoc format=defaultaccount) will be used.
  • If partition and qos are not given, default values are mem_0064 and normal_0064.

private nodes projects

example
#SBATCH --partition=mem_xxxx
#SBATCH --qos=p7xxx_xxxx
#SBATCH --account=p7xxxx 
  • doku/vsc3_queue.1631347362.txt.gz
  • Last modified: 2021/09/11 08:02
  • by goldenberg