-
Notifications
You must be signed in to change notification settings - Fork 385
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 advanced cpuset manger #165
Conversation
74047f8
to
f9db70c
Compare
|
I want to know if the pod has request do not equal to limit, limit =4, request= 2, then i patch it use exclude binding cpuset, what will you do. If you binding 4 cpus excluding, then it must conflict with the scheduler expected behavior. because scheduler just compute 2 cores as comsumed cpu number, but you exclude 4 cpus. |
@kitianFresh |
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 am basically ok for the change, several comments
- if we are copying some source code with any customized logic, suggest to vendor them
- please clean up logs following crane code standards
@szy441687879 need a rebase and could you squash the commits? |
a06c373
to
349698c
Compare
349698c
to
a23a55d
Compare
@mfanjie done |
/lgtm |
Advanced CPUSet Manager
Table of Contents
Motivation
Some latency-sensitive application have lower lantency and cpu usage when running with specific cores, which results in fewer context switchs and higer cache affinity.
But kubelet will always exclude assigned cores in shared cores, which may waste resources.Offline and other online pods can running on the codes actually. In our experiment, for the most part, it is barely noticeable for performance of service.
Goals
Non-Goals/Future Work
Proposal
Relax restrictions of cpuset allocation
Kubelet allocate cpus for containers included in a pod of "Guaranteed" QoS class and the container's resource limit for the CPU resource is an integer greater than or equal to one.
With Crane, containers only to neeed CPU resource limit is an integer greater than or equal to one and equal to cpu resource request.
Add new annotation to describe the requirement of cpuset contorl manger
Provide three policy for cpuset control:
Advanced CPU Manager component
User Stories
Story 1
make some pods to run with exclusive Cpus to compare with others
Story 2
make pod from exclusive to share,so that offline can use the cpu
Risks and Mitigations