Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Change Control: Public/Stable
  • Summary: The job_sort_formula keyword fair_share_perc is deprecated and replaced with fairshare_perc
  • Details:
    • The renaming is being done to be better aligned with the new fairshare keyword and other fairshare keywords in the sched_config file

Interface 3: Changes to pbsfs

  • Change Control: Public/Stable
  • Summary: pbsfs will now print the arbitrary usage in its default output and with the -g option
  • Details:
    • An extra column is printed in the default pbsfs output for the arbitrary usage
    • When using pbsfs -g, the arbitrary usage is printed


How fairshare works:

Fairshare is a tree.  There are fairshare groups and entities (e.g., users).  A job belongs to one entity.  Each fairshare group has children which can be either another fairshare group or an entity.  All entities don't have to be at the same level.  For example, root can have 3 children which are two groups and one entity.  The two groups will have entities within them.  Each group or entity has a number of shares assigned to them.  This is a relative percentage between the siblings of that group.  Each entity has a fairshare target (fairshare_perc).  The relative percentage between siblings times the parent's target is the entity/group's target.  The shares are turned into a fairshare target which is a percentage number between 0 and 1.  If you add up all the targets of all of the entities, you will reach 100%.

...

Even though Suzy had a higher fairshare_perc than Bob and less usage than Bob, her fairshare formula value is quite a bit lower than his.  This is due to the huge amount of usage her group mate used


pbsfs examples:

Note: Suzy's arbitrary usage is slightly off because the scheduler gives everyone 1 usage by default.  It does this to avoid dividing by 0

Code Block
titleDefault pbsfs example
# ./pbsfs
Fairshare usage units are in: cput
Fairshare usage units are in: cput
TREEROOT  : Grp: -1     cgrp: 0    Shares: -1     Usage: 1201   Arb Usage: 0.000 Perc: 100.000%
group2    : Grp: 0      cgrp: 11   Shares: 60     Usage: 1001   Arb Usage: 0.833 Perc: 60.000%
scott     : Grp: 11     cgrp: 15   Shares: 40     Usage: 1000   Arb Usage: 0.833 Perc: 24.000%
suzy      : Grp: 11     cgrp: 14   Shares: 60     Usage: 1      Arb Usage: 0.500 Perc: 36.000%
group1    : Grp: 0      cgrp: 10   Shares: 40     Usage: 201    Arb Usage: 0.167 Perc: 40.000%
cathy     : Grp: 10     cgrp: 13   Shares: 50     Usage: 100    Arb Usage: 0.125 Perc: 20.000%
bob       : Grp: 10     cgrp: 12   Shares: 50     Usage: 100    Arb Usage: 0.125 Perc: 20.000%
unknown   : Grp: 0      cgrp: 1    Shares: 0      Usage: 0      Arb Usage: 0.000 Perc:  0.000%




Credit: The math for the arbitrary usage calculation and the fairshare formula example came from the SLURM fairshare documentation.