===== 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 priority=1
Restore multifactor:
* hold job
* release job
===== cgroups plugin =====
* limit number of cores and/or memory