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

rfc20: add optional attributes key under scheduling #248

Merged
merged 1 commit into from
Jun 9, 2020

Conversation

dongahn
Copy link
Member

@dongahn dongahn commented Jun 5, 2020

Problem: rfc20 is current written:

"The scheduling key allows RFC4-compliant schedulers
to serialize any subset of graph resource data into
its value and later deserialize this value
with no data loss. The scheduling key contains
a dictionary with a single key: graph.
Other keys are reserved for future extensions."

As such, we can't add addition keys under the
scheduling key.

As part of resource restruction work within fluxion,
we need to embed the queue name into RV1 so that
when fluxion qmanager is reloaded, it can
enqueue each currently running jobs into
the correct queue.

W/ this proposal, we can stick the queue name
to scheduling.attributes.system.queue.

@dongahn dongahn force-pushed the rfc20-queue branch 2 times, most recently from e667df2 to d0d9e4b Compare June 6, 2020 18:52
@dongahn
Copy link
Member Author

dongahn commented Jun 6, 2020

Made changes per Issue #240

@dongahn dongahn requested a review from grondo June 6, 2020 18:52
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.

Looks fine to me, just a couple typos. Setting approval since otherwise I have no objections.

spec_20.rst Outdated Show resolved Hide resolved
Copy link
Member

@SteVwonder SteVwonder left a comment

Choose a reason for hiding this comment

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

Other than one minor change, LGTM!

spec_20.rst Outdated
@@ -100,12 +100,16 @@ Resource Set Format Definition
The JSON documents that conform to the *R* format SHALL be referred
to as *R* JSON documents or in short *R* documents.
An *R* JSON document SHALL consist of a dictionary with three
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
An *R* JSON document SHALL consist of a dictionary with three
An *R* JSON document SHALL consist of a dictionary with four

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah... good catch. Just forced a push.

Problem: there is currently no way for a scheduler
to emit opaque information specific to the scheduler itself.
For example, as part of resource restruction work within Fluxion,
a need arose to emit the queue name into RV1 so that
when a multi-queue-capable Fluxion module is reloaded,
each currently running job can be enqueued into
the corresponding queue.

Introduce the "attributes" at the top level which
can have the "system" key to contain system
specific information pertaining to the
creation of this R document.
W/ this change, Fluxion can now stick the queue name
to "attributes.system.scheduler" and fetch this
back to reconstruct its reconstruction correctly.
Copy link
Member

@SteVwonder SteVwonder left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks @dongahn!

I'm setting the MWP label now.

@mergify mergify bot merged commit bc3e5f7 into flux-framework:master Jun 9, 2020
@dongahn
Copy link
Member Author

dongahn commented Jun 9, 2020

Thanks @SteVwonder and @grondo!

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.

3 participants