This version (2024/10/24 10:28) is a draft.
Approvals: 0/1
Approvals: 0/1
multifactor priority plugin
basic setup
PriorityParameters = (null) PriorityDecayHalfLife = 14-00:00:00 PriorityCalcPeriod = 00:05:00 PriorityFavorSmall = No PriorityFlags = FAIR_TREE PriorityMaxAge = 14-00:00:00 PriorityUsageResetPeriod = NONE PriorityType = priority/multifactor PriorityWeightAge = 1000 PriorityWeightFairShare = 1000 PriorityWeightJobSize = 1000 PriorityWeightPartition = 1000 PriorityWeightQOS = 1000 PriorityWeightTRES = (null)
scontrol show config |grep -i prio
FAIR_TREE
- takes into account all siblings on the same level.
- better balancing within one account, i.e. users of one account still get a high priority even if their usage is larger than their colleague users within the same account
sshare
- shows the shares and usages of accounts and users
- only if multifactor/priority plugin is enabled
- reset the usage for an account:
sacctmgr modify account vsctest set RawUsage=0
- RawShares: This is the set value when creating the account
- RawUsage: Usage of the account user; suspected to the PriorityDecayHalfLife
- Effctv Usage: normalized usage + siblings taken into account
- FairShare: Factor actually used for calculating the new priority
priority calculation
- priority from plugin:
PRIORITY_MF = AGE + FAIRSHARE + JOBSIZE + PARTITION + QOS + TRES
- only contributions if weight in slurm.conf > 0
- total priority:
PRIORITY = PRIORITY_MF - NICE
nice
- lower negative values means higher priority
- range is +/- 2147483645.
- only privileged users can specify a negative adjustment.
sprio
Only for pending jobs:
sprio -l
Set priority explicitly (overrides nice and multifactor):
scontrol update job <job_id> priority=1
Restore multifactor:
- hold job
- release job
cgroups plugin
- limit number of cores and/or memory