On 1/4/24 02:41, Kamil Wilczek wrote:


W dniu 4.01.2024 o 07:56, Loris Bennett pisze:
Hi Kamil,

Kamil Wilczek <km...@mimuw.edu.pl> writes:

Dear All,

I have a question regarding the fair-share factor of the multifactor
priority algorithm. My current understanding is that the fair-share
makes sure that different *accounts* have a fair share of the
computational power.

But what if my organisation structure is flat and I have only one
account where all my user reside. Is fair-share algorithm working
in this situation -- does it take into account users (associations)
from this single account, and tries to assing a fair-factor to each
user? Or each user from this account have the same fair-factor at
each iteration?

And what if I have, say 3 accounts, but I do not wan't to calculate
fair-share between accounts, but between all associations from all
3 accounts? In other words, is there a fair-share factor for
users/associations instead of accounts?

Kind regards

We have a similar situation.  We do in fact have an account for each
research group and the groups are associated with institutes and
departments, but we use FairShare=parent so that all users are given the
same number of shares and thus treated equally by the fair-share
mechanism.


Hi Loris,

but is the "FairShare=parent" still works for the Fair Tree, which is
the default algorithm since 19.05? I can find this option only for the
Classic Fair Share.

And I'm trying to differentiate between users, so that they are not
treated equally by the algorithm. Heavy users should have a lower
factor.

I think I could create an account for each user, but is that a common
practice and not an overkill?

I'm also trying to understand the Fair Tree, because there is a section
when it says that users can have different factors if their common
ancestor accounts have different factors. But what if they have only one
single common ancestor? Would then association/users still be sorted by
the fair-factor?

Kind regards,

Kamil,

fairshare=parent works for all algorithms, last I knew.  It definitely works for Fair Tree.  See https://slurm.schedmd.com/SUG14/fair_tree.pdf starting at page 80 for examples of usage.  In page 84, the blue associations all have fairshare=parent set, so to fairshare it calculates it as if it looks like page 85.  The example on pages 86-91 actually describe what's going on.

Yes, Fair Tree considers sibling users/accounts even underneath another account.  The algorithm is recursive and calculates fairshare amongst sibling users/accounts within each account. "sshare -l" will show you these calculations under "Level FS" within an account (keeping in mind that fairshare=parent will affect what looks like an account to Fair Tree).  The presentation I linked to has a lot more details.  https://slurm.schedmd.com/fair_tree.html is more succinct.

Another way to think about this is that you are only looking at one subtree's children at a time.  When one association wins, any of its children also win compared to any other associations.  The algorithm recurses into that association (if there are children) to then determine which of those children win compared to others.  So whether you have a flat structure or not, it compares siblings within an account.  If you have 100 users directly parented by root (or 100 users underneath accounts with fairshare=parent all the way up to root), those 100 users will compete for fairshare like you want.

Ryan

Reply via email to