About SNC/NPS Support and NUMA Topology¶
StarlingX supports multi-NUMA-node configurations on single-socket and multi-socket servers. The NUMA topology is determined by the processor’s Sub-NUMA Clustering (Intel) or Nodes Per Socket (AMD) firmware setting.
Partitioning a socket into multiple NUMA domains improves memory access latency for NUMA-aware workloads such as DPDK, real-time applications, and telecommunications workloads.
When SNC/NPS is enabled, the default platform memory reserve scales with the number of NUMA nodes. The reserve increases by 1000 MiB for each additional NUMA node. For example, a host originally configured as single-NUMA with a 10000 MiB platform memory reserve will adjust to 13000 MiB when four NUMA nodes are configured.
Supported Configurations¶
Intel: Sub-NUMA Clustering (SNC), as supported by the processor and server firmware.
AMD: Nodes Per Socket (NPS), as supported by the processor and server firmware.
The platform supports up to 4 NUMA nodes per host. SNC/NPS settings must be configured in the server firmware; the platform automatically detects and adapts to the configured NUMA topology on boot.
Unsupported Configurations¶
AMD “ACPI SRAT L3 Cache As NUMA Domain” — this setting presents each CCX (Core Complex) as a separate NUMA domain based on L3 cache boundaries. This is not supported. Use NPS settings only.
Mixing different SNC/NPS settings across controllers in an AIO-DX configuration is not a tested or supported configuration. Both controllers should use the same SNC/NPS setting.
Kubernetes Pod Scheduling Topology Management¶
Kubernetes pod placement is influenced by the node’s topology management
policy. When the single-numa-node policy is configured, the Topology
Manager restricts resource allocation to a single NUMA node. As a result,
pods may fail to schedule if a single NUMA node does not have sufficient
resources to satisfy the request, even when adequate resources exist across
the host as a whole.
If you apply strict topology management policies, ensure that per-NUMA-node resources are sized to meet your workload requirements. For more information, see Kubernetes Topology Manager documentation.
To change the setting, see Change the SNC/NPS Setting.