NUMA/SNC 4种组合下Stream+MLC性能对决:双路服务器BIOS调优全攻略_numa的四种模式
关于调整 BIOS NUMA 与 SNC 选项的 Stream / MLC 性能测试总结
一、测试背景与目的
在现代多路 Intel Xeon 服务器上,NUMA(Non-Uniform Memory Access)与 SNC(Sub-NUMA Clustering)是两项决定内存访问延迟与带宽的关键 BIOS 选项。
通过 Stream(内存带宽)与 MLC(Intel® Memory Latency Checker)两组基准测试,系统评估了 NUMA=on/off 与 SNC=enable/disable 四种典型组合对单机内存子系统性能的影响,为后续 HPC、数据库及 AI 训练平台的 BIOS 调优提供定量依据。
二、测试环境
三、关键 BIOS 选项说明
四、测试矩阵与结果
4.1 Stream 带宽 (Triad 值,单位 GB/s)
说明:
SNC 细分节点可轻微提升 本地带宽(本地内存控制器利用率更高),但跨域访问导致 全局带宽下降。
NUMA=off 时 UMA 模式虽单节点带宽最高,但远端访问比重增大,整体 全局带宽跌幅达 26 %。
4.2 MLC 延迟与跨节点带宽
说明:
SNC 把 LLC 与控制器进一步分区,本地延迟降低 10~15 ns,代价是跨域链路变长,延迟与带宽同步恶化。
NUMA=off 的平均延迟虽低,但高并发下 抖动增大 ±15 %。
五、现象总结
1. 带宽 vs 延迟的权衡
SNC 通过更精细的 NUMA 拓扑换取更低本地延迟;对 单进程、内存局部性良好的应用(如 OpenMP HPC)有 5~7 % 带宽提升。
对 跨节点随机访问型负载(如大型数据库、分布式缓存)则性能下降。
2. UMA 模式的局限
NUMA=off 虽简化编程模型,但在双路系统上,跨插槽 QPI/UPI 带宽瓶颈明显,Stream 全局带宽下降 25 % 以上。
3. 核心/线程绑定的重要性
在 SNC-enable 场景下,若未使用 `numactl --cpunodebind=X --membind=X` 进行绑定,Stream 成绩会回落到与 NUMA-on SNC-disable 相近水平,收益消失。
六、调优建议
七、结论
保持 NUMA 开启 是现代双路及以上服务器的首要原则,可显著提升内存并发效率。
SNC 是一把双刃剑:在 已知内存访问模式且高度局部化 的场景下启用,可再挖掘 5~10 % 性能;否则保持关闭以获得可预测的全局带宽。
Stream 与 MLC 的量化数据证明,任何 BIOS 调整都必须结合实际应用的 NUMA 亲和策略,否则可能抵消硬件优化收益。
八、后续工作
1. 对 SNC4 (4 分区) 与异构 DIMM(Intel Optane PMem)组合进行复测。
2. 引入 OS 层参数(transparent hugepages、zone_reclaim_mode)交叉验证。
3. 在 AMD EPYC 平台 (NPS0/1/2/4) 上重复同一测试流程,完成跨平台对比。


