-
Notifications
You must be signed in to change notification settings - Fork 25
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
topology-aware: configurable allocation priority #282
Merged
marquiz
merged 6 commits into
containers:main
from
klihub:devel/topology-aware/configurable-allocation-priority
Mar 28, 2024
Merged
topology-aware: configurable allocation priority #282
marquiz
merged 6 commits into
containers:main
from
klihub:devel/topology-aware/configurable-allocation-priority
Mar 28, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
from
March 12, 2024 22:37
c98ff97
to
989e3bb
Compare
fmuyassarov
reviewed
Mar 13, 2024
kad
reviewed
Mar 13, 2024
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
7 times, most recently
from
March 15, 2024 12:53
7a8e9fe
to
356c313
Compare
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
10 times, most recently
from
March 23, 2024 18:09
4daa583
to
9fba204
Compare
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
from
March 25, 2024 07:34
9fba204
to
5809eab
Compare
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
3 times, most recently
from
March 25, 2024 16:20
91a9110
to
a34da25
Compare
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
3 times, most recently
from
March 26, 2024 16:26
06b3a22
to
5d6ebd0
Compare
Allow querying cpusets for all discovered priorities. This is useful and necessary for policies which pass pre-filtered CPU sets to the allocator, to ensure that pre-filtering and the allocator logic has a mutual understanding of which CPU cores belong to what priority class. Signed-off-by: Krisztian Litkey <[email protected]>
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
from
March 27, 2024 08:23
5d6ebd0
to
4d44658
Compare
marquiz
reviewed
Mar 27, 2024
askervin
reviewed
Mar 27, 2024
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
from
March 27, 2024 15:38
4d44658
to
5b3bb4c
Compare
Add support for configurable default and annotated per-container CPU priority preferences. These determine the preferred priority for CPUs when doing fully or partially exclusive CPU allocation. Priorities are calculated for such allocations and passed on to the CPU allocator which then tries to fulfill these preferences. It should now be possible to configure the policy to allocate (exclusive) E-cores by default and P-cores to containers which are annotated so, or to do it the other way around. Signed-off-by: Krisztian Litkey <[email protected]>
Signed-off-by: Krisztian Litkey <[email protected]>
Allow injecting extra environment variables into the daemonsets of the balloons, topology-aware, and template policy plugins. Signed-off-by: Krisztian Litkey <[email protected]>
Add tests for allocating CPUs for containers with annotated CPU allocation priority. Signed-off-by: Krisztian Litkey <[email protected]>
Signed-off-by: Krisztian Litkey <[email protected]>
klihub
force-pushed
the
devel/topology-aware/configurable-allocation-priority
branch
from
March 27, 2024 17:51
5b3bb4c
to
b285f08
Compare
askervin
approved these changes
Mar 28, 2024
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.
LGTM
marquiz
approved these changes
Mar 28, 2024
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.
Nice job @klihub 🚀
LGTM
klihub
deleted the
devel/topology-aware/configurable-allocation-priority
branch
March 28, 2024 08:51
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add support for configuring the default CPU priority preference and annotating pod-/container-level CPU priority preferences. These determine the preferred priority for CPUs when doing fully or partially exclusive CPU allocation. Priorities are calculated for such allocations and passed on to the CPU allocator which then tries to fulfill these preferences.
With this PR in place, it should be possible on hybrid core architecture systems to configure the policy to prefer allocating energy-efficient cores by default and performance optimized cores to containers annotated with such a preference, or vice versa. Additionally, due to the recently introduced (CPU) cluster-awareness in the CPU allocator, this policy should now do exclusive allocations in a (CPU) cluster-aware fashion, preferring to allocate one or more full CPU clusters when the requested number of CPUs allows this to happen.