-
Notifications
You must be signed in to change notification settings - Fork 0
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
Add Slurm API logic #50
Comments
To give us an idea of what functions we'll need, the table below provides a set of functionality that the bank uses to interact with SLURM, and the corresponding command line tools/syntax we've been wrapping to accomplish that:
I haven't spent a significant amount of time looking at the API specification yet to verify how much of these are already available to us in that format. Some questions/comments that came up while I was looking into this:
We may need to get the full user list associated with a SLURM allocation separately like the above, and attribute usage only to the users who actually have it in a "usage per user" overview of the allocations in keystone.
|
Slides from the most recent SLURM User Group meeting talk on the state of the REST API: https://slurm.schedmd.com/SLUG23/REST-API-SLUG23.pdf |
We could just use sacctmgr show to display the information instead of sreport? |
The A possible workaround to use the API to gather info equivalent to
I believe we'd have to sum the billing number here to get usage in TRES hours since the start of the proposal (although this could include cancelled jobs, I haven't verified against the sreport output yet), and them sum across users to get the cluster total for the group. The ideal would be SchedMD incorporating the rollup stats into the API, we'd simply display the Used column, and sum them to the cluster total.
|
|
If we use trackable resource limits to enforce account usage limits, the following equation will give the new resource limit when a proposal expires: new_limit = old_limit - min(0, proposal_sus + historical_usage + initial_usage - total_usage) Where:
|
|
Looks like the Slurm API isn't mature enough for our needs yet. See #140 for a temporary workaround. Moving this to backlog until the API is further along. |
There are placeholder functions in the
allocations/tasks.py
module for interfacing with Slurm, but the underlying logic is still missing.The text was updated successfully, but these errors were encountered: