跳过正文

使用CXL打破内存墙

CXL Memory Wall
目录

数据处理的增加、虚拟化的广泛使用以及内存中计算的增加,使得服务器对CPU附加内存的需求呈指数级增长。人工智能、机器学习、大数据和分析等现代工作负载加剧了数据中心管理人员面临的内存挑战。训练大型语言模型(LLM),如GPT-4、Llama 2和PaLM 2需要大的内存容量和计算能力。

随着处理器核数的不断增加,实现更快、更复杂的计算,就需要更多的内存。CXL内存可以提供所需的扩展内存容量。最新的Intel Xeon处理器支持最新一代DDR和CXL内存,为客户提供优化配置所需的灵活性,以最好地满足其工作负载需求。

此外,以每千兆美元($/Gbit)计算的DRAM成本并没有像人们预期的那样随着下一代存储节点的增加而降低。由于内存占服务器成本的50%以上,因此有很大的机会优化成本并有效地使用内存资源。

作为技术创新者,英特尔在开发新的I/O、内存和存储标准方面有着成功的历史。2019年,英特尔宣布为处理器、内存扩展和加速器开发一种新的缓存/内存相干互连协议,称为CXL。CXL联盟于同年成立,成员包括阿里巴巴、思科、戴尔、Meta、谷歌、惠普、华为和微软。今天,该联盟拥有250多家成员公司,并且还在继续增长。

CXL概述
#

与PCIe类似,CXL是一种将设备连接到CPU或任何其他计算元素(如GPU)的协议。CXL也运行在与PCIe相同的物理层链路上,称为“PHY链路”。但是,CXL与PCIe的不同之处在于,它支持与附加设备共享一致内存。CXL的一个用例是附加连贯内存加速器设备;另一个流行的用例是简单地向服务器添加更多内存。显然,CXL在增强内存带宽和容量方面非常重要。

CXL利用PCIe的高速通信能力,显著提高CPU与连接设备(包括内存扩展模块)之间的数据传输速率。第一代CXL链路的运行速度与PCIe Gen5相同,在16通道链路上,每个方向最高可达64GB/s。

内存扩展
#

CXL提供了一种使用CXL内存扩展器增加服务器内存容量的新方法。ASIC或CXL控制器管理CXL内存扩展器内附加的DRAM。它将传入的CXL命令转换为相应的DRAM读/写命令。

所有主要的内存供应商都是扩展CXL生态系统的一部分,并制定了路线图,提供具有高达512 GB DDR5 DRAM内存。CXL内存扩展器数据中心管理人员可以使用CXL Memory expander将其服务器内存容量扩展到数十TB,同时实现每秒数TB的内存带宽。

操作系统通常将添加的CXL内存视为第二层;本机DRAM是“近”内存,而CXL内存是“远”内存。Linux操作系统在过去几年中不断发展,以隐藏两层之间的延迟差异。这是通过使用“热/冷”页迁移技术来实现的,该技术将CXL内存中频繁访问的数据(“热页”)提升到近内存,同时将“冷”页从近内存迁移到CXL内存。在使用CXL内存扩展器时,不需要修改用户应用程序。

节省内存TCO
#

使用CXL添加内存的另一个好处是可以在CXL内存缓冲区后面使用更便宜的内存。美光提供128GB的CXL模块,使用的是老一代DDR芯片DDR4内存。从英特尔Xeon6处理器开始,英特尔计划提供一种独特的硬件控制内存分层功能,称为英特尔Flat memory模式,它可以在两个内存层之间迁移数据,而不依赖于操作系统。

此外,CXL v2.0及更高版本提供了对持久内存的支持。这一点很重要,因为基于CXL的持久内存预计会比DRAM便宜。这种内存在选择内存供应商的路线图上。

内存带宽扩展
#

添加CXL内存扩展了系统总内存带宽,因为它为访问数据创建了更多通道。平均而言,x16 CXL链路的带宽是DDR5内存通道的2倍。系统的内存带宽可以使用“内存交错”进一步增加。这对于像HPC和AI/ML领域带宽饥渴的工作负载来说是一个巨大的福音。

预计Linux操作系统将从v6.9版本开始提供此功能。第五代Intel Xeon处理器提供异位交错,这是一种独特的硬件控制内存交错功能。硬件控制的内存交错对于云服务提供商和OEM来说非常方便,因为他们的系统不依赖于操作系统进行内存交错。

内存池
#

内存池允许在计算系统内的多个设备之间共享内存资源。它使不同的加速器(如GPU、FPGA和其他专用处理器)能够像访问本地内存一样访问和利用公共内存资源池(通常是DRAM)。尽管仍处于概念验证阶段,但CXL内存池将提高资源效率、节省成本、增强可扩展性和性能,并简化编程。

CXL的好处
#

人工智能、虚拟桌面基础设施和内存数据库等内存密集型工作负载主导着当今的计算领域,但通过添加CPU附加的DRAM来增加内存容量是非常昂贵的。CXL协议在现有的PCIe链路上运行,允许以较低的成本增加系统内存,并得到了技术公司和行业领导者联盟的广泛支持。

相关文章

基于CXL接口的NAND闪存
Kioxia Nand CXL
CXL内存扩展卡在服务器上如何安装和配置
CXL Memory Expansion
三星公司的CXL内存模块解决方案
CXL CMM-B Samsung