Topology Manager

212

Topology Manager is a Kubelet component that aims to coordinate the set of components that are responsible for optimizations related to CPU isolation, memory and device locality.

Stuff you wanna know:

    1. The Topology Manager allows resources to be co-ordinated in a Topology aligned manner.
    2. The Topology Manager acts as a source of truth, so that other Kubelet components can make topology aligned resource allocation choices.
    3. The Topology Manager provides an interface for components, called Hint Providers, to send and receive topology information.
    4. The Topology manager receives Topology information from the Hint Providers as a bitmask denoting NUMA Nodes available and a preferred allocation indication.
    5. The Topology Manager policies perform a set of operations on the hints provided, and converge on the hint determined by the policy to give the optimal result. If an undesirable hint is stored the preferred field for the hint will be set to false.
    6. In the current policies preferred is the narrowest preferred mask.
    7. The selected hint is stored as part of the Topology Manager.
    8. Depending on the policy configured the pod can be accepted or rejected from the node based on the selected hint.
    9. Support for the Topology Manager requires TopologyManager feature gates to be enabled.
    10. The Topology Manager aligns Pods of all QoS classes, and aligns the requested resources that Hint Provider provides topology hints for.
    11. The Topology Manager provides two distinct knobs: scope and policy.
    12. The Topology Manager can deal with the alignment of resources in a couple of distinct scopes:Container (default) and Pod. You can choose this with the –topology-manager-scope flag at the time of the Kubelet startup.
    13. Topology Manager supports four allocation policies – none (default), best-effort, restricted, single-numa-node.
    14. You can set this policy via the Kubelet flag –topology-manager-policy.
    15. The maximum number of NUMA nodes that Topology Manager allows is 8.
    16. With more than 8 NUMA nodes there will be a state explosion when trying to enumerate the possible NUMA affinities and generating their hints.
    17. he scheduler is not topology-aware, so it is possible to be scheduled on a node and then fail on the node due to the Topology Manager.

More stuff: