查看原文
其他

一文了解所有相关信息:CXL(Compute Express Link)

常华Andy Andy730 2024-03-16

Source: Rambus, Compute Express Link (CXL): All you need to know, November 10, 2021


1. 行业格局:为什么需要新的总线协议?


指数级数据增长促使半导体行业开始进行突破性的架构转变,从根本上改变数据中心的性能、效率和成本。


服务器架构(几十年来基本保持不变)现在正在向前迈出革命性的一步,以解决AI / ML应用程序生成的海量数据。具体而言,数据中心正在从每个服务器都有专用处理和内存以及网络设备和加速器的模型,转变为智能匹配资源和工作负载的解耦“池化”范例。


这种方法为数据中心提供了广泛的优势,包括更高的性能、更高的效率和更低的 TCO。尽管解耦(或机架级架构)和通用接口的概念已经流传了一段时间,但业界正在实质性地将 Compute Express Link (CXL) 作为处理器、内存和加速器的缓存一致性互连。事实上,带有 CXL 接口的新服务器架构和设计很快就会进入市场。



2. CXL 简介:什么是计算快速链接(Compute Express Link)?


CXL 是面向处理器、内存扩展和加速器的开放标准行业标准、支持缓存一致性互连。从本质上讲,CXL 技术保持 CPU 内存空间和所连接设备上的内存之间的内存一致性。这样可以实现资源共享(或池化)以获得更高的性能,降低软件堆栈的复杂性,并降低整体系统成本。CXL联盟已经确定了从新互连中受益的三类主要设备:


  • 类型 1 设备:智能网卡等加速器通常缺少本地内存。但是,它们可以利用 CXL.io 协议和 CXL.cache 与主机处理器的 DDR 内存进行通信。

  • 类型 2 设备:GPU、ASIC 和 FPGA 都配备了 DDR 或 HBM 内存,可以使用 CXL.memory 协议以及 CXL.io 和 CXL.cache,使主机处理器的内存在本地可供加速器使用,加速器的内存在本地可供 CPU 使用。它们还位于同一缓存一致性域中,有助于提升异构工作负载。

  • 类型 3 设备:CXL.io 和 CXL.memory 协议可用于内存扩展和池化。例如,连接到 CXL 总线的缓冲区可用于启用 DRAM 容量扩展、增加内存带宽或添加持久内存,而不会丢失 DRAM 插槽。在现实世界中,这意味着以前取代DRAM的高速,低延迟存储设备可以代替支持CXL的设备来补充它。这些可能包括各种外形规格的非易失性技术,例如附加卡,U.2和EDSFF。



3. CXL 协议和标准


CXL 标准通过三种协议支持各种应用场景:CXL.io、CXL.cache 和 CXL.memory。

  • CXL.io:该协议在功能上等同于 PCIe 5.0 协议,并利用了 PCIe 的广泛行业采用和熟悉程度。作为基本的通信协议,CXL.io 用途广泛,可满足各种应用场景的需求。

  • CXL.cache:此协议专为更具体的应用程序而设计,使加速器能够有效地访问和缓存主机内存,从而优化性能。

  • CXL.memory:此协议使主机(如处理器)能够使用 load/store 命令访问设备连接的内存。

  • 这三种协议共同促进了计算设备(例如CPU主机和AI加速器)之间内存资源的一致共享。从本质上讲,这通过共享内存启用通信来简化编程。



4. CXL vs PCIe 5:这两者有何关联?


CXL 2.0 基于 PCIe 5.0 的物理和电气接口构建,其协议可建立一致性、简化软件堆栈并保持与现有标准的兼容性。具体而言,CXL 利用 PCIe 5 功能,允许备用协议使用物理 PCIe 层。当支持 CXL 的加速器插入 x16 插槽时,设备将以默认的 PCI Express 1.0 传输速率 (2.5 GT/s) 与主机处理器的端口进行协商。仅当双方都支持 CXL 时,才会激活计算快速链接事务协议。否则,它们将作为 PCIe 设备运行。


