Reputation: 310
We are using SLURM to queue jobs on a shared computer, how do I go about limiting a job's thread utilisation by the number of threads requested? At the moment it's taken on honesty and users have been abusing this to jump the queue.
Upvotes: 2
Views: 2476
Reputation: 59072
You need to specify a TaskPlugin in your slurm.conf
. By default, it has value task/none
, which means no constraint.
If you set it to task/affinity
, Slurm will use CPUSETS to constrain the processes and threads to the CPUs that are allocated for the job.
If you set it to task/cgroup
, Slurm will use cgroups for that purpose. This option is much more flexible than the CPUSET option (it can put limits on virtually anything) but it requires more work to configure. See the documentation.
Upvotes: 2