Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

flux-accounting guide: missing definition(s) for terms #503

Closed
cmoussa1 opened this issue Jan 29, 2024 · 10 comments
Closed

flux-accounting guide: missing definition(s) for terms #503

cmoussa1 opened this issue Jan 29, 2024 · 10 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@cmoussa1
Copy link
Member

Was perusing the flux-accounting guide this morning and noticed at least one definition missing for fair share. This guide should be stepped through and updated with any other terms that would benefit from having its definition written at the bottom of the guide.

@cmoussa1 cmoussa1 added the documentation Improvements or additions to documentation label Jan 29, 2024
@cmoussa1 cmoussa1 self-assigned this Jan 29, 2024
@vsoch
Copy link
Member

vsoch commented Jan 29, 2024

@cmoussa1 this is a really good idea! I was thinking it would be useful and fun to compare the algorithms we use here with what, for example, a tool like Kueue uses. Can you keep me in the loop?

@cmoussa1
Copy link
Member Author

Sure thing! When you refer to algorithm, are you referring to the algorithm that the flux-accounting priority plugin uses to calculate a job's priority?

@vsoch
Copy link
Member

vsoch commented Jan 29, 2024

Yep, I would call "fair share" an algorithm but maybe it's not considered one always? https://en.wikipedia.org/wiki/Fair-share_scheduling

@vsoch
Copy link
Member

vsoch commented Jan 29, 2024

And I'm worried when you say "the algorithm" that's the only one, oh no. 😆

@cmoussa1
Copy link
Member Author

Sorry, maybe I misunderstood you and we are talking about different things! When I refer to fair share as it relates to the flux-accounting priority calculation algorithm, I mean that fair share is one factor of a number of different factors that contribute to how the algorithm calculates priority.

@vsoch
Copy link
Member

vsoch commented Jan 30, 2024

Interesting! I'd want to ask @grondo @garlick - I'm pretty sure fair share was a scheduling algorithm before it was a factor, and the design here just places it at a different level (to be part of a larger decision process). But I'm guessing it's (mostly?) the same fair share.

@garlick
Copy link
Member

garlick commented Jan 30, 2024

In Flux, the priority plugin (in this case provided by flux-accounting) just assigns a priority to each job. The scheduler then takes the priority queue and creates a schedule. So we probably wouldn't call fair share one of our scheduling algorithms. It's just providing input to one.

@vsoch
Copy link
Member

vsoch commented Jan 30, 2024

But is the underlying logic the same?

@garlick
Copy link
Member

garlick commented Jan 30, 2024

Well we're using it for a space shared system as opposed to a time shared one, and it doesn't directly determine the schedule, so that part is not the same. The goal is the same though, to share resources fairly among users or projects as opposed to treating each individual job as an entity that has to be treated fairly.

@vsoch
Copy link
Member

vsoch commented Jan 30, 2024

Gotcha. So I think if we are working on docs here, we can assume many readers will come with some (even minor) knowledge of what fair share is. Either we will let them make assumptions about our derivative and scope, or (what I think might be best) is we call that out, and then very clearly define the two and explain the difference.

@cmoussa1 cmoussa1 transferred this issue from flux-framework/flux-docs Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants