Skip to content

PR for Ease of Comparison - #2

Open
matte21 wants to merge 38 commits into
release-1.33from
cxl-simplest-version
Open

PR for Ease of Comparison#2
matte21 wants to merge 38 commits into
release-1.33from
cxl-simplest-version

Conversation

@matte21

@matte21 matte21 commented May 20, 2025

Copy link
Copy Markdown
Collaborator

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.:


matte21 added 30 commits May 15, 2025 16:54
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant