本文来自微信公众号“半导体产业纵横”,【作者】鹏程。
数据处理的增加、虚拟化的广泛使用以及内存中计算的增加,使得服务器对CPU附加内存的需求呈指数级增长。人工智能、机器学习、大数据和分析等现代工作负载加剧了数据中心管理人员面临的内存挑战。训练大型语言模型(LLM),如GPT-4、Llama 2和PaLM 2需要大的内存容量和计算能力。
随着处理器核数的不断增加,实现更快、更复杂的计算,就需要更多的内存。CXL内存可以提供所需的扩展内存容量。随着下半年首批支持CXL 2.0的服务器CPU问世,CXL有望正式进入商业化阶段。
01 什么是CXL?
所谓CXL,也就是Compute Express Link。作为一种开放标准的高速互联协议,CXL的推出主要是要解决计算器件和内存之间的互联问题,主要是为了改善处理器与加速器、内存扩展设备等之间的通信。
从技术上看,CXL是通过现有的PCIe(Peripheral Component Interconnect Express)物理层传输信号,但在协议层面上引入了新的特性和改进,以显著提升系统中处理器、加速器和内存设备之间的数据交换效率和一致性,使得资源共享具有更低的延迟,减少了软件堆栈的复杂性,并降低了整体系统成本,为高性能计算和大规模数据处理提供了更为强大的支持。
CXL技术的背景可以追溯到PCIe(Peripheral Component Interconnect Express)技术,PCIe是用于连接计算机内部组件的一种标准接口技术。PCIe设备可以发起一个DMA来访问内存,只要知道目标物理地址即可。
CXL支持三种协议,分别是CXL.io、CXL.cache和CXL.memory。其中CXL.io主要用于传统的I/O操作,与PCIe类似;CXL.cache和CXL.memory则提供了缓存一致性和内存访问能力,使得CPU与加速器或内存扩展设备之间能够共享和一致性地访问内存。这对于加速器(如GPU、FPGA)而言尤为重要,因为它们可以更有效地访问系统内存,而不必通过缓慢的I/O通道。
在CXL之前就有以IBM牵头的OpenCAPI,ARM为代表支持的CCIX,AMD等支持的GenZ和Nvidia自行提出的Nvlink等等多种协议。虽然PCIe已经有了很多改进,但其难以满足现代计算机处理器和加速器之间的高带宽、低延迟通信需求。于是,CXL技术应运而生。
2019年3月,CXL的技术联盟成立,全球头部的CPU厂家与服务器厂家都参与其中。联盟成立之初便推出了CXL1.0协议标准,英特尔的Sapphire Rapids处理器和AMD EPYC Genoa处理器均支持该技术。半年时间后发布了CXL1.1协议标准,后续首批落地的产品都是基于CXL1.1的标准。
2020年10月,联盟发布了CXL2.0协议标准。CXL 2.0规范主要增加了内存池的支持,以最大限度地提高内存利用率,并且提供了对持久性内存的标准化管理,允许与DDR同时运行,从而可以释放DDR用于其他用途。并且CXL 2.0规范也向后兼容CXL 1.1和CXL 1.0。在内存池方面,CXL 2.0支持切换以启用内存池。使用CXL 2.0交换机,主机可以访问池中的一个或多个设备。尽管主机必须支持CXL 2.0才能利用此功能,但内存设备可以是支持CXL 1.0、1.1和2.0的硬件的组合。在1.0/1.1中,设备被限制为一次只能由一台主机访问的单个逻辑设备。然而,一个2.0级别的设备可以被划分为多个逻辑设备,允许多达16台主机同时访问内存的不同部分。通过转向CXL 2.0直连架构,数据中心还可以获得主内存扩展的性能优势,以及池内存的效率和总体拥有成本(TCO)优势。
2022年8月,联盟发布了CXL3.0协议标准,增加了fabric的概念,支持多个Switch之间更高维度的互联,可以应用到更高的体系架构中,实现进一步内存和带宽的扩展。
CXL技术被视为下一个高频宽内存技术,它通过建立高带宽连接,使CPU、GPU和其他加速器之间能够高速通信,从而实现更快速、更灵活的数据处理。CXL技术的发展预计将进一步提升服务器效率,在AI时代DRAM的受益程度不亚于GPU。随着数据量与计算需求的急剧增加,传统内存架构已难以满足现代应用的需求,CXL的引入为实现更高的存储带宽与更低的延迟提供了可能。
到目前为止,CXL技术联盟拥有超过200多家成员,CPU厂家、服务器厂家、存储器厂家陆续加入,整个生态在飞速发展阶段,各种各样的产品已经落地应用。
02 2024年巨头加速布局CXL 2.0
在此情况下,为了在AI浪潮中,拔得头筹。巨头也开始争相布局CXL 2.0技术。
2023年初,英特尔发布了支持CXL1.1协议的SPR CPU,接着又发布了另外一款基于CXL1.1协议的EMR CPU。今年三季度,英特尔发布了两款支持CXL2.0协议的CPU,Granite Rapids和Sierra Forest(已更名为“至强6”),CXL通道数从SPR和EMR的32个增加到64个。
至强6是英特尔第一代支持CXL 2.0规范的处理器,可商用部署。在至强6平台上,CXL 2.0的一种用法是CXL内存和DDR内存交织,从而扩大容量,实现并发访问,提高总峰值带宽。
AMD也是2023年发布了支持CXL1.1协议的Genoa CPU,今年二季度发布了支持CXL2.0协议的第五代EPYC处理器,其家族代号为“Turin”。
与此同时,存储巨头也在加速布局CXL。
今年九月,SK海力士宣布,公司已将用于优化CXL(Compute Express Link)存储器运行的自研软件异构存储器软件开发套件(HMSDK)的主要功能成功搭载于全球最大的开源操作系统Linux上。这一进展标志着SK海力士在软件竞争力方面也获得了广泛认可,有助于推动CXL技术在数据中心和服务器系统中的应用。
SK海力士HMSDK在不修改现有应用程序的情况下,将内存封装的带宽提高了30%以上。它通过基于现有内存和扩展的CXL内存之间的带宽有选择地分配内存来实现这一点。此外,该软件通过基于访问频率的优化,将频繁访问的数据重新定位到更快的内存中,从而使性能比传统系统提高了12%以上。
SK海力士正在与客户一起验证96 GB和128 GB容量的CXL 2.0内存。该公司计划在今年年底开始大规模生产。
除了SK海力士,三星电子也积极投入CXL研发,2021年5月就推出了基于DDR5技术支持CXL互联标准的内存模块,并随后发布了首款支持CXL内存平台设计的开源软件解决方案。
今年1月,三星宣布与开源软件商Red Hat合作,在Red Hat Enterprise Linux(RHEL)9.3操作系统中,首次成功验证了CXL在真实用户环境中的运行,包括内存识别、读取和写入操作。6月,随着实际应用研究进入最后阶段,三星宣布已建立由Red Hat认证的CXL基础设施。7月,三星电子内存部门新业务规划团队负责人Choi Jang Seok表示,三星将在年底开始量产符合CXL 2.0协议的256GB CMM-D 2.0模块。
10月份,三星展示了其在CXL技术方面的进展,其计划在2024年底前量产符合CXL 2.0协议的256GB CMM-D,且同联想一道完成了业界首个128GB CMM-D CXL内存模块联合验证。受测CMM-D模块搭载三星电子12nm级32Gb DDR5 DRAM颗粒与澜起科技的新一代CXL控制器,相较以往产品带宽提升10%,延迟降低20%,在支持CXL的联想服务器上成功进行了测试。
除CMM-D外,三星电子还规划了多个类型的CXL存储产品,包含配备多个CMM-D模块的CMM-B内存盒模组、同时搭载DRAM内存和NAND闪存颗粒的CMM-H混合存储模组。
03 CXL 3.1也来了
自2019年首次发布以来,CXL在过去几年里已经演进到了CXL 3.1标准。在适用范围方面,也从一开始的仅支持有限功能,增加到对横向扩展CXL进行了额外的结构改进、新的可信执行环境增强以及内存扩展器的改进。
CXL 3.0响应了设备供应商的需求,将比CXL 1.X版本提升了带宽,并将一些原本复杂的标准设计简单化,确保易用性。这是2020年CXL 2.0标准引入内存池和CXL开关功能之后较大的改动,CXL 3.0将侧重于物理和逻辑层面的升级,在物理层面,CXL将每通道吞吐量提升了一倍,达到64GT/s。在逻辑层面,CXL 3.0扩招了标准逻辑能力,允许更复杂的连接拓扑,以及一组CXL设备内可以灵活实现内存共享和内存访问。相对于CXL 1.X和CXL 2.0建立在PCIe 5.0之上,CXL 3.0与PCIe 6.0规范进行合并,这也使得CXL 3.0成为标准建立以来第一次物理层更新。
CXL 3.1是对CXL 3.0版本的渐进性的更新,新规范对横向扩展CXL进行了额外的结构改进、新的可信执行环境ehnahcments以及对内存扩展器的改进。
如今,众多厂商正在布局CXL3.0和3.1。
最近,SK海力士和一家韩国上市IC设计公司签订了一份311亿韩元规模的CXL(Compute Express Link)高速互联存储器控制器设计合约,期限至2026年6月30日。考虑研发所需时间,预计CXL3.0或3.1芯片将通过台积电5纳米制程量产。
今年11月,AMD发布第二代Versal Premium系列自适应SoC平台。这也是FPGA行业首款在硬IP中采用CXL3.1与PCIe Gen6并支持LPDDR5存储器的器件,实现了业界领先的高带宽主机CPU与加速器的连接。与CXL 2.0相比,能够实现两倍的带宽,并且可以利用NUMA轻松与现有的软件集成。第二代AMD Versal Premium系列开发工具预计将于2025年第二季度提供,随后于2026年初提供芯片样片。预计将于2026年下半年开始量产出货。
三星电子内存部门新业务规划团队负责人Choi Jang Seok称:“当CXL 3.1和池化(可在多个主机间共享CXL内存资源)技术得到支持后,CXL市场将在2028年左右全面开花。”