0

让英特尔傲腾凉凉的CXL 3.0,究竟是什么?

 2 years ago
source link: https://www.163.com/dy/article/HDSTC3N705521SZK.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

让英特尔傲腾凉凉的CXL 3.0,究竟是什么?|交换机|内存|服务器|主机_网易订阅

在上周,英特尔正式确认了充满黑科技意味的傲腾业务和3D Xpoint走向终结,取而代之的是向CXL架构发展。事实上Compute Express Link(CXL)标准在提出之后,迅速成为服务器市场热捧的发展趋势之一,它的特点是能在PCIe标准基础上建立丰富的I/O功能集,改善设备之间的缓存一致性,更好的将服务器中的设备与CPU链接在一起,无论是DRAM这样的易失性存储,还是SSD这样的非易失性存储。

是的,CXL在设定之初就有着一条雄心勃勃的规划,极具战略的眼光让其在三年内成为服务器中被看好先进互联标准,甚至让Gen-Z、CCIX、OpenCAPI都退出了竞争,傲腾时代结束也变得顺利成章。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2F105a4e6aj00rg1sqf002xc000iu00aog.jpg&thumbnail=660x2147483647&quality=80&type=jpg

那么让傲腾业务彻底凉凉的CXL,究竟实现了一个什么样的互联想法?趁着2022闪存峰会CXL 3.0标准发布之际,不妨让我们花点时间聊聊CXL。

脱胎于PCIe 6.0

CXL联盟于2019年启动,英特尔作为发起人,联合了阿里巴巴、戴尔EMC、Facebook(Meta)、谷歌、HPE、华为和微软共同建立,随后AMD、Arm均加入其中。随着联盟的扩大化,Gen-Z联盟也确认将所有技术规格和资产转让给CXL,确保CXL作为行业标准向前推进。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2F5642801dj00rg1sqh00e5c000rs00hdg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

虽然在标准制定上CXL具备了领先优势,但CXL联盟成员还有许多工作要做。特别是在产品方面,第一批原生支持CXL的x86 CPU几乎没有出货,大部分产品布局需要围绕英特尔即将发布的Sapphire Ridge至强处理器进行。

与此同时,CXL 3.0响应了设备供应商的需求,将比CXL 1.X版本提升了带宽,并将一些原本复杂的标准设计简单化,确保易用性。这是2020年CXL 2.0标准引入内存池和CXL开关功能之后较大的改动,CXL 3.0将侧重于物理和逻辑层面的升级,在物理层面,CXL将每通道吞吐量提升了一倍,达到64GT/s。在逻辑层面,CXL 3.0扩招了标准逻辑能力,允许更复杂的连接拓扑,以及一组CXL设备内可以灵活实现内存共享和内存访问。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2Fcd179babj00rg1sqi003gc000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

相对于CXL 1.X和CXL 2.0建立在PCIe 5.0之上,CXL 3.0与PCIe 6.0规范进行合并,这也使得CXL 3.0成为标准建立以来第一次物理层更新。PCIe 6.0标准变化很大,它将总线上的可用带宽提升了一倍,也就是64GT/s,这意味着PCIe 6.0 x16的带宽可以达到128GB/s,PCIe的信号也由原来的二进制NRZ信号变成了四态的PAM4信号,并结合固定数据包FLIT接口实现传输,以避免速率翻倍之后不提升频率的情况。

顺带一提,在NVIDIA Ampere架构GeForce RTX 3080和3090高性能GPU的推广后,GDDR6X中所使用的PAM4信号在消费领域也已经获得了不少的认知。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2Fd4b6d3d2j00rg1sqk00lgc000rs00heg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

CXL 3.0则正是基于PCIe 6.0标准进行的。它属于PCIe 6.0全带宽改进版,在提升总带宽的同时,也加入了向前纠错FEC等内容,根据CXL联盟的说法,CXL 3.0能够在不增加延迟的情况下完成所有工作,这是PCIe 6.0所面临的挑战之一,因为一旦进行纠错,就一定会增加进程的延迟,为此PCI-SIG特意增加了FEC方式来解决问题。从整体上来看,CXL 3.0与CXL 2.0延迟保持相同。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2Ffdbc8169j00rg1sql0049c000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

