我们最近针对CXL协议交流的时候,不少用户非常关心CXL transaction的响应延迟。我们今天的大概7min的视频通过一个真实的CXL内存扩展模块实例详细讲述了如何通过抓取PCIe链路上的CXL交互来诊断延迟相关信息,具体参见底部视频。
如果你觉得这篇文章对你有帮助,也希望帮助到更多人,欢迎分享到朋友圈或者与朋友讨论!我们组织这些文章,准备图片和视频素材,不论自己搭建环境拍摄视频,还是找寻一些第三方优秀视频,外加做中英文翻译、校对、添加字幕文件方便各位观看,这些都花费很多时间。
CXL延迟测试分析总结
1. 测试环境与数据概述
本次延迟测试是在2024年4月进行的,使用了一台X86架构的服务器,并搭载了业内一款CXL 2.0 EDSFF Gen5 X8内存扩展模块。测试数据通过插卡接口转换,采用了专用的SerialTek PCIe/CXL协议分析仪进行数据抓取。抓取的数据量为11.34GB,包含了CXL和PCIe协议的相关信息。
2. 数据捕获与分析工具
数据是通过CXL内存扩展模块转接至插卡,通过中间的interposer实现与分析仪的连接。这一过程能够精准捕获所有数据包,并通过时间轴对CXL和PCIe协议的传输进行细致分析。
3. 数据分析与延迟测量
在数据分析过程中,时间轴的视图帮助我们直观展示了从CPU到CXL内存扩展模块的数据传输过程。测试中,CXL 2.0协议的延迟被详细记录,包括了多种类型的事务,如Master to Slave、Request memory和Request memory read等。
CXL延迟分析:
CXL延迟分为多个部分,其中最为关注的是从Master到Slave的请求和数据读写的延迟。
各项延迟统计显示,最短的延迟为205纳秒,而最长的则为866纳秒。这表明在此工程样品中,延迟波动较大,可能与实验条件和硬件版本有关。
通过统计数据,延迟的分布可分为多个区间:
最快延迟:大约在205纳秒左右。
最慢延迟:最高可达866纳秒。
延迟分布:大多数请求的延迟都集中在212纳秒到214纳秒之间。整个数据集的平均延迟为213纳秒。
5. 详细的延迟数据查看与操作
在分析过程中,用户可以利用工具对每个数据包进行精确放大查看。通过放大视图,可以查看每一笔事务的具体延迟时间,从而了解不同数据传输的具体延迟。例如,某些事务的延迟最高可达到360纳秒,这些事务通常会被标记为异常。
6. 总结与结论
CXL延迟的总体情况:
该测试使用的工程样品存在一定的失败率,尤其在请求阶段,导致了部分事务的延迟增加。
由于该硬件属于工程样品,测试结果中出现了一些未能成功执行的请求,可能与样品的稳定性有关。
如果是正常生产的硬件,延迟和请求失败的情况应该会有所改善。
通过时间轴和数据包的详细展示,测试人员可以直观地查看每个数据包的延迟,并对异常的请求进行定位和分析。这种方式使得CXL延迟的分析更加精确和清晰。
最后,如果你有其他任何关于PCIe5&6.0, CXL, NVMe/NVMoF, NAND, DDR5/LPDDR5以及UFS测试方面的问题想咨询,请添加saniffer公众号留言,或致电021-50807071 / 13127856862,sales@saniffer.com。