您的位置:首页 > 技术方案 > 正文

CXL 的发展进程:目前尚未达到成熟阶段

时间:2025-05-27 14:41:28 浏览:23

近年来,CXL(Compute Express Link)正逐渐成为行业焦点。实际上,在开发 CXL 标准、基于该标准生产早期计算机硬件(如内存模块和内存服务器)以及从这些硬件获取性能数据方面,已经取得了显著的进步。通过性能数据,我们现在能够明确哪些应用程序最适合使用基于 CXL 的内存子系统,哪些则不太适合。

内存专家 Jim Handy 在一次分享中详细概述了 CXL 的现状。他形象地指出,就如同七个盲人摸象一样,CXL 凭借其在各个修订版本中新增的功能,具备了丰富多样的特性。CXL 主要可用于以下几个方面:

●保持多种处理器类型 (xPU) 之间的内存一致性。在多处理器协同工作的环境中,确保内存数据的一致性至关重要,CXL 能够有效实现这一目标。

消除数据中心内各个 CPU 中的闲置内存。数据中心中 CPU 的内存使用效率往往存在差异,CXL 可以优化内存资源的分配,减少闲置内存的浪费。

扩展可连接到单个 CPU 的内存量。随着应用程序对内存需求的不断增加,CXL 为单个 CPU 提供了更大的内存扩展空间。

增加 CPU、服务器或机架的内存带宽。更高的内存带宽能够提升数据传输速度,从而提高系统的整体性能。

支持持久内存。持久内存可以在断电情况下保留数据,为数据的安全性和可靠性提供保障。

隐藏 DDR4、DDR5 和 DDR6 SDRAM 库之间的操作差异。不同类型的 SDRAM 在操作上存在差异,CXL 能够屏蔽这些差异,使系统更加稳定。

在 xPU 之间传递消息。实现不同处理器之间的高效通信,促进系统的协同工作。

根据应用程序的不同,其中一些功能将比其他功能更为重要。正如 Handy 通过来自可能使用 CXL 内存的不同系统 OEM 的回应所说明的那样:

Google:闲置内存并不重要,因为 Google 的虚拟机非常小,可以轻松高效地装入 CPU 内存中。

IBM 和佐治亚理工学院:DDR 不是一个好的答案,因为多处理器 CPU 在 DDR 通道上排队的效率低于与 CXL 内存通信的效率。

AI 提供商:我们需要 GPU 上巨大的内存和 HBM 存储的快速加载。

超大规模:我们想要 “任意到任意” 的 xPU 连接。

PC OEM:CXL 并非立即可用。

Handy 还指出,CXL 是一个相对较新的标准。CXL 联盟于 2019 年发布了 CXL 1.0 和 CXL 1.1。CXL 2.0 于 2020 年底发布,它增加了 CXL 交换的概念,以支持数据中心机架内的多个主机 xPU。CXL 3.0、3.1 和 3.2 增加了多项功能,包括多个交换机层,以支持跨机架通道的连接,预计将于 2022 年至 2024 年间发布。

CXL 联盟系统和软件工作组联合主席 Mahesh Natu 展示了一张图表,说明了多年来 CXL 的覆盖范围如何从单个 CPU 系统扩展到机架,再扩展到机架通道:

1.1.png

在演示过程中,Natu 还展示了常见的内存层次结构图,展示了服务器上以及连接到服务器系统网络结构的 CXL 内存如何融入层次结构。然而,这幅图并不能展现全貌。这些金字塔代表了服务器中单个 CPU 的内存层次结构:

1.2.png

而越来越明显的是,CXL 仅在多服务器环境中才有意义。因此,多维内存层次结构可能如下所示:光纤连接 CXL 内存位于服务器主内存(通常为本地连接的 SDRAM)和闪存 SSD 或 HDD 存储之间,但跨越 CXL 网络中的所有服务器。

1.3.png

显然,CXL 的目标客户是数据中心级的大型系统。因此,PC OEM 对此兴趣不大也就不足为奇了,就像他们对数据中心架构日益重要的 800Gbps 以太网端口并不特别感兴趣一样。

基于上述系统开发人员的不同兴趣以及当前操作系统对 CXL 内存子系统的支持相对缺乏,Handy 预测 CXL 内存子系统的销售要到 2027 年才会开始腾飞。

尽管 CXL 硬件尚不成熟,且目前缺乏支持其众多功能的软件,但已有一些报告开始展现 CXL 在大型系统中的优势。MART 模块化技术高级产品营销经理 Torry Steele 的演讲部分提供了一些见解。他的第一个主题是直接比较 DDR 内存与 CXL 内存的延迟和带宽。DDR 内存控制器与直接连接的 DDR SDRAM 之间的延迟约为 100 纳秒。CPU 片上 CXL 内存控制器与使用 PCIe gen5 协议的 CXL 内存板或模块之间的延迟约为 170 到 210 纳秒,大约是观察到的 DDR 延迟的两倍。如果插入一个 CXL 交换机,延迟将变为 270 到 510 纳秒。显然,使用 CXL 内存会增加内存延迟。

从带宽角度来看,DDR5 - 6400 SDRAM DIMM 的传输速度约为 51.2 GB / 秒,而通过 16 通道 PCIe Gen5 连接连接到 CPU 片上 CXL 内存控制器的 CXL 内存板的传输速度为 64 GB / 秒。因此,这两种连接系统具有可比性,但 CXL 连接所需的 CPU 引脚数要少一个数量级,因此在引脚数相同的情况下,以 CXL 为中心的 CPU 可以设计比 DDR 端口多得多的 CXL 端口,从而实现更优的内存带宽,并直接支持更大的内存子系统,但这同样是以延迟为代价的。有些应用程序对延迟敏感,而有些应用程序对延迟不太敏感,只是需要更高的内存带宽。

美光公司和 AMD 进行了测试,并发表了题为 “CXL 内存扩展:深入了解实际平台” 的白皮书,结果表明基于 CXL 的内存子系统可提供显著的性能优势,具体取决于应用程序。在受内存容量限制的系统上使用 TPC - H 基准进行的 Microsoft SQL 数据库测试中,使用 CXL 扩展系统内存容量可将 SSD I/O 分页减少 44% 至 88%,并使应用程序性能提升 23%。在涉及 Apache Spark(一种专为大规模数据处理而设计的开源分析引擎,运行监督式机器学习算法 SVM)的机器学习测试中,CXL 内存使性能提高了一倍以上。当应用程序的 20% 的内存存储映射到 CXL 内存时,CloverLeaf HPC(高性能计算)应用程序的性能提高了 17%。在该应用程序中,与本地连接的 DRAM 相比,CXL 内存为应用程序提供的内存带宽增加了 33%。

总体而言,基于 CXL 标准的内存子系统现已投入生产。测试表明,CXL 内存子系统在某些应用中能够带来切实的效益。某些系统开发商(例如数据中心超大规模企业)对 CXL 内存子系统的兴趣会比其他开发商更大。最后,CXL 至少还需要一两年的时间才能成熟,成为能够在数据中心广泛应用的产品。