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

Add docs for KEP-4176 new static policy DistributeCPUsAcrossCores #47014

Merged
merged 1 commit into from
Jul 19, 2024

Conversation

Jeffwan
Copy link
Contributor

@Jeffwan Jeffwan commented Jun 28, 2024

this is a placeholder PR for KEP-4176 kubernetes/enhancements#4176

/cc @Princesso

@k8s-ci-robot k8s-ci-robot requested a review from Princesso June 28, 2024 08:06
@k8s-ci-robot k8s-ci-robot added this to the 1.31 milestone Jun 28, 2024
@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jun 28, 2024
Copy link

netlify bot commented Jun 28, 2024

👷 Deploy Preview for kubernetes-io-vnext-staging processing.

Name Link
🔨 Latest commit d4fd891
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-vnext-staging/deploys/669617a14f9d310008913e10

@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Jun 28, 2024
Copy link

netlify bot commented Jun 28, 2024

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit d4fd891
🔍 Latest deploy log https://app.netlify.com/sites/kubernetes-io-main-staging/deploys/669617a15112010008c32011
😎 Deploy Preview https://deploy-preview-47014--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@dipesh-rawat
Copy link
Member

/sig node

@k8s-ci-robot k8s-ci-robot added the sig/node Categorizes an issue or PR as relevant to SIG Node. label Jun 28, 2024
@Princesso
Copy link
Contributor

Hello @Jeffwan 👋 please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday July 16th 2024 18:00 PST. Thank you!

@Princesso
Copy link
Contributor

Hi @Jeffwan, a gentle reminder that tomorrow is the deadline for having your Docs PR ready for review. Please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before tomorrow, Tuesday, July 16th, 2024 18:00 PST.

@Jeffwan
Copy link
Contributor Author

Jeffwan commented Jul 15, 2024

@Princesso Thanks! the code change has been merged and I will finish the doc change today.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jul 16, 2024
@Jeffwan Jeffwan changed the title [WIP] static policy changes for 1.31 Add docs for KEP-4176 new static policy DistributeCPUsAcrossCores Jul 16, 2024
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 16, 2024
@Jeffwan
Copy link
Contributor Author

Jeffwan commented Jul 16, 2024

@Princesso Please check the doc update. @ffromani is the KEP reviewer. Feel free to take a look.

  1. I document the basic idea of the new policy and mentioned the good/bad scenarios.
  2. I document the compatibility with other policy options.

@ffromani
Copy link
Contributor

/cc

@k8s-ci-robot k8s-ci-robot requested a review from ffromani July 16, 2024 05:57
Copy link
Contributor

@ffromani ffromani left a comment

Choose a reason for hiding this comment

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

close to LGTM, some clarifications needed

Copy link
Contributor

@ffromani ffromani left a comment

Choose a reason for hiding this comment

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

/lgtm

from sig-node contentwise.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 16, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: b55963009724add254afc0a13277db3841bca7bc

@Jeffwan
Copy link
Contributor Author

Jeffwan commented Jul 16, 2024

@tengqm @ffromani I address the feedback and please take another look.

might be less effective when the system is heavily loaded. Under such conditions,
the benefit of reducing contention diminishes. Conversely, default behavior
can help in reducing inter-core communication overhead, potentially providing
better performance under high load conditions.
Copy link
Contributor

Choose a reason for hiding this comment

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

While the virtual cores are backed by more physical cores, the application can potentially get performance boost thanks to more L2, L3 caches to use.
However, these physical cores may come from different sockets.
The assumption of better performance is only true when the following factors are met:

  • there are heavy inter-thread communication in the application;
  • the load is not very high, or else you may want to use more cores rather than fewer,
    which is the newly added policy.

Am I understanding this correctly?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Exactly. Our benchmarks show that this approach works well in low-load scenarios. We employ this strategy for serverless workloads, where it's uncommon for all applications to be busy simultaneously. This policy performs effectively in such environments.

We've also tested the potential impact of cross-socket issues and found no significant difference for our application. However, other applications may experience varying results. In the alpha version, we did not explicitly consider whether CPUs were across sockets or not. In future versions, we plan to improve this aspect and clarify the behavior.

@LaurentGoderre
Copy link
Member

LGTM!

@Jeffwan
Copy link
Contributor Author

Jeffwan commented Jul 18, 2024

@tengqm Please take another look. I can explain more details if there's anything not clear yet.

@tengqm
Copy link
Contributor

tengqm commented Jul 19, 2024

/lgtm

@Jeffwan
Copy link
Contributor Author

Jeffwan commented Jul 19, 2024

@Princesso Please help approve the PR. I think all have finish reviewing the change.

@Princesso
Copy link
Contributor

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Princesso

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 19, 2024
@k8s-ci-robot k8s-ci-robot merged commit ca0fdf2 into kubernetes:dev-1.31 Jul 19, 2024
6 checks passed
@Jeffwan Jeffwan deleted the jiaxin/kep-4176 branch July 19, 2024 17:22
@Jeffwan Jeffwan restored the jiaxin/kep-4176 branch August 4, 2024 19:39
@Jeffwan Jeffwan deleted the jiaxin/kep-4176 branch August 18, 2024 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/node Categorizes an issue or PR as relevant to SIG Node. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
Development

Successfully merging this pull request may close these issues.

7 participants