Skip to content

Commit 7f68488

Browse files
committed
Update content
Signed-off-by: PiotrProkop <[email protected]>
1 parent 213629e commit 7f68488

File tree

1 file changed

+9
-8
lines changed
  • keps/sig-node/3545-improved-multi-numa-alignment

1 file changed

+9
-8
lines changed

keps/sig-node/3545-improved-multi-numa-alignment/README.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ This limitation surfaces in multi-socket, as well as single-socket multi NUMA sy
108108

109109
### Goals
110110

111+
* Introduce a new kubelet flag `topology-manager-policy-options` for passing options to a TopologyManager policy to modify its behaviour.
111112
* Enable `TopologyManager` to prefer sets of NUMA nodes with shorter NUMA distances for all TopologyManager policies
112113
* Preserve all other properties of all policies
113114

@@ -141,7 +142,7 @@ Right now Topology manager discovers Node layout using [CAdvisor API](https://gi
141142

142143
We will need to extend the `MachineInfo` struct with a `Distances` field which will describe the distance between a given NUMA node and other NUMA nodes in the system.
143144
This is already implemented in `cadvisor` by this [patch](https://github.com/google/cadvisor/pull/3179) but it is not yet present in any of the released versions.
144-
Before new release of `cadvisor` includes this patch we will need to replicate this logic in `kubelet`.
145+
Until a new release of `cadvisor` includes this patch (and it gets vendored into the `kubelet`) we will need to replicate this logic in the `kubelet` code itself.
145146

146147
### Implementation strategy
147148

@@ -287,19 +288,19 @@ These cases will be added in the existing e2e tests:
287288

288289
In 1.26 we are releasing this feature to Alpha. We propose the following management of TopologyManager policy options graduation:
289290

291+
- `TopologyManagerPolicyOptions` for enabling/disabling the entire feature. As this is an alpha feature, this feature gate would be disabled by default.
292+
Explicitly enabling `TopologyManagerPolicyOptions` feature gate provides us the ability to supply `TopologyManagerPolicyOptions` or `topology-manager-policy-options` flag in Kubelet.
293+
290294
- `TopologyManagerPolicyAlphaOptions` is not enabled by default. Topology Manager alpha options (only one as of 1.26), are hidden by default
291-
and only when `TopologyManagerPolicyAlphaOptions` feature gate is enabled user is able to use alpha options.
292-
`TopologyManagerPolicyAlphaOptions` will not exist if there are no options in alpha stage.
295+
and only when both the `TopologyManagerPolicyOptions` and the `TopologyManagerPolicyAlphaOptions` feature gates are enabled will the user be able to use alpha options.
293296

294297
- `TopologyManagerPolicyBetaOptions` is not enabled by default. Topology Manager beta options (none as of 1.26), are hidden by default
295-
and only when `TopologyManagerPolicyBetaOptions` feature gate is enabled user is able to use beta options.
296-
`TopologyManagerPolicyBetaOptions` will not exist if there are no options in beta stage (true for 1.26 release).
298+
and only when both the `TopologyManagerPolicyOptions`and the `TopologyManagerPolicyBetaOptions` feature gates are enabled will the user be able to use beta options.
297299

298-
- `TopologyManagerPolicyOptions` for enabling/disabling the entire feature. As this is an alpha feature, this feature gate would be disabled by default.
299-
Explicitly enabling `TopologyManagerPolicyOptions` feature gate provides us the ability to supply `TopologyManagerPolicyOptions` or `topology-manager-policy-options` flag in Kubelet.
300300

301301
When an option graduates, its visibility should be moved to be controlled by the corresponding feature-flag.
302302
The introduction of these feature gates gives us the ability to move the option to beta and later stable without implying that all available options are stable.
303+
This approach is similliar to graduation criteria for `CPUManagerPolicyOptions` introduced [here](https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2625-cpumanager-policies-thread-placement#graduation-criteria-of-options).
303304

304305
The graduation Criteria of options is described below:
305306

@@ -342,7 +343,7 @@ No changes needed
342343

343344
###### Does enabling the feature change any default behavior?
344345

345-
- Yes, it makes the behaviour of the TopologyManager restricted and best-effort policies to choose NUMA nodes based on distance.
346+
- No, it makes the behaviour of the TopologyManager restricted and best-effort policies to choose NUMA nodes based on distance only if proper `kubelet` flag is provided.
346347

347348
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
348349

0 commit comments

Comments
 (0)