The fair-share component of the job priority is calculated differently. The goal is to make sure that the priority strictly follows the account hierarchy, so that jobs under accounts with usage lower than their fair share will always have a higher priority than jobs belonging to accounts which are over their fair share.

The algorithm is based on ticket scheduling, where at the root of the account hierarchy one starts with a number of tickets, which are then distributed per the fairshare policy to the child accounts and users. Then, the job whose user has the highest number of tickets is assigned the fairshare priority of 1.0, and the other pending jobs are assigned priorities according to how many tickets their users have compared to the highest priority job.

In Hive, groups that buy more resources get more fairshare tickets assigned per group and will have a priority on the other jobs that was submitted to the queue by groups that bought less resources.

The fairshare factor is not defined only by the fairshare tickets that was assigned to groups by their investments to Hive, the fairshare factor is calculating the history of the group jobs and if one group will submit a lot of jobs and other group will submit less, then the fairshare factor can move the less active group jobs to the top of the job queue.

The fair-share algorithm in SLURM is described at slurm website, please refer to the next link if you are interested in understanding of the fairshare factor 

Below you will find some command examples of how to monitor your fairshare:

Check current fairshare definitions for your group account:


Account User Raw Shares Norm Shares Raw Usage Effectv Usage FairShare -------------------- ---------- ---------- ----------- ----------- ------------- ---------- ACCOUNTNAME 109 0.054801 1579497 0.004294 0.94713

Where Raw Shares is the number of tickets that group received(Depending on how much resources the group bought) and the FairShare number is the number you get after calculation of fairshare factor(refer to to understand how it works).

to be continued....