| Summary: | Slurm Fairschare Configuration | ||
|---|---|---|---|
| Product: | Slurm | Reporter: | Marcus Boden <mboden> |
| Component: | Configuration | Assignee: | Scott Hilton <scott> |
| Status: | RESOLVED INFOGIVEN | QA Contact: | |
| Severity: | 4 - Minor Issue | ||
| Priority: | --- | CC: | ben |
| Version: | 20.02.5 | ||
| Hardware: | Linux | ||
| OS: | Linux | ||
| Site: | GWDG | Alineos Sites: | --- |
| Atos/Eviden Sites: | --- | Confidential Site: | --- |
| Coreweave sites: | --- | Cray Sites: | --- |
| DS9 clusters: | --- | HPCnow Sites: | --- |
| HPE Sites: | --- | IBM Sites: | --- |
| NOAA SIte: | --- | OCF Sites: | --- |
| Recursion Pharma Sites: | --- | SFW Sites: | --- |
| SNIC sites: | --- | Linux Distro: | --- |
| Machine Name: | CLE Version: | ||
| Version Fixed: | Target Release: | --- | |
| DevPrio: | --- | Emory-Cloud Sites: | --- |
|
Description
Marcus Boden
2020-11-03 08:13:29 MST
Marcus, There are two fairshare algorithms: The fair tree algorithm and the classic. The classic algorithm is only active if you have PriorityFlags=NO_FAIR_TREE in you slurm.conf. I will assume you are using the current default algorithm which is fair tree. For the fair tree, fair share is calculated recursively on each account level. Shares only matter in the ratio between sibling accounts. (https://slurm.schedmd.com/fair_tree.html) For the department to have 5% of the shares you could do something like this: >sacctmgr show assoc tree format=cluster,account,user,share,parentname > Cluster Account User Share Par Name >---------- -------------------- ---------- --------- ---------- > dragon root 1 > dragon all 95 root > dragon all scott 1000 > dragon all marcus 1000 > dragon department 5 root > dragon department scott 1 Since 'all' and 'department' are on the same level their shares interact. Since the children of 'all' each have 1000 shares %50 of whatever is allotted to 'all'. User scott would have two accounts to think about. He would have to decide which account to use for any given job. Sadly, there isn't a way to automatically draw from the ideal account. A user could run sshare to see which account has more fairshare at any time before running a job. If you don't want your users to have to think about which accout to use based on fairshare, you could remove the 'all' account and split it among departments directly: >sacctmgr show assoc tree format=cluster,account,user,share,parentname > Cluster Account User Share Par Name >---------- -------------------- ---------- --------- ---------- > dragon root 1 > dragon math 100 root > dragon math tom 2 > dragon math bob 1 > dragon engineering 110 root > dragon engineering scott 9534 > dragon physics 100 root > dragon physics marcus 1 In this example, Engineering might deserve more and so gets 110 shares out of 310. Tom and Bob each use the the math department but Tom might get more shares in that department. Scott and Marcus each have %100 in their department. Do you have any questions or concerns? Anything I should explain more? -Scott If you have any follow up questions feel free to reopen this ticket. -Scott |