根据VentureBeat的Chris Angelini的说法,CXL和PCIe 5的对齐意味着两个设备类别都可以以32 GT / s(每秒千兆传输)的速度传输数据,或者通过16通道链路在每个方向上传输高达64 GB / s的数据。Angelini还指出,CXL的性能要求很可能成为采用PCIe 6.0的驱动力。



5. CXL 的特性和优势


简化和改进低延迟连接和内存一致性,可显著提高计算性能和效率,同时降低 TCO。此外,CXL 内存扩展功能可在当今服务器中紧密绑定的 DIMM 插槽之外提供额外的容量和带宽。CXL 使得通过 CXL 连接的设备向 CPU 主机处理器添加更多内存成为可能。与持久内存配对时,低延迟 CXL 链路允许 CPU 主机将此附加内存与 DRAM 内存结合使用。高容量工作负载的性能取决于 AI 等大内存容量。考虑到这些是大多数企业和数据中心运营商正在投资的工作负载类型,CXL的优势是显而易见的。



6. CXL 2.0 规范:有什么更新?


计算快速链路 (cxl):存池图


内存池

CXL 2.0 支持切换以启用内存池。使用 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 2.0 直连架构,数据中心可以实现主内存扩展的性能优势,以及池化内存的效率和 TCO 优势。假设所有主机和设备都启用了 CXL 2.0,则“交换”通过 CXL 内存池芯片中的通道合并到内存设备中。这保持了低延迟,但需要更强大的芯片,因为它现在负责交换机执行的控制平面功能。通过低延迟直接连接,连接的内存设备可以采用 DDR DRAM 来扩展主机主内存。这可以在非常灵活的基础上完成,因为主机能够根据需要访问任意数量的设备的全部或部分容量,以处理特定的工作负载。


“按需”内存范式

与拼车类似,CXL 2.0“根据需要”将内存分配给主机,从而提供更高的内存利用率和效率。此体系结构提供了为名义工作负载(而不是最坏情况)预配服务器主内存的选项,并能够在高容量工作负载需要时访问池,并为 TCO 提供更多好处。最终,CXL 内存池模型可以支持向服务器解耦和可组合性的根本转变。在此范例中,可以按需组合计算、内存和存储的离散单元,以有效满足任何工作负载的需求。


完整性和数据加密 (IDE,Integrity and Data Encryption)

解耦(或分离服务器体系结构的组件)会增加攻击面。这正是 CXL 包含安全设计方法的原因。具体而言,所有三种 CXL 协议都通过 IDE 进行保护,该加密提供机密性、完整性和重放保护。IDE 在 CXL 主机和设备芯片中实例化的硬件级安全协议引擎中实现,以满足 CXL 的高速数据速率要求,而不会引入额外的延迟。应该注意的是,CXL芯片和系统本身需要防止篡改和网络攻击的保障措施。在 CXL 芯片中实现的硬件信任根可以为安全启动和安全固件下载的安全和支持要求提供此基础。



7. 什么是 CXL 联盟?


CXL联盟是一个开放的行业标准组织,旨在开发技术规范,以促进新兴使用模型的突破性性能,同时支持数据中心加速器和其他高速增强功能的开放生态系统。



最后的思考


服务器架构几十年来基本保持不变,正在向前迈出革命性的一步,以解决AI / ML应用程序生成的大量数据。具体而言,数据中心正在从每个服务器都具有专用处理和内存以及网络设备和加速器的模型转变为智能匹配资源和工作负载的解耦池范例。这种方法为数据中心提供了广泛的优势,包括更高的性能、更高的效率和更低的 TCO。


尽管解耦(或机架级架构)和通用接口的概念已经流传了一段时间,但业界正在决定性地将 CXL 作为处理器、内存和加速器的缓存一致性互连。CXL 以 PCIe 5.0 的物理和电气接口为基础,其协议可建立一致性、简化软件堆栈并保持与现有标准的兼容性。除了资源共享(内存池)和交换之外,CXL 还允许通过 CXL 连接的设备向 CPU 主机处理器添加更多内存。与持久内存配对时,低延迟 CXL 链路允许 CPU 主机将此附加内存与 DRAM 内存结合使用。CXL 的优势显而易见,因为高容量工作负载的性能取决于 AI 等大内存容量。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存