AMD Turin(EPYC 9005 系列)作为 Zen 5 架构的服务器处理器,其内存子系统采用 12 通道 DDR5 设计,支持最高 DDR5-6400 MT/s(1DPC 配置),理论读带宽达 576 GB/s。该架构通过 GMI3-W 链路(每 CCD 双链路,写宽 32B)实现 CCD 间与 IOD 互联,支持多种 NUMA 节点配置(NPS=0/1/2/4),其中 NPS=0 退化为 UMA-like 模式,所有内存视为单一统一域,适合全局访问负载,但跨 socket 延迟较高。
在 UMA 模式下,内存访问强调缓存一致性(coherency),Turin 依赖 Infinity Fabric 协议维护 MOESI 状态。实测显示,未加载内存延迟与 Genoa 相近,“Turin’s unloaded memory latency is very similar to Genoa’s unloaded memory latency。” 加载时单 CCD 增加 39ns,全系统 31ns,表明 coherency 开销在高并发下可控。
核心间延迟基准揭示 UMA 优劣:intra-CCD 约 45ns,inter-CCD 150ns,socket-to-socket 260ns,比 Genoa 略升,主要因 Zen 5 缓存调整与 GMI 优化。全 socket 读带宽近 99% 理论值(576 GB/s),写 435 GB/s,加法 453 GB/s。单 CCD 读 52 GB/s,凸显 CCD 内 UMA 高效,但跨 CCD 需 coherency 广播,延迟放大 3 倍。
对比 NUMA(NPS=4,每 CCD 一节点),UMA(NPS=0)全局带宽高 26%(Stream Triad ~540 GB/s vs 400 GB/s),但平均延迟低(~380ns),适合小数据集随机访问;NUMA 本地延迟 110ns,跨域 490ns,利好 HPC 局部性负载。Coherency 在 UMA 下广播开销大,高负载易抖动 ±15%,NUMA 目录式更稳。
工程优化策略聚焦阈值选择与落地参数:
-
BIOS NPS 配置阈值:
- NPS=0 (UMA):数据集 < 本地内存 20%,全局随机访问(如数据库 OLTP),预期带宽提升 5-10%。
- NPS=1 (1/CCD):中型 HPC,线程数 < CCD 核心 ×1.5,延迟阈值 < 200ns。
- NPS=4:大模型训练,跨 CCD>30%,监控远存率 < 10%。
- 回滚:若 perf remote_access>15%,降 NPS。
-
进程绑定清单(numactl):
- 单进程:
numactl --cpunodebind=0 --membind=0 stream(UMA 本地化)。 - 多进程 MPI:
numactl --cpunodebind=0-7 --membind=0 mpirun ...(CCD 内)。 - 容器:Kubernetes topologySpreadConstraints.nodeAffinityPolicy: singleTopologyPreferSpreading,nodeSelector: topology.kubernetes.io/numa-node。
- 单进程:
-
监控与阈值:
指标 工具 阈值 行动 远存率 perf stat -e cycles,node-loads,node-stores <5% 绑定优化 延迟抖动 mlc --csv ±10% NPS 降级 Coherency miss amd_iommu stat <2% GMI freq 检查 带宽饱和 turbostat C1/C3 >80% 降频回滚 -
参数清单:
- 内存:1DPC DDR5-6000,ECC RDIMM。
- Kernel:numa_balancing=0(禁用自动迁移),zone_reclaim_mode=1。
- 回滚策略:基准前 / 后 Stream/MLC 对比,若下降 > 10%,BIOS NPS=1 默认。
实际部署中,Turin UMA 模式下 LLM 推理(如 DeepSeek)单路 8CCD 可达 6-8 t/s,双路需优化 NUMA 跨 socket(120 GB/s GMI3)。结合上述,HPC 性能可提 20%,数据库吞吐升 15%。
资料来源:Chips and Cheese Turin 实测(https://chipsandcheese.com/p/amds-turin-5th-gen-epyc-launched);AMD EPYC 文档;Stream/MLC 基准。