Compute Express Link(CXL)协议可以说是计算界发展最快的规范,许多供应商刚熟练掌握2.0的功能,具有更多功能的3.0就已经推出了。
最近召开的闪存峰会为该协议的最新功能开辟了一个论坛,在该论坛上,众多供应商都介绍了他们如何在为这个生态系统做出贡献。该论坛还是一个宣布在CXL集团下进一步整合相关标准的平台,而CXL集团最近也成为了一个正式联盟。
不管他们在这个生态系统中的位置如何,一个反复出现的主题是,CXL规范是革命性的,而不是进化性的,不像PCI Express(PCIe)等其他协议已经稳定运行十多年了。
CXL 3.0增加了先进的交换和结构功能、高效的对等通信以及跨多个计算域的细粒度资源共享功能。总之,它支持更多的功能解集,这将对数据中心产生重大影响。
于2019年3月首次推出的CXL是一种行业标准的互连规范,利用主机处理器与加速器、内存缓冲器和I/O接口等设备之间的高带宽、低延时连接提供一致性和内存语义。它跨标准PCIe运行,并使用一个灵活的处理器端口,可以自动协商为标准PCIe事务处理协议或替代性的CXL事务处理协议。
越来越明显的是,CXL互连有望对数据中心产生重大影响,因为它要努力跟上指数级增长的数据和计算需求,而仅仅通过增加越来越多的内存是无法经济有效地满足这些需求的。CXL联盟主席Siamak Tavallaei在接受《EE Times》采访时表示,随着CPU内核数量的增加和对更多内存带宽的需求,内存本身需要更高效。CXL可以为足以满足数据中心和大型云计算环境要求的基础设施提供必要的方法。
据他透露,自从CXL 2.0的开发工作开始以来,联盟内的不同团队已经解决了很多旧的用例问题,并开发了新的用例来发挥该协议的优势,进而创建了最新版本中的许多功能。CXL现在已经到了不再只是PPT演示和书面规范的地步。Tavallaei补充道:“基于硅的解决方案已经在开发、验证和鉴定过程中”。
图1:CXL事务处理层由一条链路上的三个动态复用协议组成(来源:CXL联盟)
从内存池到共享
CXL规范的一个重要价值主张是,它是一种通用和标准的数据移动方式;其他做得好的规范都是专有的。Tavallaei指出,即使在CXL 3.0中引入了所有新增功能,但向后兼容仍然非常重要。
在高层次上,CXL为多端口设备提供了一种适用的方法。虽然内存池是CXL 2.0的一个组成部分,但在CXL 3.0中引入了结构的概念。
CXL的第一次迭代是为点对点连接而设计的,但迄今为止的演进导致了能力的"泛化",导致设备、交换机和处理器的形式更加复杂。安全性在CXL 2.0中变得更加重要,这导致增加了IDE作为链接上的加密方法。
Tavallaei透露,所有这些势头已经促成联盟内部为了实现CXL 3.0的新功能而形成了多个工作组。
在CXL 2.0中,内存池不允许数据从一个虚拟层级移动到另一个层级,但在CXL 3.0中,连接交换机的多个设备现在可以互相对话。交换机现在可以使用结构端口进行级联和互连,从而创建一个更大的结构,用于互连大量设备,包括加速器、内存和存储。
但是,即使CXL 3.0已经发布了许多新的功能,但大多数供应商现在才把CXL 2.0的产品推出去,并熟练掌握其中的一些功能,如池化(pooling)。
图2:CXL 2.0在CXL 1.1基础上的改进(来源:CXL联盟)
由图2可见,CXL 2.0增强了扇出支持和各种额外的功能,可以利用交换机作为关键,在单个层中支持多个主机和设备。
Arm公司分部营销总监Parag Beeraka表示,内存池化是CXL实现新的数据中心架构并解决随着需要更多内存而不断上升的成本问题的有效手段“DRAM是数据中心中支出最高的项目之一,因此任何能够提高现有硬件效率的东西都将间接地有助于降低总拥有成本,”他指出。而且,随着超大规模工作负载变得更加多样化,需要有更多的可配置性。“人们肯定不希望为特定的工作负载建造专门的机器,而是能够为不同的工作负载配置通用服务器,”他补充道。
就像NAND价格昂贵时,少量“热”数据值得闪存存储一样,CXL还为将数据路由到不同的内存和存储资源打开了大门。
“人们可以根据工作负荷对启用正确的内存做出适当的选择,”Beeraka表示。有了CXL,可以将更多的内存添加到服务器上,或者内存可以被汇集成池。“池化解决方案将真正有助于实现更大的内存容量”。
分层和解集有助于提高数据中心效率
内存分层的概念与英特尔将Optane定位为DRAM和闪存之间的一个层次并无不同。即使英特尔和美光科技都决定放弃开发3D Xpoint技术,转而专注于CXL,依然说明增加新的分层选项是多么的重要。
Beeraka指出,近内存的效率正在提高,从数据中心的角度来看,支持CXL的内存解集是可行的,而DRAM的成本随着存储器的扩展略有下降。
AMD公司云计算业务发展总监Sid Karkare表示,池化和解集的另一个令人兴奋的好处是,可以尽可能最优地满足应用性能需求。
可以对DDR4和DDR5 DRAM进行分级,这样就可以通过仅在必要时才予以分配,从而减轻DDR5的成本增加。还可以根据延时需求进行调整:一些应用程序也许能够处理更大的延时。通过池化,系统内存的可组合性也增加了。
CXL可以解决的另一个挑战是内存搁浅,即有些内存没有以最佳方式连接到特定服务器。“如何根据需要分配内存,并在总体上降低数据中心的总资本支出?”Karkare问道。页面迁移在分层内存中发挥着重要作用,这可以用软件完成,也可以用硬件完成,“两种方法都各有优缺点,”他表示。
有了软件,应用程序就能更好地了解它何时性能会变慢。“用硬件实现的性能会更好,”他指出,“我们已经看到这两种方法在CXL生态系统中都得到了探索。”
美光把CXL看成是数据中心柔韧性的推动者,该公司的数据中心高级营销总监Ryan Baxter表示,“这可以归结为生态系统中的客户真正想要解决的服务器组合和问题类型"。
一个很好的例子是人工智能服务器,以及从现在到2025年间,它们必须如何发展进步。现在必需的存储器和内存数量是可以访问的,而CXL作为更高性能的接口,可以用来实现内存扩展。Baxter认为,对于支持实时应答用例的应用(比如欺诈检测和推荐引擎应用)来说,如今的存储器还不够快。“这意味着要依赖内存。这意味着要依赖DRAM。”
然而,对于在CPU或服务器中可以部署多少额外的内存通道是有限制的。“这正是CXL发挥作用的地方,”Baxter指出,“我们相信CXL能够实现很大程度的平台柔韧性,一个真正能达到我们需要的程度。”
他表示,不采用CXL的方案就是堆叠DRAM,而这将变得极其昂贵。“每千兆位的ASP将呈现非线性。”
美光的客户正在寻求内存空间的“扁平化”,并倚重CXL作为内存通道。“业界正在推动一种新的异构架构,”Baxter透露,“CXL允许在正确的时间和正确的地点,做出正确的计算组合和正确的内存组合。”
SK Hynix公司内存规划副总裁Uksong Kang表示,SK Hynix公司也将CXL视为有效利用计算、加速和内存资源的一种途径,因为它允许内存带宽和容量的扩展、内存介质的差异化和控制的差异化。它还可以实现Hynix公司所谓的“内存即服务”(MaaS)。
除了能够通过CXL通道增加内存容量外,该协议还具有内存不可知性和非确定性特点,因此在可以增加的内存类型方面有更大的灵活性,他说道。“人们既可以选用标准的内存,如DDR5,也可以根据需要甚至定制内存介质。”有了内存的选择权,就可以在性能、容量和功耗设计方面实现平衡。
拥有第二层内存还可以实现更多的控制差异化,并整合更多的功能,如纠错控制、安全功能、低功耗功能、加速或计算引擎等,Kang表示,“借助本地计算可以防止数据在CPU和内存之间来回转移”。
本地计算提高了功效和性能。当基础设施和生态系统为内存池化做好了准备时,MaaS是适用的,Kang指出,因为CXL支持通过内存池虚拟化来分配内存容量,也支持建立一个可组合、可扩展的内存池设备架,然后根据需要在架中插入不同类型的内存介质。
成长中的生态系统仍面临许多不确定因素
Kang认为该行业正处于生态系统的促成阶段。随着市场的扩大,多类型内存解决方案将迎来机会。他表示:“即使我们知道CXL将成为未来游戏规则的改变者,但市场容量会有多大,还有许多不确定因素。”
当然,生态系统不仅仅是内存,还包括其他关键部件,如控制器和重定时器。
虽然美光宣布公司将把精力放在CXL上,而不是进一步开发3D Xpoint技术上,但公司还没有正式发布过一款CXL产品。
三星的首款CXL产品是基于DDR5 DRAM的内存模块,目标针对数据密集型应用,如人工智能和高性能计算,因为这些应用需要服务器系统能够大幅扩展内存容量和带宽。
Rambus已经迅速推出了IP,通过整合控制器和PHY技术,来帮助建立CXL的生态系统。这两种技术分别来自其对PLDA和AnalogX的收购,有效地弥补了该公司在服务器内存接口芯片方面的不足。
Astera实验室刚刚宣布,其Leo CXL内存加速器平台已经开始为客户和战略合作伙伴提供预生产样品。该平台旨在解决处理器内存带宽瓶颈和容量限制,允许CPU访问和管理连接CXL的DRAM和永久性内存,从而更有效地利用集中的内存资源,而且对内存的访问还可以在不降低性能的情况下得到扩展。
图3:三星推出的CXL内存产品--DDR5 DRAM(来源:三星)
该公司早就推出了这款产品,并期望在CXL真正获得广泛关注的同时,DDR5成为在带宽、容量扩展、速度和可靠性以及功效方面最具成本效益的解决方案。
另外,构建CXL生态系统不仅仅事关不同的产品。
CXL协议与PCIe高度交织在一起,CXL 1.0与32-Gbps PCIe Gen5保持了一致。据Tavallaei透露,就CXL的进一步发展而言,将寻求与那些深耕PCIe规范的公司合作,其第七次迭代已经在开发中,预计其数据速率将翻倍。
CXL联盟还刚刚宣布与JEDEC固态技术协会成立一个开发DRAM和永久性存储器的联合工作组,目的是减少重复工作。
另一个做着与CXL联盟有大量重叠工作的团体是Gen-Z联盟。去年年底,双方同意将Gen-Z规范和资产移交给CXL联盟。Gen-Z开始的比CXL更早,它使用内存语义进行通信,试图以最小的开销实现不同组件内存之间的数据转移,这些组件包括内存设备、处理器和加速器等。
同样,OpenCAPI标准也正在被CXL吞并,尽管它也比CXL早了好几年。OpenCAPI是较早的缓存一致性CPU互连标准之一,是IBM现有的相干加速器处理器接口(CAPI)技术的延伸,该标准在联盟的控制下已向其他行业开放。
(参考原文:CXL Spec Grows, Absorbs Others to Collate Ecosystem)
本文为《电子工程专辑》2022年12月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