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

rfc43: support hostlist constraint #410

Merged
merged 1 commit into from
Feb 2, 2024

Conversation

chu11
Copy link
Member

@chu11 chu11 commented Jan 16, 2024

Problem: It would be useful to fitler jobs based on the nodes assigned to the job.

Support a "hostlist" constraint to filter jobs by specific hosts.


per flux-framework/flux-core#5656

The idea to make max hostlist input size of instance OR 1024 is there is potential for the size of the cluster to change over time (like EOL and cluster size shrinking). So giving it a minimum of 1024 is to give it atleast an ok minimum no matter what.

@chu11 chu11 force-pushed the rfc43_constraint_hostlist branch from 563f9aa to 1d02aa3 Compare January 16, 2024 07:15
@chu11
Copy link
Member Author

chu11 commented Feb 1, 2024

closing, i believe a "comparison limit" in constraints overall is a better solution

@chu11 chu11 closed this Feb 1, 2024
@chu11
Copy link
Member Author

chu11 commented Feb 1, 2024

oops, i got RFCs / PRs mixed up in my head ... i still need to add the hostlist stuff, re-opening

@chu11 chu11 reopened this Feb 1, 2024
@chu11 chu11 changed the title rfc43: support hostlist constraint WIP rfc43: support hostlist constraint Feb 1, 2024
@chu11 chu11 changed the title WIP rfc43: support hostlist constraint rfc43: support hostlist constraint Feb 1, 2024
spec_43.rst Outdated
@@ -209,6 +209,9 @@ based on the following constraint operators.
``results``
Designate one or more job results (*string* or *integer*) and match jobs with those results. Both bitmasks (including multiple results) and string names of the results SHALL be accepted.

``hostlist``
Designate one or more nodes in RFC 29 Hostlist format (*string*) and match jobs assigned to those nodes. The number of nodes specified in the ``hostlist`` constraint SHALL NOT exceed the size of the instance or 1024, whichever is larger.
Copy link
Contributor

Choose a reason for hiding this comment

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

Instead of specifying a precise limit here, maybe couch this by saying the "job list module MAY limit the number of entries in a hostlist constraint to prevent long constraint match times" or similar.

The 1024 "minimum maximum" makes some sense, but since it doesn't handle instances larger than 1024 that shrink, I'm not sure that specific number should be encoded in RFC. Also, maybe when there's a backend DB there will be more efficient hostlist matching and a limit won't be necessary.

Copy link
Member Author

Choose a reason for hiding this comment

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

The 1024 "minimum maximum" makes some sense, but since it doesn't handle instances larger than 1024 that shrink, I'm not sure that specific number should be encoded in RFC.

Understood. I picked 1024 somewhat randomly as a "reasonable minimum maximum". But agree, we could leave the number out.

@chu11 chu11 force-pushed the rfc43_constraint_hostlist branch from 1d02aa3 to 454c139 Compare February 2, 2024 16:34
@chu11
Copy link
Member Author

chu11 commented Feb 2, 2024

re-pushed, tweaking per comment above

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.

spec_43.rst Outdated
@@ -209,6 +209,9 @@ based on the following constraint operators.
``results``
Designate one or more job results (*string* or *integer*) and match jobs with those results. Both bitmasks (including multiple results) and string names of the results SHALL be accepted.

``hostlist``
Designate one or more nodes in RFC 29 Hostlist format (*string*) and match jobs assigned to those nodes. The job list module MAY limit the number of entries in a hostlist constraint to prevent long constraint match times
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: missing period.

@chu11 chu11 force-pushed the rfc43_constraint_hostlist branch from 454c139 to eb1713f Compare February 2, 2024 16:56
Problem: It would be useful to filter jobs based on the nodes assigned
to the job.

Support a "hostlist" constraint to filter jobs by specific hosts.
@chu11 chu11 force-pushed the rfc43_constraint_hostlist branch from eb1713f to f8c8609 Compare February 2, 2024 20:34
@mergify mergify bot merged commit 1922bac into flux-framework:master Feb 2, 2024
7 checks passed
@chu11 chu11 deleted the rfc43_constraint_hostlist branch February 2, 2024 21:03
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.

2 participants