主板与平台
采用 技嘉(GIGABYTE)服务器主板,支持 PCIe 5.0 x16 插槽。
主板上安装一张 佰维(Biwin,基于Montage控制器)CXL 2.0 内存扩展卡。
该卡支持插入两条 DDR5 内存条,本次仅插入一条 16GB 三星 DDR5 RDIMM。
主机搭载 Intel Xeon 第6代至强处理器,12 核 24 线程,单 CPU 架构。
CXL 模块规格
接口:PCIe 5.0 x16(实际链路为 Gen5 x8)
桥接芯片:澜起科技(Montage)CXL 2.0 控制芯片
最大支持容量:双通道(2×DIMM 插槽)
当前配置:单条 16GB CXL 内存扩展模块
系统软件环境
操作系统:Linux(使用 free -h、numactl、lspci、mlc 等工具进行分析)
内存总容量:32GB(本地16GB + CXL扩展16GB)
BMC 初始化
系统上电后进入 BMC 初始化阶段,耗时约 30 秒并自动重启一次。
Memory Test 阶段
使用 BIOS 内置内存测试工具进行 pattern 读写验证。
测试显示系统成功识别 32GB 总内存,其中:
本地 DIMM:16GB
CXL 模块:16GB(三星 DDR5)
Pattern 测试采用 "moving inversions" 算法,验证 1/0 交替写入与读出正确性。
测试现象与稳定性说明
测试中若发生错误或ECC异常,系统可能自动重启。
在正常情况下,pattern 测试可无限循环运行。
free -h)Total Memory: 32GB
已用内存: 约2GB(操作系统占用)
CXL 内存: 16GB(NUMA Node 1)
本地内存: 16GB(NUMA Node 0)
numactl --hardware)Node 0 (Local Memory): 16GB,距离值(distance)= 10
Node 1 (CXL Memory): 16GB,距离值(distance)= 14
表明 CXL 内存访问路径较远,存在额外延迟
单 CPU 系统,因此 Node 1 无独立 CPU,仅作为远端内存节点存在
lspci -vvv)显示 CXL Montage 设备 运行于 PCIe Gen5 x8 模式。
金手指支持 x16,但主板实际协商带宽为 x8。
如果模块物理接口为 E3.S,则需要通过 SerialCables 转接板 转为主板插槽。
| 测试对象 | 平均延迟 | 对比差值 |
|---|---|---|
| 本地 DDR5 内存 | 115 ns | 基准 |
| CXL 内存模块 | 260 ns | +145 ns(约增加 126%) |
分析
延迟差主要来自:
PCIe 总线传输(单程约 100 ns)
CXL 控制器解析与协议层延迟
实测显示 PCIe 传输延迟占比不高,主要瓶颈在 CXL 控制器路径。
| 测试对象 | 平均带宽 |
|---|---|
| 本地 DDR5 内存 | 33 GB/s |
| CXL 扩展内存 | 24 GB/s |
分析
CXL 内存带宽约为本地内存的 73%。
随 Inject Delay(人工延迟)增加,带宽逐步下降至 20GB/s → 18GB/s → 14GB/s → 11GB/s。
延迟增加导致访问密度降低,带宽自然下降。
当模拟延迟(Injected Delay)从 0 纳秒增加至 1 微秒时:
平均带宽从 33 GB/s 降至约 20 GB/s;
平均延迟从 700 纳秒上升至 1~1.3 微秒。
延迟超过 2 微秒后,带宽明显降至个位数(<10GB/s)。
说明在高负载连续访问下,CXL 通道会显著受限于时延积累。
系统自动通过 NUMA 调度,将部分内存访问映射到 CXL 设备上。
若通过 numactl --membind=1 强制绑定至 CXL 节点,可确保所有测试流量均落在扩展模块上。
内存管理层(kernel memory management)根据地址空间自动选择访问目标:
Node 0: 本地内存(低延迟,优先级高)
Node 1: 远端 CXL 内存(高延迟,按需使用)
系统完整识别 CXL 2.0 扩展内存模块;
NUMA 拓扑正常映射;
可通过 MLC 工具精确测得延迟与带宽;
实测性能符合 CXL 2.0 内存扩展预期指标。
延迟提升约 150ns;
带宽下降约 27%;
在混合访问与系统自动映射情况下,性能表现稳定且无错误重启。
实证展示 CXL 2.0 内存扩展在单CPU服务器环境下的工作原理;
为后续研究 CXL memory pooling / tiered memory 提供参考;
验证了 Montage 控制器与 DDR5 DIMM 的兼容性;
说明 PCIe 5.0 x8 链路足以满足 16GB 模块级实验验证。
升级双DIMM配置 → 验证通道并发与带宽线性增长关系;
引入双CPU平台 → 测试跨节点访问性能与NUMA负载均衡;
采用性能计数器分析(perf + cxl-tool) → 定量比较 CXL 内存访问比例;
结合Micron CXL内存模组(E3.S) → 对比佰维CXL卡的延迟、功耗与协议兼容性;
研究 CXL 3.0/3.1 规范下的内存交换机制,评估系统级延迟改善潜力。
总结 本次实验系统地展示了 CXL 2.0 内存扩展模块在 PCIe Gen5 平台下的实际运行效果,从硬件识别、NUMA映射、带宽延迟到性能对比,形成了完整的闭环验证流程,证明 CXL 2.0 Memory Expander 已可在通用服务器平台上稳定运行,并具备工业级性能参考价值。
https://pan.baidu.com/s/18_c11aeFhSBe2qa-jUFs_Q?pwd=mm9y 提取码: mm9y
如果你有其任何关于PCIe5&6.0, CXL, NVMe/NVMoF, NAND, DDR5/LPDDR5以及UFS测试方面的我问题想咨询,请访问:访问www.saniffer.cn / www.saniffer.com 访问我们的相关测试工具和产品;或者添加点击左下角“阅读原文”留言,或者saniffer公众号留言,致电021-50807071 / 13127856862,sales@saniffer.com。