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

Detect and label CPU Model Name #270

Closed
lmdaly opened this issue Oct 16, 2019 · 36 comments
Closed

Detect and label CPU Model Name #270

lmdaly opened this issue Oct 16, 2019 · 36 comments
Assignees
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.

Comments

@lmdaly
Copy link

lmdaly commented Oct 16, 2019

An addition to the CPU source that adds a string label with the CPU Model name (model name as described under /proc/cpuinfo for eg.)

For example: : "Intel(R) Xeon(R) CPU E5-XXXX"

The reason for this, in heterogeneous clusters, a workload that requires a specific platform feature or configuration needs to run on a particular model type, ensuring that the workload does not end up on an undesirable platform.

A latency sensitive workload may want to run on the latest architecture to reap the benefits of this new architecture, whereas infrastructure tasks can run on older generations as performance is not as important.

@marquiz
Copy link
Contributor

marquiz commented Oct 24, 2019

Would it be better to split the information into smaller pieces, like:

cpu-cpuinfo.model="79"
cpu-cpuinfo.stepping="1"
cpu-cpuinfo.mhz="2200"

I think this would be a more reliable way of ensuring a certain generation of cpu. WDYT?

@lmdaly
Copy link
Author

lmdaly commented Nov 28, 2019

Yes, I think this would work,
Or if we could potentially get both in that would be good!

@ArangoGutierrez
Copy link
Contributor

++

@ArangoGutierrez
Copy link
Contributor

Just to raise awareness of this issue, I want to share a nice library that is targeting this issue

https://github.com/archspec/archspec

A library to track system architecture aspects incl. processor family & co

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 4, 2020
@marquiz
Copy link
Contributor

marquiz commented Jun 2, 2020

Maybe we should just start with model, stepping, and nominal clock frequency

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 2, 2020
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Aug 31, 2020
@marquiz
Copy link
Contributor

marquiz commented Sep 14, 2020

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 14, 2020
@ArangoGutierrez
Copy link
Contributor

I have created a side care container for NFD https://github.com/archspec/archspec-feature-discovery , leverage ArcSpec library, that give us the name of the microarch

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 13, 2020
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 12, 2021
@marquiz
Copy link
Contributor

marquiz commented Feb 4, 2021

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Feb 4, 2021
@MadhavJivrajani
Copy link

Is this issue available to be worked on?

@marquiz
Copy link
Contributor

marquiz commented Mar 11, 2021

I think with #464 hopefully merged at some point this can be more useful

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 9, 2021
@marquiz
Copy link
Contributor

marquiz commented Jun 9, 2021

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 9, 2021
@ArangoGutierrez
Copy link
Contributor

ArangoGutierrez commented Jun 9, 2021

I have an example side-car container that helps with this https://github.com/archspec/archspec-feature-discovery

Deploy the Node-feature-Discovery with the extra option --extra-label-ns=archspec.io, then:

$ kubectl apply -f manifests/
namespace/archspec-feature-discovery created
serviceaccount/archspec-feature-discovery created
role.rbac.authorization.k8s.io/archspec-feature-discovery created
rolebinding.rbac.authorization.k8s.io/archspec-feature-discovery created
daemonset.apps/archspec-feature-discovery created

$ kubectl get all -n archspec-feature-discovery
NAME                                   READY   STATUS    RESTARTS   AGE
pod/archspec-feature-discovery-ddhnq   1/1     Running   0          7m21s
pod/archspec-feature-discovery-rr9ts   1/1     Running   0          7m21s

NAME                                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                     AGE
daemonset.apps/archspec-feature-discovery   2         2         2       2            2           node-role.kubernetes.io/worker=   7m22

$kubectl get no -o json | jq .items[].metadata.labels |grep archspec
  "archspec.io/cpu.family": "6",
  "archspec.io/cpu.model": "79",
  "archspec.io/cpu.target": "haswell",
  "archspec.io/cpu.vendor": "GenuineIntel",
  "archspec.io/cpu.family": "6",
  "archspec.io/cpu.model": "79",
  "archspec.io/cpu.target": "haswell",
  "archspec.io/cpu.vendor": "GenuineIntel",

@ArangoGutierrez
Copy link
Contributor

/help
/good-first-issue

@k8s-ci-robot
Copy link
Contributor

@ArangoGutierrez:
This request has been marked as suitable for new contributors.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-good-first-issue command.

In response to this:

/help
/good-first-issue

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.

@k8s-ci-robot k8s-ci-robot added the good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. label Aug 11, 2021
@k8s-ci-robot k8s-ci-robot added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Aug 11, 2021
woll0r added a commit to woll0r/k8s-cluster that referenced this issue Aug 27, 2021
@AshwiniGhanwat
Copy link

I am working on this issue. Please assign this issue to me.

@zvonkok
Copy link
Contributor

zvonkok commented Sep 6, 2021

@fabiand Any requirements for kubeVirt I remember that some folks asked about CPU Model for kubeVirt as well?

@zvonkok
Copy link
Contributor

zvonkok commented Sep 6, 2021

@marquiz @ArangoGutierrez Should we think of a plugin system to enable such third party libs or do you think the side-car container is the way to go to extend NFDs detecting functionality?

@zvonkok
Copy link
Contributor

zvonkok commented Sep 6, 2021

One thing I dislike is that we are still using a hostMount which can cause some pain.

@zvonkok
Copy link
Contributor

zvonkok commented Sep 6, 2021

The other thing we thought about was a grpc plugin system a dedicated channel for extensions.

@marquiz
Copy link
Contributor

marquiz commented Sep 7, 2021

@marquiz @ArangoGutierrez Should we think of a plugin system to enable such third party libs or do you think the side-car container is the way to go to extend NFDs detecting functionality?

I would go with side-car for now. And it doesn't need to be a side-car, it can be a separate pod.

One thing I dislike is that we are still using a hostMount which can cause some pain.

Could you elaborate a bit? What is the pain you're experiencing?

The other thing we thought about was a grpc plugin system a dedicated channel for extensions.

I wouldn't go there until there is a clear use case and reasoning to do this. It complicates matters - from the plugin's perspective, too, IMO. The extensions/communication is supposed to be node-local in any case.

For this particular issue (CPU detection) we shouldn't need any extra plugins. Just read/parse /proc/cpuinfo should do the job

@digambar15
Copy link

Can someone assign this issue to @AshwiniGhanwat as she is already working on it.

@ArangoGutierrez
Copy link
Contributor

/assign AshwiniGhanwat

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 14, 2021
@vaibhav2107
Copy link
Contributor

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 13, 2022
@zvonkok
Copy link
Contributor

zvonkok commented Mar 16, 2022

@digambar15 @AshwiniGhanwat Any updates on this?

@ArangoGutierrez
Copy link
Contributor

#792

@ArangoGutierrez
Copy link
Contributor

/assign

@ArangoGutierrez
Copy link
Contributor

/unassign AshwiniGhanwat

@ArangoGutierrez
Copy link
Contributor

Hey @lmdaly thanks for this issue, can you verify if changes #792 fit your need, and if so, closing this issue :)

@marquiz
Copy link
Contributor

marquiz commented Mar 29, 2022

I think lmdaly is not working in this area anymore.
/close

@k8s-ci-robot
Copy link
Contributor

@marquiz: Closing this issue.

In response to this:

I think lmdaly is not working in this area anymore.
/close

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Denotes an issue ready for a new contributor, according to the "help wanted" guidelines. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.
Projects
None yet
Development

No branches or pull requests