@@ -57,7 +57,7 @@ _Reviewers:_
57
57
- [ Graduation Criteria] ( #graduation-criteria )
58
58
- [ Alpha (v1.16) [ COMPLETED]] ( #alpha-v116-completed )
59
59
- [ Alpha (v1.17) [ COMPLETED]] ( #alpha-v117-completed )
60
- - [ Beta (target v1.18)] ( #beta-target- v118 )
60
+ - [ Beta (v1.18) [ COMPLETED ]] ( #beta-v118-completed )
61
61
- [ GA (stable)] ( #ga-stable )
62
62
- [ Test Plan] ( #test-plan )
63
63
- [ Single NUMA Systems Tests] ( #single-numa-systems-tests )
@@ -166,11 +166,11 @@ the assigned CPUs and devices.
166
166
167
167
Topology affinity is tracked at the container level, similar to devices and
168
168
CPU affinity. At pod admission time, a new component called the Topology
169
- Manager collects possible configurations from the Device Manager and the
170
- CPU Manager. The Topology Manager acts as an oracle for local alignment by
171
- those same components when they make concrete resource allocations. We
172
- expect the consulted components to use the inferred QoS class of each
173
- pod in order to prioritize the importance of fulfilling optimal locality.
169
+ Manager collects possible configurations for each container in the pod from the
170
+ Device Manager and the CPU Manager. The Topology Manager acts as an oracle
171
+ for local alignment by those same components when they make concrete resource
172
+ allocations. We expect the consulted components to use the inferred QoS class
173
+ of each pod in order to prioritize the importance of fulfilling optimal locality.
174
174
175
175
## Proposed Changes
176
176
@@ -180,7 +180,7 @@ This proposal is focused on a new component in the Kubelet called the
180
180
Topology Manager. The Topology Manager implements the pod admit handler
181
181
interface and participates in Kubelet pod admission. When the ` Admit() `
182
182
function is called, the Topology Manager collects topology hints from other
183
- Kubelet components.
183
+ Kubelet components on a container by container basis .
184
184
185
185
If the hints are not compatible, the Topology Manager may choose to
186
186
reject the pod. Behavior in this case depends on a new Kubelet configuration
@@ -428,7 +428,7 @@ _Figure: Topology Manager fetches affinity from hint providers._
428
428
429
429
* Allow pods in all QoS classes to request aligned resources.
430
430
431
- ## Beta (target v1.18)
431
+ ## Beta (v1.18) [ COMPLETED ]
432
432
433
433
* Enable the feature gate by default.
434
434
* Provide beta-level documentation.
@@ -484,13 +484,16 @@ systems test.
484
484
* Testing the Topology Manager in a continuous integration environment
485
485
depends on cloud infrastructure to expose multi-node topologies
486
486
to guest virtual machines.
487
- * Implementing the ` GetHints() ` interface may prove challenging.
487
+ * Implementing the ` HintProvider ` interface may prove challenging.
488
488
489
489
# Limitations
490
490
491
- * Alignment is only possible for pods in the ` Guaranteed ` QoS class.
492
- * Alignment is only guaranteed for a single container inside a pod.
493
-
491
+ * The maximum number of NUMA nodes that Topology Manager will allow is 8,
492
+ past this there will be a state explosion when trying to enumerate the
493
+ possible NUMA affinities and generating their hints.
494
+ * The scheduler is not topology-aware, so it is possible to be scheduled
495
+ on a node and then fail on the node due to the Topology Manager.
496
+
494
497
# Alternatives
495
498
496
499
* [ AutoNUMA] [ numa-challenges ] : This kernel feature affects memory
0 commit comments