-
Notifications
You must be signed in to change notification settings - Fork 134
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 dominant resource fairness #2614
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## master #2614 +/- ##
==========================================
- Coverage 58.71% 58.70% -0.01%
==========================================
Files 238 238
Lines 30397 30462 +65
==========================================
+ Hits 17847 17883 +36
- Misses 11195 11230 +35
+ Partials 1355 1349 -6
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
@@ -113,7 +113,11 @@ type SchedulingConfig struct { | |||
DefaultJobTolerationsByResourceRequest map[string][]v1.Toleration | |||
// Maximum number of times a job is retried before considered failed. | |||
MaxRetries uint | |||
// Weights used when computing fair share. | |||
// Controls how fairness is calculated. Can be either AssetFairness or DominantResourceFairness. |
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.
This list of possible values is bound to become out of date.
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.
Once DRF is used everywhere, I want to remove asset fairness and leave DRF as the only option.
// Used to convert one resource into another when computing fair share. | ||
// Only applies to DominantResourceFairness. | ||
FairnessResourceMappingBySourceResource map[string]configuration.ResourceMapping |
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.
This doesn't seem to be used yet.
Also, it's not clear to me why resource mapping would only apply to DominantResourceFairness
; the fractional GPU example you gave above seems like it also makes sense in the case of asset fairness.
… severinson/dominant-resource-fairness
@@ -348,7 +348,7 @@ func (it *CandidateGangIterator) fractionOfFairShareWithGctx(gctx *schedulercont | |||
it.buffer.Zero() | |||
it.buffer.Add(qctx.Allocated) | |||
it.buffer.Add(gctx.TotalResourceRequests) | |||
return qctx.FractionOfFairShareWithAllocation(it.buffer) | |||
return qctx.TotalCostForQueueWithAllocation(it.buffer) |
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.
The name of this method is now out of date, but this is obviously not a blocker.
Do not merge yet. Should be merged after #2611
┆Issue is synchronized with this Jira Task by Unito