CXL,新蓝海!
谈起近年来最受关注的新兴技术,CXL绝对位列其中。
CXL全称为Compute Express Link,是一种开放式行业互连标准,可在主机处理器与加速器、内存缓冲区和智能I/O设备等设备之间提供高带宽、低延迟连接,从而满足高性能异构计算的要求,并且其维护CPU内存空间和连接设备内存之间的一致性。
CXL的发展突飞猛进,仅问世四年时间来,就已经公布了三代规格,且CXL的吸引力正在攀升。
01
CXL突飞猛进
回溯其发展历程,CXL是由英特尔于2019年3月在Interconnect Day 2019上推出的一种开放性互联协议。
图片来源:英特尔
CXL的目标旨在实现计算、内存和存储资源的动态分配,通过在CPU和加速器之间提供共享内存的高速通道,使得这些设备可以更有效地一起工作,提高数据中心的性能和效率。
实际上,早在二十年前,英特尔就公布了一种取代PCI总线的第三代I/O技术,也就是我们现在常说的PCI-e(PCI Express)。凭借高性能、高扩展性、高可靠性及出色的兼容性,PCIe几乎取代了以往所有的内部总线,成为当时众望所归的未来技术标准。
但在如今的大数据时代,随着云计算、人工智能、高性能计算等技术的发展,处理器的算力不断地在提高,处理器的核心数也越来越多,这也推动了对内存大容量、高带宽的需求。一方面需要更大容量的内存,一方面又需要高带宽的内存访问能力,如何增加内存的带宽和容量,成为行业挑战。
对此,PCIe已经开始出现后继无力的现象,无法成为CPU、GPU、FPGA以及其他AI计算设备之间沟通的最佳语言。为了达到最佳的计算效果,不同的计算设备亟需“一种新语言”。
在CXL之前就有以IBM牵头的OpenCAPI,ARM为代表支持的CCIX,AMD等支持的GenZ和Nvidia自行提出的Nvlink等多种协议。但英特尔推出的CXL技术标准再次杀出重围,得到了半导体行业大多数买家的支持,开始越来越热。
CXL协议是革命性的发展。
据了解,CXL 1.0/1.1规范定义了CXL.io、CXL.cache和CXL.memory三种协议:
CXL.io:这种模式可以将内存扩展到外部设备,使得数据的传输速度更快。CXL.io通过PCIe总线连接CPU和外部设备,这样CPU就可以与外部设备共享内存,并且可以直接访问外部设备的I/O资源;
CXL.cache:这种模式可以通过将内存缓存到外部设备中来提高性能。CXL.cache模式允许CPU在本地缓存中保留最常用的数据,而将不常用的数据保存在外部设备中。这样可以减少内存访问时间,提高整体系统性能;
CXL.memory:该协议使主机(例如处理器)能够使用加载/存储命令访问设备连接的内存。该模式可以将外部设备作为主内存使用,从而实现更大的内存容量。
这三个协议共同促进了计算设备之间内存资源的一致共享。
同时,这些协议支持三种不同的CXL设备类型。
凭借CXL在 CPU 和设备(例如加速器、内存扩展和持久内存设备)之间的高带宽和低延迟缓存一致性连接,CXL有可能重塑数据中心内存的性能、可扩展性和灵活性。通过解决AI/ML应用程序面临的常见内存挑战并启用新的高性能内存架构,CXL有望成为以数据为中心的计算的下一代互连标准。
从2019年发布CXL1.0/1.1,到2020年11月发布CXL2.0。
CXL2.0规范实现了机架级别的资源池化。
云计算强调资源可以像水和电一样按需获取,云计算的技术潮流下,追求不同资源之间的松耦合,以提高使用效率,实现相同资源的池化。
同时,也还增加了CXL switch功能,它可以在一个机架内通过一套CXL交换机构建成一个网络。
2022年,Intel发布了CXL 3.0,其功能一直在发生着变化。
新发布的CXL 3.0规范新增了很多特性。
首先,CXL 3.0 建立在PCIe 6.0规范之上,其速率从32GT提升到了64GT,在相同的链路时,带宽翻倍。并且,Latency也没有任何变化。
此外,CXL 3.0新增了对二层交换机的支持,也就是Leaf spine网络架构,可以更好地对资源进行解耦和池化,做更多的资源池,比如CPU资源池、内存资源池、网卡资源池和加速器资源池等,交换机之间可以构建各种网络拓扑和路由方式。
Memory sharing是非常大的一个亮点,这种能力突破了某一个物理内存只能属于某一台服务器的限制,在硬件上实现了多机共同访问同样内存地址的能力。可以说,CXL的内存一致性得到很大的增强。
CXL 3.0不但可以更好地在一个机柜内实现计算资源和存储资源的池化和解耦,而且还可以在多个机柜之间建立更大的资源池,如此一来,对于云计算服务商的资源管理效率和成本优化都会带来很大帮助。
可见,在CXL规范演进中最重要的变化与内存有关,因为CXL将解耦内存。在最初的版本中,CXL将内存(或持久内存)与处理器进行点对点连接;CXL2.0引入了交换机,使多达16个主机可以访问多个内存实体,以进一步支持解耦,从服务器级别提升到机架级别的连接;CXL3.0技术使多个主机可以共享内存而无需考虑一致性问题。
总体而言,CXL优势明显,体现在极高兼容性和内存一致性两方面上。
首先,CXL兼容性很高,支持PCIe接口的处理器基本都可以使用;其次,CXL的一大优势就是内存一致性,CXL可在CPU、GPU、FPGA等之间建立高速且低延迟的互连,维护内存之间的一致性,连成一个庞大的堆栈内存池,共享、互取对方的内存资源,这样可以有效降低延迟,大幅提升数据运算效率。
此外,CXL还可以向CPU主机处理器添加更多内存,支持大容量工作负载的性能。
02
CXL如何重构数据中心?
凭借诸多优势,CXL技术的应用场景非常广泛,其中包括数据中心、人工智能和处理器互联等领域。在数据中心领域,CXL技术可以将不同的计算和存储资源进行互联,提高系统性能和效率;在人工智能领域,CXL技术可以使GPU和FPGA等加速器更好地与主处理器进行协作,提高AI模型训练和推理的速度;在处理器互联方面,CXL技术可以实现不同厂商的处理器之间的互联,提高系统的整体性能和灵活性。
尤其是在数据中心领域,数据中心存在着严重的内存问题。自2012年以来,处理器芯片核心数量迅速增长,但每个核心的内存带宽和容量并没有相应增加,反而有所下降,并且这种趋势还在持续。此外,直连DRAM和SSD之间在延迟和成本方面存在巨大差距。
同时,还有一个致命的问题是,昂贵的内存资源往往利用率很低,这对于资本密集型行业来说问题突出。 微软表示,服务器总成本的50%来自DRAM,成本巨大,尽管如此,还有高达25%的DRAM内存被闲置了。
对此,CXL互联协议在解决内存的发展瓶颈方面价值凸显。
如果用CXL来做池化,意味着单节点服务器可以部署较少的内存,大部分的内存可以从服务器当中解耦出来,通过CXL技术,形成一个内存池,连接到多个服务器上。
在使用中,通过Switch将内存动态地分配到有需要的服务器上,从而可以大大提高内存的使用效率,使得数据中心用较低的内存成本,能够满足实际业务的需求。
在数据中心中,CXL可以应用于以下方面:
高性能计算:CXL可以提供比传统PCIe更快的数据传输速度和更低的延迟,从而提高高性能计算的效率和吞吐量。
存储加速:CXL可以将存储加速器与主机CPU直接连接,从而实现更快的数据访问和更高的IOPS,提高存储性能。
AI加速:CXL可以将AI加速器与CPU/GPU/FPGA等处理器直接连接,实现更快的模型训练和推理速度,提高人工智能应用的性能。
大规模虚拟化:CXL可以将多个CPU和内存资源组合成一个大规模虚拟化集群,从而提高资源利用率和灵活性,并降低虚拟化管理的复杂性。
业界认为,CXL将成为实现下一代数据中心最佳资源利用的重大变革者。行业机构Yole日前指出,在服务器内存的行业挑战和市场机遇下,预计2028年全球CXL市场规模将达到158亿美元。其中DRAM将占CXL市场收入的大部分,到2028年市场收入将超过125亿美元。
03
行业巨头,争相布局CXL
纵然有诸多优势,但一个标准能不能普及起来,关键还是在于有没有厂商跟进。
从目前整体来看,CXL来势汹汹。在CXL技术推出的那一年,CXL联盟也随之成立,由英特尔牵头,联合阿里巴巴、戴尔EMC、Meta、谷歌、HPE、华为和微软共同建立,随后AMD、Arm加入其中。
目前,CXL联盟扩展出超过165个成员,几乎涵盖了所有主要的CPU、GPU、内存、存储和网络设备制造商。而在技术上,从2021年成功“吞并”Gen-Z和Open CAPI后,CXL的崛起势头越发强劲,国内外芯片大厂加速布局。
英特尔:英特尔从一开始就参与了CXL项目,以英特尔第四代至强可扩展处理器Sapphire Rapids为例,其支持PCIe 5.0、DDR5内存和CXL1.1接口,提供最多80个PCIe 5.0通道,最高支持1.5TB的DDR5-4800内存。同时,英特尔最近还为Linux 6.2添加了新的CXL2.0代码。此更新引入了许多针对CXL2.0的新功能和增强功能。
AMD:AMD的EPYC Genoa支持DDR5、PCIe 5.0以及CXL1.1接口。其另一产品Bergamo拥有更高的电源效率和每插槽性能,与Genoa支持相同的CPU接口。此外,AMD在研讨会中透露其计划在3~5年内将CXL技术导入消费级CPU。这意味着会将持久内存技术带到内存总线上,以进一步提高CPU性能。利用CXL内存模块和系统内存共享大型内存共享池概念,可获更高性能、更低延迟、以及内存扩展功能。
Arm:作为开始在服务器和数据中心上抢夺x86份额的架构,Arm自然是早早就开始了CXL的布局,从Neoverse的第二代的产品中,全部都加入了CXL2.0的支持。下一代产品线在提升性能和效率的同时,预计也会增加对CXL3.0的支持。
三星:在存储产业链中,三星布局最早且最为完善,早在2021年5月就推出了基于DDR5技术支持CXL1.1互联标准的内存模块,并随后发布了首款支持CXL内存平台设计的开源软件解决方案。三星后续又研发出其首款支持CXL2.0的128GB DRAM,预计将加速下一代存储解决方案的商用化。另外,三星还研发出了业界首款CXL标准内存语义SSD。此外,三星现在正在构建定制AI芯片,利用包括内存处理、近内存处理和CXL在内的一系列技术来解锁性能和效率方面的新门槛。
SK海力士:SK海力士也是一个在CXL背景下反复出现的名字。SK海力士也将于今年量产基于最新的1α节点的DDR5 CXL产品。去年底,SK海力士还开发了DDR6 CXL计算存储器解决方案,成为业界第一个在CXL内存芯片中引入计算功能的解决方案。此外,SK海力士还为内存扩展、服务器内存、计算内存等应用场景做好了规划,根据用户需求进行部署。
美光:美光是CXL市场中最响亮的声音之一。也于今年3月推出了CXL2.0标准的内存模块,这些模块可为服务器提供更容易获取的,低成本的DRAM内存。预计会在2024年正式发布。
另外,在支持CXL的附加卡、背板和内存模块等设备中,还需配置内存扩展控制器。不难理解,CXL并非一种新的内存制造技术,各大内存厂商造出的DDR4、DDR5服务器内存其实不会存在太大变化,但之所以能够通过CXL实现内存扩展,主要靠的还是全新的控制器芯片。
在这方面, Microchip、Rambus、澜起科技、AsteraLabs等厂商都已经有所布局。
Microchip:2022年8月,Microchip宣布扩大旗下串行连接存储控制器产品阵容,推出基于CXL的新型SMC 2000系列智能存储控制器,使CPU、GPU和SoC能够利用CXL接口连接DDR4或DDR5存储器。该方案可为每个内核提供更大的存储带宽和更高的存储容量,并使现代CPU能够优化应用工作负载,从而降低数据中心的整体总拥有成本。
Rambus:2021年6月,Rambus推出了CXL内存互连计划,并宣布与包括云、系统和内存企业在内的生态体系达成合作,以加快CXL内存互连解决方案的开发和落地。当年10月,Rambus发布了CXL2.0控制器。Rambus在并购方面也有新进展:2021年6月,Rambus宣布完成对AnalogX和PLDA的收购,增强了公司在服务器内存接口芯片方面的领先地位,加速了为下一代数据中心提供创新CXL互连解决方案的路线图。去年几乎与美满电子同期,Rambus又宣布已签署收购Hardent的协议,该交易为Rambus CXL内存互连计划提供了关键资源,加速了下一代数据中心的CXL处理解决方案的开发。
澜起科技:澜起科技发布了首款CXL内存扩展控制器芯片(MXC),符合CXL 2.0中的Type 3内存扩展器规范,同时支持到PCIe 5.0的传输速率,兼容DDR4-3200和DDR5-6400的内存。
MXC芯片能够为处理器提供高带宽、低延时的内存访问,实现高效的内存资源共享,降低系统软件栈的复杂度,降低数据中心总体内存的成本。
在三星的发布的首款512GB CXL DRAM内存中,就用到了澜起科技的MXC芯片;SK海力士发布的DDR5 DRAM CXL内存,同样用到了MXC芯片;澜起科技还会与美光合作,推出基于该芯片的CXL内存模组。
今年8月,澜起科技的MXC芯片成功通过了CXL联盟组织的CXL1.1合规测试,被列入CXL官网的合规供应商清单,成为全球首家进入CXL合规供应商清单的MXC芯片厂家。
此外,IBM、Synopsys、Marvell、Astera Labs、MemVerge、世迈科技、威刚和其它多家产业链上下游公司也正在积极加入CXL赛道,我们将看到该名单在未来将继续增长。
04
CXL仍面临延迟挑战
尽管行业厂商都在大力布局CXL,但大家最担心的还是延迟问题。
众所周知,内存离CPU越远,延迟就越高,这就是内存DIMM通常尽可能靠近插槽的原因。最大限度的降低延迟是业界一直致力于解决的问题,因此,业界对于CXL技术也是抱有较高期待。
由于与CPU的距离较远,业界对于PCI-Express以及CXL的延迟性会宽容一些,而对于SRAM、DRAM等则十分严格。据了解,SRAM响应时间通常在纳秒级,DRAM则一般为100纳秒量级,NAND Flash则高达100微秒级,而独立于CPU外的CXL内存延迟在170-250ns左右。
各种缓存、内存和存储的延迟对比
(图源:CXL联盟)
作为一个分布式内存,尽管CXL主打的是低延迟,但其与CPU原生的内存、缓存和寄存器比起来,延迟仍然有着一定差距的。
CXL虽然在带宽和容量之间找到了很好的定位,但内存延迟问题对于消费市场来说可能影响微乎其微,在数据中心上就会被无限放大。目前微软Azure、Meta等公司都已经发表了一些公开数据,在测试下,20%的负载都没有任何性能影响。这说明大部分负载还是得承受一些小小的牺牲,才能享受CXL带来的优势。
另外值得一提的是,Meta和AMD的两位专家也提出了一个概念,就是对内存进行分层,分为用于实时分析等关键任务的“热”内存、访问不那么频繁的“暖”内存和用于庞大数据的“冷”内存。“热”内存页面放在原生DDR内存里,而“冷”内存页面则交给CXL内存。
然而在当前的软件分不清楚什么是“热”内存和“冷”内存,原生内存用完后,就开始去占用CXL内存,如此一来原本作为“冷”内存的CXL,也开始变成“热”内存。所以目前最大的挑战就是在操作系统和软件层面,如何检测到“冷”内存页面,将其主动转入CXL内存里,为原生内存留出空间。
Meta和AMD表示,他们已经在开发相应的软硬件技术。
面对行业这一担忧,从当前服务器市场情况来看,低核心数的CPU依然会继续使用原生DDR通道来配置DIMM内存。而只有高核心数CPU上,再根据系统成本、容量、功耗和带宽等参数来灵活应用CXL内存,因为这才是CXL的核心优势。
未来,我们将看到更多支持CXL的技术推向市场,CXL将继续为高性能存储助力,并大规模部署。
05
写在最后
数据的爆炸式增长促使计算行业开始突破性的架构转变,从根本上改变数据中心的性能、效率和成本。为了继续提高性能,服务器正越来越多地转向异构计算架构。
IDC预计,在2024年全球每年所产生的数据量会高达160ZB,如何处理这些数据是一个非常大的挑战。
对此,CXL技术的出现不仅提供了高速传输,还支持内存共享和虚拟化,使设备之间的协作更加紧密高效。
作为一项崭新的技术,CXL发展可谓非常迅速,过去四年时间CXL已经推出了1.0/1.1、2.0、3.0多个版本,并且有着非常清晰的技术发展路线图。随着各大厂家对CXL技术布局的愈发完善,一幅关于未来数据中心领域的发展图景也愈发清晰。
各大厂商积极布局CXL,拥抱大AI时代。
免责声明:文章内容系作者个人观点,半导体芯闻转载仅为了传达一种不同的观点,不代表半导体芯闻对该观点赞同或支持,如果有任何异议,欢迎联系我们。
推荐阅读
关注全球半导体产业动向与趋势
欢迎关注【半导体芯闻】
公众号ID:MooreNEWS