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

job-manager: include R in sched.free request #5783

Merged
merged 1 commit into from
Mar 11, 2024

Conversation

garlick
Copy link
Member

@garlick garlick commented Mar 11, 2024

Problem: R has to be looked up from the KVS in the sched.free request handler, but now that the job manager caches R, this is an unnecessary extra step.

Add R to the sched.free request payload.

Note that the R.scheduling key is not included. The current design of Fluxion in which R.scheduling may contain a voluminous JGF object made caching this part of R impractical.

Change libschedutil so that

  • the sched.free message handler never looks up R in the kvs
  • the free callback always sets its R argument to NULL
  • the SCHEDUTIL_FREE_NOLOOKUP flag is a no-op

Update sched-simple's free callback to unpack R from the message instead of decoding the R arugment.

Note that Fluxion sets SCHEDUTIL_FREE_NOLOOKUP so it already expects the free callback's R argument to be NULL. Although this change increases the size of sched.free payloads with data that Fluxion currently does not use, the ranks in R will be required by Fluxion in the future to identify resource subsets for partial release (flux-framework/flux-sched#1151).

This change should be accompanied by an update to RFC 27.

Update sched-simple unit test.

Fixes #5775

Copy link
Contributor

@grondo grondo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

garlick added a commit to garlick/flux-rfc that referenced this pull request Mar 11, 2024
Problem: flux-framework/flux-core#5783 adds R to the sched.free
request to avoid an extra lookup.

Add R to the sched.free request payload definition in RFC 27.
Problem: R has to be looked up from the KVS in the sched.free
request handler, but now that the job manager caches R, this
is an unnecessary extra step.

Add R to the sched.free request payload.

Note that the `R.scheduling` key is not included.  The current design of
Fluxion in which `R.scheduling` may contain a voluminous JGF object made
caching this part of R impractical.

Change libschedutil so that
- the sched.free message handler never looks up R in the kvs
- the free callback always sets its `R` argument to NULL
- the SCHEDUTIL_FREE_NOLOOKUP flag is a no-op

Update sched-simple's free callback to unpack R from the message
instead of decoding the `R` arugment.

Note that Fluxion sets SCHEDUTIL_FREE_NOLOOKUP so it already expects
the free callback's R argument to be NULL.  Although this change increases
the size of sched.free payloads with data that Fluxion currently does not
use, the ranks in R will be required by Fluxion in the future to identify
resource subsets for partial release (flux-framework/flux-sched#1151).

This change should be accompanied by an update to RFC 27.

Update sched-simple unit test.

Fixes flux-framework#5775
@mergify mergify bot merged commit 3f26e6e into flux-framework:master Mar 11, 2024
33 checks passed
@garlick garlick deleted the issue#5775 branch March 11, 2024 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

job-manager: send job->R_redacted directly to the scheduler in sched.free
2 participants