By default, “fairshare” refers to a scheduling policy that aims to provide a fair distribution of computing resources among different users and groups on a high-performance computing (HPC) cluster. The fairshare policy ensures that all users receive a proportional share of the cluster’s resources based on their historical usage and priorities, regardless of the size of their jobs or when they submit them.
The fairshare mechanism in SLURM is implemented through the use of “fairshare trees.” Fairshare trees are hierarchical structures that represent users and groups in a cluster. Each user and group is assigned a “fairshare value” that reflects their historical resource consumption. The fairshare value is calculated based on the resources used by the user or group over a defined period.
The fairshare values are then used to adjust the priority of jobs submitted by different users or groups. Jobs from users or groups with a higher fairshare value will have a higher priority in the scheduling process, giving them a greater chance of being allocated resources.
The fairshare policy is beneficial in multi-user environments where there is competition for computing resources. By providing a fair distribution of resources based on past usage, the policy encourages efficient resource utilization and discourages resource monopolization.
It’s important to note that fairshare policies are often customizable to meet the specific requirements of an HPC environment. Administrators can adjust the fairshare tree structure, set different weightings for users and groups, and modify the historical accounting period to influence the fairshare values and scheduling priorities.
Overall, the fairshare mechanism in SLURM helps maintain a balanced workload and equitable access to resources, fostering a collaborative and productive HPC environment for all users.