摘要:事实上,在开发 CXL 标准、基于该标准生产早期计算机硬件(内存模块和内存服务器)以及从该硬件获取一些性能数据方面确实取得了长足的进步。从性能数据中,现在可以确定哪些应用程序最适合使用基于 CXL 的内存子系统,哪些不适合。
近年来,CXL正在成为大家的焦点。
事实上,在开发 CXL 标准、基于该标准生产早期计算机硬件(内存模块和内存服务器)以及从该硬件获取一些性能数据方面确实取得了长足的进步。从性能数据中,现在可以确定哪些应用程序最适合使用基于 CXL 的内存子系统,哪些不适合。
内存专家Jim Handy在一个分享中概述了 CXL 的现状。他首先指出,就像七个盲人摸象一样,CXL 凭借其在各个修订版本中新增的功能,拥有了丰富的功能。CXL 可用于:
保持多种处理器类型 (xPU) 之间的内存一致性。
消除数据中心内各个 CPU 中的闲置内存。
扩展可连接到单个 CPU 的内存量。
增加 CPU、服务器或机架的内存带宽。
支持持久内存。
隐藏 DDR4、DDR5 和 DDR6 SDRAM 库之间的操作差异。
在 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 系统扩展到机架,再扩展到机架通道:
多年来,CXL 的覆盖范围已从单个 CPU 系统扩展到机架,再到机架通道
在演示过程中,Natu 展示了常见的内存层次结构图,展示了服务器上以及连接到服务器系统网络结构的 CXL 内存如何融入层次结构:
CXL 内存位于服务器主内存(目前通常为 SDRAM)和存储设备(闪存 SSD 或 HDD)之间
然而我认为这幅图并不能展现全貌。这些金字塔代表了服务器中单个 CPU 的内存层次结构。然而,越来越明显的是,CXL 仅在多服务器环境中才有意义。因此,多维内存层次结构可能如下所示:
光纤连接 CXL 内存位于服务器主内存(通常为本地连接的 SDRAM)和闪存 SSD 或 HDD 存储之间,但跨越 CXL 网络中的所有服务器
显然,CXL 的目标客户是数据中心级的大型系统。因此,PC OEM 对此兴趣不大也就不足为奇了,就像他们对数据中心架构日益重要的 800Gbps 以太网端口并不特别感兴趣一样。
基于上述系统开发人员的不同兴趣以及当前操作系统对 CXL 内存子系统的支持相对缺乏,Handy 预测 CXL 内存子系统的销售要到 2027 年才会开始腾飞。以下是他在 SNIA 网络研讨会期间展示的图表:
Jim Handy预测,除非有支持 CXL 功能的软件出现,否则基于 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 至少还需要一两年的时间才能成熟,成为能够在数据中心广泛应用的产品。
https://www.eejournal.com/article/a-cxl-progress-report-the-elephant-is-learning-to-dance/关注全球半导体产业动向与趋势
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第4047期内容,欢迎关注。
『半导体第一垂直媒体』
来源:半导体行业观察一点号