-
Notifications
You must be signed in to change notification settings - Fork 57
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
Enable fixing balloon instances to hardcoded CPUs and memories for benchmarking #1006
Conversation
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.
Overall, LGTM. Just some nits about the commit messages.
As a general note, it would be nice to see some text in the commit messages answering "what" this is about and "why" this is needed.
Do we want to port this to nri balloons plugin?
Codecov Report
@@ Coverage Diff @@
## master #1006 +/- ##
==========================================
- Coverage 31.86% 31.85% -0.01%
==========================================
Files 65 66 +1
Lines 9835 9872 +37
==========================================
+ Hits 3134 3145 +11
- Misses 6411 6437 +26
Partials 290 290
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
BalloonInstances configuration sets constraints and overrides on CPU allocation and memory pinning of individual balloon instances. This feature is useful for benchmarking well-known hardware topology with well-known sequences of workload deployments. However, using this feature under other circumstances is prone to errors and likely to lead into situations where pods that have been scheduled on a node cannot be run. Therefore enabling this feature requires building cri-resmgr with "benchmarking" build tag (make BENCHMARKING=1).
b17ed04
to
4c62b5d
Compare
Thanks @jukkar, good point. I added both "why" and "why not" reasoning on the commit that introduces |
For real use (instead of manually tuned benchmarking) we should do something similar to preferCloseToDevices like in containers/nri-plugins#203. |
Let's close this PR for now. |
These patches add support for
BalloonInstances
configuration. It enables setting constraints and overrides on individual balloon instances regarding CPU allocation and memory pinning.This feature is useful for benchmarking well-known hardware under different loads. However, using this feature makes the balloons policy configuration totally inapplicable to heterogenous clusters and very prone to configuration errors. These issues are likely to manifest themselves by not being able to run pods that have been scheduled on a node. Therefore this feature is not available by default, but only if
cri-resmgr
is built withbenchmarking
build tag (ormake BENCHMARKING=1
).