Skip to content

stinglet pangaea integration - #3

Draft
VijayP30 wants to merge 3 commits into
stinglet-fake-znumafrom
pranav/dcmfm-farmem-integration
Draft

stinglet pangaea integration#3
VijayP30 wants to merge 3 commits into
stinglet-fake-znumafrom
pranav/dcmfm-farmem-integration

Conversation

@VijayP30

Copy link
Copy Markdown
Collaborator

No description provided.

VijayP30 and others added 3 commits July 18, 2026 12:22
…failure

When a pod cannot fit because of insufficient zNUMA (far-memory) capacity,
call out to Pangaea DCMFM Agent (POST /api/v1/memblocks) asking it to online
more, then retry the combo search once with capacity refreshed from sysfs.
Falls through to the existing NoNUMAComboFound behavior unchanged if
DCMFM_AGENT_ADDR is unset or DCMFM has nothing to give.

Previously the topology snapshot taken at kubelet startup was the ceiling
for the lifetime of the process, even though CXL/far memory can grow.
…e request

tryGrowFarMemCapacity was called with req.farMem -- the containers entire
far-mem ask -- instead of what was actually missing. A pod that mostly fits
(e.g. 94Gi requested, ~92Gi already free) was asking DCMFM to grow the full
94Gi from scratch instead of the ~2Gi shortfall, which a real or fake FAM
device sized for incremental growth can never satisfy in one shot. Compute
the shortfall as the ask minus everything already free across every zNUMA
node before calling DCMFM.
The "dedupe a group of nNUMAs neighbor zNUMAs via a map" pattern was
duplicated three times: once in findNUMACombo() (filtered to nNUMAs with
free CPUs) and twice in candidateBetterThanCurrent() (unfiltered, once for
the candidate group and once for the current one). Pulled into one shared
helper, uniqueNeighborZNUMAs(nNUMAsGrp, onlyFreeCPUNNUMAs), with each call
site keeping its existing filtering behavior via the second argument --
no behavior change, just removes the duplication.

Mirrors the same extraction proposed to #4 (against
the stinglet branch), applied here too so this branch stays in sync with
that upstream refactor.
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