PR for Ease of Comparison - #2
Open
matte21 wants to merge 38 commits into
Open
Conversation
The CPU manager uses the number of sockets on the host to compute stuff such as number of cores per sockets, etc... , which it needs in its algorithms. Prior to this commit, it considered the number of sockets to be the number of physical sockets on the host. In our setup, where a physical socket might hold one zNUMA and nothing else, that can cause counting errors, since the CPU manager assumes that all sockets hold the same number of CPUs. So this commit makes the CPU manager exclude sockets that hold zNUMAs from its computation. Note that this commit still assumes either a 1-1 mapping between sockets and NUMAs (l or z), or at least all sockets to be configured the same way in terms of how many l and zNUMAs they hold. In setups where sockets hold more than one NUMA, and different sockets have a different breakdown between l and z NUMAs, this commit is not enough.
The next commit will introduce a new heterogeneous memory manager alongside the legacy one. The two managers will be two separate instances of the same struct. Some of the struct methods' log statements or write state files whose contents and names have hardcoded the name "memory_manager" or some variation of it. Once we add the heterogeneous memory manager, the two managers will try to write conflicting contents to the same state files or log the same statements, causing confusion. This commit ensures each manager has its own state files, and log statements are disambiguated. Moreover, it ensures that literally nothing changes in the state file and log statements of the standard memory manager, so that tooling/automation inspecting them won't break. Note: there are still ambiguous log statements. This commit only touches log statements with "memorymanager" in their name. Log statements without it are still ambiguous.
This file contains hidden or 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
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.
What type of PR is this?
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: