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.
salloc --account your_account --time 00:00:30
Run-Scripts¶
For batch job submissions, pass the same directive after an #SBATCH line.
#!/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.
salloc --account your_account --time 00:00:30 --qos normal
Run-Scripts¶
For batch job submissions, pass the same directive after an #SBATCH line.
#!/usr/bin/env bash
#SBATCH --account your_account
#SBATCH --time 00:00:30
#SBATCH --qos normal
...