Accounts and QoS

Accounts

In SLURM, an account is the unit of measure for billing and resource constraints. In order to run on a cluster, users must be associated with an account.

Quality of Service

ARC Clusters use SLURM’s Quality of Service (QoS) feature to dynamically set resource limits for users and accounts.

Checking Account and QoS Info

In order to run jobs, users need be associated with an account and QoS. Users can view their associations like so:

$ sacctmgr show association where user=$(whoami)

This output includes many helpful fields but can also be overwhelming as well as can truncate some longer values. Let’s only specify the fields we’re interested in.

sacctmgr show association where user=$(whoami) format=user,account,qos

This may still truncate some values, to fix this, we either increase the column width by appending %width or pass the -P,--parsable2 flag to avoid truncation altogether.

sacctmgr show association where user=$(whoami) -P

This output is complete, but is pipe-delimited and hard to read. We can use some other tools to make this more readable:

sacctmgr show association where user=$(whoami) format=user,account,qos -P | column -ts\|

Specifying Accounts

Users MUST specify which account to run against for each job, this fosters a conscious decision to charge against a particular project or group.

Interactively

For interactive jobs, (jobs run with srun, salloc) use the --account,-a flag.

e.g.
salloc --account your_account --time 00:00:30

Run-Scripts

For batch job submissions, pass the same directive after an #SBATCH line.

example_submission.sh
#!/usr/bin/env bash

#SBATCH --account your_account
#SBATCH --time 00:00:30
...

Specifying QoS

Most of the time, clusters/accounts/users have a default QoS. Users can also specify a QoS to be explicit or to specify a non-default.

Interactively

For interactive jobs, (jobs run with srun, salloc) use the --qos,-q flag.

e.g.
salloc --account your_account --time 00:00:30 --qos normal

Run-Scripts

For batch job submissions, pass the same directive after an #SBATCH line.

example_submission.sh
#!/usr/bin/env bash

#SBATCH --account your_account
#SBATCH --time 00:00:30
#SBATCH --qos normal
...