CXL 内存互连计划:开启数据中心架构新时代
为了应对数据的指数级增长,该行业正处于突破性架构转变的门槛,这将从根本上改变全球数据中心的性能、效率和成本。几十年来基本保持不变的服务器架构正在向前迈出革命性的一步,以人工智能/机器学习 (AI/ML) 为例,以满足不断增长的数据需求和高级工作负载的大量性能要求。
数据中心正在从每台服务器都有专用处理和内存以及网络和加速器等其他资源的模型转变为使用共享资源池的分解模型,这些共享资源池可以根据特定工作负载的需求进行有效组合要求。分解和可组合性为工作负载定制计算资源,带来许多好处,包括更高的性能、更高的效率和降低数据中心的总拥有成本 (TCO)。
虽然分解或机架规模架构和通用接口的概念已经存在多年,但业界对 Compute Express Link (CXL) 作为处理器、内存和加速器的缓存一致性互连的融合,提供了关键的推动因素和将这些概念变为现实的机会。服务器架构即将到来
未来几个月将包括 CXL 接口,开放通过 CXL 互连进行内存扩展的能力,并且正在规划未来几年的完全分解架构。
CXL 协议
CXL 现在处于 2.0 规范级别,提供计算设备之间的低延迟链接和内存一致性。它建立在 PCI Express (PCIe) 技术的巨大发展势头之上,采用 PCIe 5.0 PHY 作为其物理接口。随着使用 PCIe 5.0 的下一代服务器平台即将出现,市场上提供的 PCIe 5.0 设备生态系统将会不断增长。
为了支持大量的计算用例,CXL 标准定义了三个协议:CXL.io、CXL.cache 和 CXL.memory。 CXL.io 为 IO 设备提供了一个非连贯的加载/存储接口,用于发现、枚举和寄存器访问。它在功能上等同于 PCIe 5.0 协议。 CXL.io 是基础通信协议,因此适用于所有用例。
CXL.cache 使加速器等设备能够有效地访问和缓存主机内存以提高性能。例如,使用 CXL.io 和 CXL.cache,基于加速器的 NIC 和主机 CPU 之间共享的工作负载的性能可以通过加速器附加内存中的数据本地缓存来提高。
协议 | 基于PCIE | 功能 |
---|---|---|
CXL.IO | 是的 | 发现、寄存器访问、中断、初始化、I/O 虚拟化、DMA(直接内存访问) |
CXL.CACHE | 通过协调一致性管理的主机处理器支持主机内存的设备缓存 | |
CXL.memory | 支持主机管理和利用设备附加内存(内存节点)类似于主机(主)内存 |
通过使用所有三个 CXL 协议,可以实现在计算设备(例如 CPU 主机和 AI 加速器)之间一致共享内存资源的用例。例如,带有 CXL 连接加速器的服务器将使加速器能够使用
CPU 的直连内存,适用于需要更大内存容量的工作负载。如果没有 CXL,加速器将需要为这些工作负载访问 SSD 或硬盘存储,从而导致显着的延迟和带宽损失。结果是,与传统替代方案相比,CXL 将显着提高这些工作负载的性能。
CXL 内存扩展
通过使用所有三个 CXL 协议,可以实现在计算设备(例如 CPU 主机和 AI 加速器)之间一致共享内存资源的用例。例如,带有 CXL 连接加速器的服务器将使加速器能够使用
CPU 的直连内存,适用于需要更大内存容量的工作负载。如果没有 CXL,加速器将需要为这些工作负载访问 SSD 或硬盘存储,从而导致显着的延迟和带宽损失。结果是,与传统替代方案相比,CXL 将显着提高这些工作负载的性能。
内存缓存一致性和低延迟连接使可能对计算性能、效率和 TCO 产生巨大影响的用例成为可能。第一个也是最直接的用例是 CXL 内存扩展。在这种情况下,可以通过 CXL 连接的设备(设备连接的内存)将显着的额外容量添加到 CPU 主机,超出主内存的容量。