除了获得PCIe 6.0的基础更新,CXL联盟还调整了固定数据包FLIT的大小,原本的CXL 1.X和CXL 2.0使用了68 bytes数据包,在CXL 3.0直接升级到了256 bytes,给CXL 3.0引入的复杂拓扑提供了基础,另外CXL 3.0还引入了一种低延迟FLIT模式,通过将CRC分解成128 bytes的FLIT颗粒进行和传输,以减轻物理层中存储和转发的开销。

除此之外,CXL 3.0还支持32、16、8GT/s的低速率传输模式,以兼容早期CXL版本。

CXL 3.0特性:内存共享、多级拓扑

除了进一步提升整体I/O带宽,CXL 3.0还需要考虑到不同设备之间的高级互联协议。比如CXL 3.0中更新了具有缓存的一致性协议,当主机缓存数据无效的时候,设备还能正常运行。这意味着CXL 3.0取代了早起版本基于偏差一致性的方式。为了设计简单化,保持一致性不是通过共享内存空间实现,而是通过主机或者设备控制访问实现的。

相比之下,反向失效更接近真正的共享对称方式,在CXL设备发生更改的时候可以及时通知到主机。

在CXL 3.0中,设备可以直接访问彼此的内存,无需通过主机CPU,通过增强的一致性语义来通知彼此的状态。从延迟角度来看,双链接速度更快,并且也不会占用宝贵的主机带宽。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2F9ed410c0j00rg1sqm003zc000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

除了调整缓存功能,CXL 3.0也对主机与设备之间的内存共享进行了更新,CXL 2.0提供了内存池设计,多个主机可以对设备内存进行访问,但是每个主机都需要分配自己专属内存段。在CXL 3.0中国,内存共享变得更开放,多个主机可以拥有一个共享内存段的一致性副本,如果设备级别发生变化,可以使用反向失效来保持所有主机同步。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2Fb245e552j00rg1sqo005kc000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

但这样的设计并不能完全取代CXL 2.0上的内存池设计,因为某些方案中,内存池设计往往更为奏效,因此CXL 3.0会同时支持这两种模式,进行混合匹配。

另外CXL 3.0消除了单个CXL端口下游的Type-1、Type-2设备数量限制,CXL 2.0只允许这些设备中出现一个根端口,而CXL 3.0没有类似的限制。这意味着现在CXL根端口无论是Type-1、Type-2还是Type-3都可以进行完全混合匹配设置,具体取决于系统构建者的目的。这意味着CXL 3.0能够将多个加速器连接到单个交换机,以提升密度,使得点对点传输功能更加有用。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2F16cf3139j00rg1sqq003oc000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

CXL 3.0另一个特性是支持多级切换,允许单个交换机驻留在主机和设备之间,并允许多级交换机实现多层级交换,对网络拓扑种类和复杂性有更好的支持。即便只有两层交换机,CXL 3.0也能够实现非树状拓扑,比如环形、网状或者其他结构,对节点中的主机或设备没有任何限制。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2F0d86e5fcj00rg1sqr0057c000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

新的内存和拓扑结构功能都可以在CXL联盟推行的全局结构连接内存(Global Fabric Attached Memory,GFAM)一起使用,GFAM通过进一步分解给主机的内存,将CXL内存扩展版Type-3理念提升到了一个新水平,因此GFAM设备在功能就是自己的共享内存池,主机和设备可以根据需求进行访问,其中GFAM可以同时拥有易失性存储和非易失性存储,也就是DRAM和SSD都装在一个模块内,最终实现类似傲腾的功能。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2F66b791ddj00rg1sqr005uc000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

GFAM将使得CXL能够有效支持大型多节点设置,在范例列举中,CXL列举了在时下流行的MapReduce模型中如何提供了必要的性能和效率,尽管这套算法模糊了CXL本地互联和InfiniBand网络互联之间位置的界限。

鉴于CXL标准诞生并不久,CXL 1.X和CXL 2.0设备才刚开始交付,CXL 3.0距离实际的应用部署还有几年的时间,因此现在也没有实际的指导案例。但我们已经可以从中一窥整个业界正在向更为便宜、有效的方向前进,而非傲腾这种造价高昂的独占硬件解决问题。在IT硬件一轮又一轮的升级经验中,已经变成了永恒的道理。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2022%2F0804%2Fa05278c3j00rg1squ004dc000iu00alg.jpg&thumbnail=660x2147483647&quality=80&type=jpg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK