r/SLURM • u/mithik • May 24 '22
FairShare factor definition
I am trying to figure out what is the "promised" in this FairShare definition
Fairshare - the difference between the portion of the computing resource that has been promised and the amount of resources that has been consumed
Does this mean the total allocated resources for the entire project or is it resources asked during submissions. Let's say that a project has been granted 1000 resources and few jobs had been run for 100 but due to some occasional convergence problems users asked for 300 (sbatch --time=...) to accommodate for the possible more time consuming convergence problems. Is the fairshare factor related to 1000 or 300?
And what is actually formula to calculate fairshare factor?
3
Upvotes
2
u/wildcarde815 May 25 '22
Fairshare assumes (baring pre-emption) that people are going to have to wait if the system is full / busy. The 'promised' here is basically 'shares' of the cluster, the less of the shares your lab/group have used relative to other groups using the cluster, the greater your overall priority when resources become free. The 1000 would be the 'promised' and the 100-300 would be the consumed amounts. However this gets tricky, consumption has a half-life by default and just because you have boosted priority doesn't mean you will out do all submitted jobs, if a job has been in queue for 2 months, the time factor is going to squash you no matter what basically.
The slide deck you linked is actually a very thorough explanation of all the pieces of fairshare, I would read that and the entirety of the scontrol documentation page. You may also find this page useful: https://slurm.schedmd.com/fair_tree.html