-
Notifications
You must be signed in to change notification settings - Fork 301
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
update document for FlavorFungibility #1226
Conversation
✅ Deploy Preview for kubernetes-sigs-kueue ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Hi @KunWuLuan. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/ok-to-test |
/release-note-none |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/assign @trasc
|
||
When there is not enough nominal quota of resources in a ResourceFlavor, the incoming workload can borrow or preempt in ClusterQueue or Cohort. | ||
|
||
By default the incoming workload will stop trying the next flavor if it can get enough resource by borrowing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should clarify what is the next flavor
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, we can remind readers that kueue evaluates the flavors in a ClusterQueue in order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But generally, we introduce the possible options first, followed by what's the default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
agree.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I will update this
|
||
When there is not enough nominal quota of resources in a ResourceFlavor, the incoming workload can borrow or preempt in ClusterQueue or Cohort. | ||
|
||
By default the incoming workload will stop trying the next flavor if it can get enough resource by borrowing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, we can remind readers that kueue evaluates the flavors in a ClusterQueue in order.
|
||
When there is not enough nominal quota of resources in a ResourceFlavor, the incoming workload can borrow or preempt in ClusterQueue or Cohort. | ||
|
||
By default the incoming workload will stop trying the next flavor if it can get enough resource by borrowing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But generally, we introduce the possible options first, followed by what's the default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sending some editorial suggestions. Thanks!
- `Preempt`: ClusterQueue stops to try preempting in current ResourceFlavor and start from the next one if preempting failed. | ||
- `TryNextFlavor` (default): ClusterQueue will try the next ResourceFlavor to see if the workload can fit in the ResourceFlavor. | ||
|
||
Noted that if `whenCanBorrow` is `Borrow` and `whenCanPreempt` is `Preempt`, or both `whenCanBorrow` and `whenCanPreempt` is `TryNextFlavor`, borrowing has a higher priority than preemption. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noted that if `whenCanBorrow` is `Borrow` and `whenCanPreempt` is `Preempt`, or both `whenCanBorrow` and `whenCanPreempt` is `TryNextFlavor`, borrowing has a higher priority than preemption. | |
To instruct Kueue to attempt to borrow first instead of preempt, you can use any of the following value combinations: | |
* `whenCanBorrow = "Borrow"` and `whenCanPreempt = "Preempt"` | |
* `whenCanBorrow = "TryNextFlavor"` and `whenCanPreempt = "TryNextFlavor"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that such expression is sufficient to convey the meaning:
Note that whenever possible and the configured policy allows, Kueue tries to avoid preemptions by borrowing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Final pass
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit. Otherwise LGTM
preemptions or borrowing in a flavor before trying to accommodate the Workload in the next flavor, by | ||
setting the `flavorFungibility` field. | ||
|
||
A configuration for a ClusterQueue that configures this behavior looks like the following: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit:
A configuration for a ClusterQueue that configures this behavior looks like the following: | |
The definition of a ClusterQueue that configures this behavior looks like the following: |
"configuration .. that configures" sounds a bit strange to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/approve
Leaving /lgtm
to @trasc
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alculquicondor, KunWuLuan The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
LGTM label has been added. Git tree hash: 2f37e805bf917806ebd1dd5d61f1c7e03fe51651
|
What type of PR is this?
/kind documentation
What this PR does / why we need it:
update document for FlavorFungibility
Which issue(s) this PR fixes:
Special notes for your reviewer:
For issue #582
Does this PR introduce a user-facing change?