如果设备连接的内存是 DRAM(例如 DDR),则 CXL 链接的低延迟性能将允许主机使用此内存作为其主内存的扩展。如前所述,对于需要超过主内存的大内存空间的工作负载
容量,CXL 解决方案将显着提高性能。此内存扩展用例在 CXL 标准的 1.0 和所有更高版本级别均受支持。
通过交换实现 CXL 内存池
CXL 2.0 引入了类似于 PCIe 标准支持的切换功能,使 CXL 内存池的用例成为可能。使用 CXL 2.0 交换机,主机可以访问池中的一个或多个设备。由于主机负责一致性管理,因此它们必然需要启用 CXL 2.0。但是,内存池设备可以是启用 CXL 1.0、1.1 和 2.0 的硬件的混合。在 1.0/1.1 中,设备被限制为一次只能由一台主机访问的单个逻辑设备。一个 2.0 级别的设备可以分区为多个逻辑设备,最多允许 16 台主机同时访问内存的不同部分。
作为下图中的示例,主机 1 (H1) 可以使用设备 1 (D1) 中一半的内存和设备 2 (D2) 中四分之一的内存,以使其工作负载的内存需求与可用容量精确匹配在内存池中。设备 D1 和 D2 中的剩余容量可由一台或多台其他主机使用,最多可达 16 台。设备 D3 和 D4(分别启用 CXL 1.0 和 1.1)一次只能由一台主机使用。

然而,CXL 交换机架构有其局限性。首先,与 PCIe 不同,CXL 2.0 交换机不能级联。上行端口只连接主机,下行端口只连接设备;一个 CXL 交换机不能连接到另一个 CXL 交换机。其次,更重要的是延迟问题。 CXL 开关必然会增加延迟,而且对于主机来说,它可能太大了,无法使用池内存作为其主内存的扩展。因此,此架构中的设备可能包含更高延迟的持久内存 (PM)。 PM比DRAM慢一到两个数量级,一到两个数量级。
比基于闪存的固态驱动器 (SSD) 快几个数量级。因此,虽然不会受到主内存扩展的影响,但交换机架构将有助于弥补在必须从存储中获取数据时遭受的巨大延迟和带宽损失,这将对计算性能产生显着的积极影响。
通过直接连接的 CXL 内存池
通过迁移到 CXL 2.0 直连架构,我们可以获得主内存扩展的性能优势以及池化内存的效率和总体拥有成本 (TCO) 优势。此架构要求所有主机和设备都支持 CXL 2.0。在这个模型中,“交换”通过 CXL 内存池芯片中的交叉开关被整合到内存设备中。这可以保持较低的延迟,但需要更强大的芯片,因为它现在负责在前一种情况下由交换机执行的控制平面功能。

通过低延迟直接连接,连接的内存设备可以使用 DDR DRAM 来扩展主机主内存。这可以在非常灵活的基础上完成,因为主机能够根据需要访问尽可能多的设备的全部或部分容量来处理其工作负载。类似于拼车,主机可以“根据需要”使用内存,从而提高内存利用率和效率。这种架构将提供为标称工作负载配置服务器主内存的选项,而不是最坏的情况,能够在需要高容量工作负载时访问池,为 TCO 提供进一步的好处。
最终,CXL 内存池模型可以支持向服务器分解和可组合性的根本转变。在这样的架构中,计算、内存和存储的离散单元可以按需组合,以有效满足任何工作负载的需求。
CXL 安全
数据量的快速增长,伴随着数据价值的同步增长。我们已经讨论了分解的好处,但是通过分离服务器架构的组件,我们增加了不法分子可以尝试利用的攻击面。
理解了这一点,CXL 被指定为一种安全的设计方法。所有三个 CXL 协议都通过提供机密性、完整性和重放保护的完整性和数据加密 (IDE) 来保护。为了在不引入额外延迟的情况下满足 CXL 的高速数据速率要求,IDE 在 CXL 主机和设备芯片中实例化的硬件级安全协议引擎中实现。
除了保护数据,CXL 芯片和系统本身还需要防止篡改和网络攻击的保护措施。在 CXL 芯片中实现的硬件信任根可以为安全启动和安全固件下载的安全性和支持要求提供此基础R公司 CXL 内存互连计划
通过 CXL 内存互连计划,R公司正在研究和开发解决方案,以实现数据中心性能和效率的新时代。该计划于 2021 年 6 月 16 日宣布,是 R公司在开发突破性存储器和芯片间互连技术和产品方面处于领先地位 30 年历史的最新篇章。
实现前面描述的内存扩展和池化用例所需的芯片解决方案,以及服务器分解和可组合性所需的芯片解决方案,将需要综合许多关键技术。近十年来,R公司 一直在研究用于分解架构的内存解决方案,并利用系统感知设计方法来解决下一代挑战。
该计划汇集了我们在内存和 SerDes 子系统、半导体和网络安全、大容量内存接口芯片和计算系统架构方面的专业知识,为未来的数据中心开发突破性的 CXL 互连解决方案。