-
Notifications
You must be signed in to change notification settings - Fork 339
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
scheduler: improve NodeNUMAResource handling node cpu bind policy #1892
scheduler: improve NodeNUMAResource handling node cpu bind policy #1892
Conversation
/hold |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1892 +/- ##
=======================================
Coverage 67.52% 67.53%
=======================================
Files 413 413
Lines 46072 46115 +43
=======================================
+ Hits 31111 31143 +32
- Misses 12705 12710 +5
- Partials 2256 2262 +6
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
90308dd
to
a2f2107
Compare
Signed-off-by: Joseph <joseph.t.lee@outlook.com>
a2f2107
to
d465bf3
Compare
/hold cancel PTAL |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: hormes 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 |
Ⅰ. Describe what this PR does
If the node enables label
node.koordinator.sh/cpu-bind-policy
and configures the corresponding value toFullPCPUsOnly
orSpreadByPCPUs
, then the scheduler should ensure that the allocation result corresponding toResourceSpec.RequiredCPUBindPolicy
is consistent.And the node policy may conflict with the
ResourceSpec.RequiredCPUBindPolicy
defined in the Pod. For example: the node defined the policy withFullPCPUsOnly
, and the Pod requiredSpreadByPCPUs
, this creates a conflict that should be filtered.If the Pod does not declare the ResourceSpec with CPUBindPolicy(either required or preferred), and the node declares the CPUBindPolicy, the scheduler should allocate CPUs by node's CPUBindPolicy, even though the Pod's QoSClass is LS. Although the previous implementation could work, but the implementation was not complete enough.
As for whether koordlet or kubelet will set the cgroup according to the scheduler allocation result on the LS Pod, I think this is a strategic issue.
Ⅱ. Does this pull request fix one issue?
Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist
make test