Change the SNC/NPS Setting¶
Overview
StarlingX supports Sub-NUMA Clustering (SNC) on Intel platforms and Nodes Per Socket (NPS) on AMD platforms. This setting partitions a processor into multiple NUMA domains and is configured in the server firmware. The platform detects and adapts to the configured NUMA topology on boot.
Because the platform reserves CPU and memory per NUMA node, the SNC/NPS setting must only be changed while the host is locked, and the host must be rebooted to apply the firmware change before it is unlocked.
Note
In the CLI and API, commands that reference Processors correspond to NUMA nodes. Keep this mapping in mind when configuring or querying processor, socket, and NUMA node settings.
Note
Both controllers in an AIO-DX configuration must use the same SNC/NPS setting in normal operation. During conversion, controllers will temporarily run different settings while each controller is updated in sequence. This mixed state is only supported for the duration of the conversion procedure.
Prerequisites
Access to the server firmware (BIOS/UEFI) setup for the affected host.
The platform supports up to 4 NUMA nodes per host.
AMD “ACPI SRAT L3 Cache As NUMA Domain” is not supported. Use NPS settings only.
Procedure
Simplex
Lock the controller.
~(keystone_admin)]$ system host-lock controller-0
Change the SNC/NPS setting in the server firmware.
Reboot the host to apply the firmware change. Do not unlock the host yet.
Wait for the host to be reported as
locked/disabled/online.Unlock the controller.
~(keystone_admin)]$ system host-unlock controller-0
Wait for the host to be reported as
unlocked/enabled/available.
Duplex
Repeat the procedure for each controller, starting with the standby controller.
Lock the standby controller.
~(keystone_admin)]$ system host-lock controller-1
Change the SNC/NPS setting in the standby controller’s firmware.
Reboot the standby controller. Do not unlock it yet.
Wait for the standby controller to be reported as
locked/disabled/online.Unlock the standby controller.
~(keystone_admin)]$ system host-unlock controller-1
Wait for the standby controller to be reported as
unlocked/enabled/available.Swact to the standby controller.
~(keystone_admin)]$ system host-swact controller-0
Lock the now-standby controller.
~(keystone_admin)]$ system host-lock controller-0
Change the SNC/NPS setting in this controller’s firmware.
Reboot this controller. Do not unlock it yet.
Wait for the controller to be reported as
locked/disabled/online.Unlock the controller.
~(keystone_admin)]$ system host-unlock controller-0
Wait for the controller to be reported as
unlocked/enabled/available.Optionally, swact back to the original active controller.
The platform detects the new NUMA topology on boot and adapts CPU and memory assignments accordingly. Verify the topology on the Processor and Memory tabs of the Host Inventory page.
Note
Changing the host topology — for example, enabling or disabling SNC/NPS or hyperthreading — may reset existing CPU core allocations to their defaults. After making such a change, review your platform and application CPU assignments and reconfigure them as needed to match your intended layout.