Linux 6.5 Brings Sub-NUMA Clustering Support For HPE SGI UV Servers
While Intel Xeon server processors have supported sub-NUMA clustering (SNC) for a while, HPE SGI UV servers with SNC enabled haven't worked under Linux... But with Linux 6.5 that is changing.
Sub-NUMA Clustering splits the CPU cores / cache / memory of a processor into multiple NUMA domains. Sub-NUMA Clustering has been available with Intel Xeon processors for years and enabling SNC from the BIOS can help the performance of many NUMA-aware workloads. But it turns out the SNC functionality on Ultraviolet / HPE SGI UV platforms was never properly vetted under Linux.
Intel Linux engineer Dave Hansen explained in the x86/platform pull for the Linux 6.5 kernel:
Reworking around two hundred lines of code now allows Sub-NUMA Clustering on HPE SGI UV servers to actually work correctly on Linux. As of yesterday this UV platform update was merged to Linux 6.5.
Sub-NUMA Clustering splits the CPU cores / cache / memory of a processor into multiple NUMA domains. Sub-NUMA Clustering has been available with Intel Xeon processors for years and enabling SNC from the BIOS can help the performance of many NUMA-aware workloads. But it turns out the SNC functionality on Ultraviolet / HPE SGI UV platforms was never properly vetted under Linux.
Intel Linux engineer Dave Hansen explained in the x86/platform pull for the Linux 6.5 kernel:
"Please pull some x86/platform changes for 6.5. These allow CPUs in SGX/HPE Ultraviolet to start using Sub-NUMA clustering (SNC) mode. SNC has been around outside the UV world for a while but evidently never worked on UV systems.
SNC is rather notorious for breaking bad assumptions of a 1:1 relationship between physical sockets and NUMA nodes. The UV code was rather prolific with these assumptions and took quite a bit of refactoring to remove them."
Reworking around two hundred lines of code now allows Sub-NUMA Clustering on HPE SGI UV servers to actually work correctly on Linux. As of yesterday this UV platform update was merged to Linux 6.5.
1 Comment