-
Notifications
You must be signed in to change notification settings - Fork 247
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
nfd-topology-updater: Detect E/P cores and expose through attributes #1737
base: master
Are you sure you want to change the base?
Conversation
Hi @ozhuraki. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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-sigs/prow repository. |
✅ Deploy Preview for kubernetes-sigs-nfd ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
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.
Thanks for the patch @ozhuraki. I have hard time seeing the practical usefulness of this this information. I mean how is it possible to meaningfully consume these properties – I think they definitely should not be exposed as built-in/default node labels.
A more useful strategy could be to add this information as attributes in the NodeResourceTopology object that the nfd-topology-updater handles. This way, the E/P core information could be consumed by a Kubernetes (topology-aware) scheduler extension.
ping @kad
I have several concerns regarding this PR:
so, the labels should have "foo..atom" and "foo...core" names. @marquiz please suggest some good prefix instead of "foo..." |
Thanks for the useful input! Updated, please take a look |
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.
Thanks for the update. A few more comments below.
/ok-to-test
/retitle nfd-topology-updater: Detect E/P cores and expose through attributes
Thanks, updated, please take a look |
Thanks, updated, please take a look |
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.
Thanks @ozhuraki for the update, I think we could merge this.
/assign @PiotrProkop
One general note about documentation that it would be nice to have e.g. a table listing all the information that we expose as attributes in the NRT. Maybe we should create an issue about this(?)
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: marquiz, ozhuraki 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 |
/retest |
One question and sorry if I misunderstand how hybrid cpus can be consumed in K8s. Wouldn't be more useful to just modify ResourceAggregator to advertise new resources for each cpu type in each |
There's nothing special about it, just one way of exposing such information. We can also modify ResourceAggregator to advertise new resources for each cpu type too. I will make an issue and will try to add it with a sepatate PR. |
I just don't know how this information provided via attributes can be useful to custom scheduler without mapping to already used cpus. NRT object only exposes info about allocated/free cpus in given Zone without an info which cpu id is used and which is free. |
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.
Found typo
Thanks and sorry, missed you comment. Yes, it's merely exposing an information for particuar kind of cores for workloads that just want particular kind of cores on hybrid cpus. I made an issue #1964 to expose it through ResourceAggregator (so the custom scheduler could track allocated/free cores) and will try to add such PR too. Thanks, updated. |
I still feel like this information should be then exposed via labels and just say that given node has |
We initially had it through labels but later switched to annotations since labels were restrictive on exposing IDs. I can additionaly expose via labels and just say that given node has E or P, as you suggest. |
Signed-off-by: Oleg Zhurakivskyy <[email protected]>
Added labels too, please take a look. |
@ozhuraki: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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-sigs/prow repository. I understand the commands that are listed here. |
/cc |
got the ping, will review ASAP |
Detect which CPUs are which types of the cores (P-cores or E-cores) and expose IDs through labels.