Skip to content
KEP Brain

KEP-1769keps/sig-node/1769-memory-manager

Memory Manager

implementedstablesig-nodelatest v1.32
The Memory Manager is a new component in kubelet ecosystem proposed to enable the feature of guaranteed memory (and hugepages) allocation for pods in Guaranteed QoS class. The feature offers a couple of allocation strategies. The first one, the single-NUMA strategy, is intended for high-performance and performance-sensitive applications. Relevant user storie… Full summary

The Memory Manager is a new component in kubelet ecosystem proposed to enable the feature of guaranteed memory (and hugepages) allocation for pods in Guaranteed QoS class. The feature offers a couple of allocation strategies. The first one, the single-NUMA strategy, is intended for high-performance and performance-sensitive applications. Relevant user stories are illustrated in here for the single-NUMA strategy. The second one, the multi-NUMA strategy, complements the overall design while it overcomes the situation that cannot be managed with the single-NUMA strategy. Namely, whenever the amount of memory demanded by a pod is in the excess of a single NUMA node capacity, the guaranteed memory is provisioned across multiple NUMA nodes with the multi-NUMA strategy. In both scenarios, the Memory Manager employs hint generation protocol to yield the most suitable NUMA affinity for a pod, and it feeds the central manager (Topology Manager) with those affinity hints. Moreover, Memory Manager ensures that the memory which a pod requests is allocated from a minimum number of NUMA nodes. The up-to-date implementation of the Memory Manager is available through the link in Implementation History section. Technically, the single-NUMA strategy is a special case of the multi-NUMA strategy, and thus, no separate implementation was developed for them. Still, the proposal differentiates between the single-NUMA and the multi-NUMA strategies. First of all, it allows for a number of important use cases or situations to be discussed and contrasted.

Facts

PRR approvers
@deads2kalpha@deads2kbeta@deads2kstable
Tracking issue
#1769(opens GitHub in a new tab) closedcompletedclosed 2025-02-03 23:46 UTCmilestone v1.32sig/nodestage/stablekind/featurekind/kep
Milestones
alpha v1.21beta v1.22stable v1.32
Participating SIGs
none
Feature gates
MemoryManager
Created / last updated
2020-02-03 / 2024-11-10
Loading decisions and status history

Keyboard shortcuts

Everywhere

?
Show or hide this list
/
Focus the question box on Ask, otherwise the page search
Ctrl Kor⌘ K
Focus the KEP search in the top bar
t
Switch the theme (system, light, dark)
Esc
Close a dialog, a search list or a menu

Go to a page

Press g, then the letter

g h
Home
g a
Ask
g e
Explore
g u
Audit
g m
Memory
g b
About

Ask

Enter
Send the question
Shift Enter
New line in the question
Esc
Cancel the running question

Search lists

KEP search and Explore search

↓or↑
Move through the results
HomeorEnd
First or last result (Explore)
Enter
Open the highlighted result, or KEP-n when the query is a number

KEP page

o
Open the KEP on GitHub
y
Open kep.yaml on GitHub
a
Ask about this KEP
←or→
Previous or next tab, when a tab is focused

Findings table

With a finding row focused (Tab into the table or click a row)

jork
Next or previous finding
EnterorSpace
Expand or collapse the finding
o
Open the finding's KEP page
d
Draft the fix as an issue text (nothing is posted)
]or[
Next or previous page of findings

Shortcuts pause while you type in a field. Press ? or Esc to close.