《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > 是时候深入了解CXL了

是时候深入了解CXL了

2021-11-23
来源: 半导体行业观察
关键词: CXL

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

  服务器架构在过去几十年来基本保持不变,现在,他们正朝着解决 AI/ML 应用程序生成的 yottabytes 数据迈出革命性的一步。具体来说,数据中心正在从每台服务器都有专用处理和内存以及网络设备和加速器的模型转变为智能匹配资源和工作负载的分解“池”范式。

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

  什么是Compute Express Link?

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

  类型 1 设备:智能 NIC 等加速器通常缺乏本地内存。但是,它们可以利用 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。

  CXL 协议和标准

  Compute Express Link (CXL) 标准通过三种协议支持各种用例,当中包括:CXL.io、CXL.cache 和 CXL.memory。

  CXL.io:该协议在功能上等同于 PCIe 5.0 协议,并利用了 PCIe 的广泛行业采用和熟悉程度。作为基础通信协议,CXL.io 用途广泛,可解决广泛的用例。

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

  CXL.memory:该协议使主机(例如处理器)能够使用加载/存储命令访问设备连接的内存。

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

  Compute Express Link 与 PCIe 5:

  这两者有何关联?

  CXL 2.0 建立在PCIe 5.0的物理和电气接口之上,其协议建立一致性、简化软件堆栈并保持与现有标准的兼容性。

  具体来说,CXL 利用 PCIe 5 功能,允许备用协议使用物理 PCIe 层。当启用 CXL 的加速器插入 x16 插槽时,设备以默认的 PCI Express 1.0 传输速率 (2.5 GT/s) 与主机处理器的端口协商。Compute Express Link 事务协议仅在双方都支持 CXL 时激活。否则,它们将作为 PCIe 设备运行。

  根据VentureBeat 的Chris Angelini 的说法,CXL 和 PCIe 5 的对齐意味着这两种设备类别都可以以 32 GT/s(每秒千兆传输)或高达 64 GB/s 的速度通过 16 通道链路在每个方向上传输数据。

  Angelini 还指出,CXL 的性能需求很可能成为采用 PCIe 6.0 的驱动因素。

  CXL 的特点和优势

  简化和改进低延迟连接和内存一致性可显着提高计算性能和效率,同时降低 TCO。

  此外,CXL 内存扩展功能可实现超出当今服务器中紧密绑定的 DIMM 插槽的额外容量和带宽。CXL 可以通过连接 CXL 的设备向 CPU 主机处理器添加更多内存。当与持久内存配对时,低延迟 CXL 链接允许 CPU 主机结合 DRAM 内存使用此额外内存。大容量工作负载的性能取决于大内存容量,例如 AI。

  考虑到这些是大多数企业和数据中心运营商正在投资的工作负载类型,CXL 的优势显而易见。

  CXL 2.0 规范:有什么新变化?

微信图片_20211123120114.jpg

  Compute express link (cxl):内存池图 – Rambus

  (1)内存池

  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)一次只能由一台主机使用。

  (2)交换

  通过迁移到 CXL 2.0 直连架构,数据中心可以获得主内存扩展的性能优势,以及池化内存的效率和总体拥有成本 (TCO) 优势。

  假设所有主机和设备都支持 CXL 2.0,“交换”通过 CXL 内存池芯片中的交叉开关合并到内存设备中。这可以保持较低的延迟,但需要更强大的芯片,因为它现在负责由交换机执行的控制平面功能。

  通过低延迟直接连接,连接的内存设备可以使用 DDR DRAM 来扩展主机主内存。这可以在非常灵活的基础上完成,因为主机能够根据需要访问任意数量的设备的全部或部分容量来处理特定工作负载。

  (3)“按需”记忆范式

  类似于拼车,CXL 2.0 根据“需要”为主机分配内存,从而提供更高的内存利用率和效率。该架构提供了为标称工作负载(而不是最坏情况)配置服务器主内存的选项,能够在需要高容量工作负载时访问池,并为 TCO 提供进一步的好处。

  最终,CXL 内存池模型可以支持向服务器分解和可组合性的根本转变。在这种范式中,计算、内存和存储的离散单元可以按需组合,以有效满足任何工作负载的需求。

  (4)完整性和数据加密 (IDE)

  分解(或分离服务器架构的组件)会增加攻击面。这正是 CXL 包含安全设计方法的原因。具体来说,所有三个 CXL 协议都通过提供机密性、完整性和重放保护的完整性和数据加密 (IDE) 来保护。IDE 在 CXL 主机和设备芯片中实例化的硬件级安全协议引擎中实现,以满足 CXL 的高速数据速率要求,而不会引入额外的延迟。

  应该注意的是,CXL 芯片和系统本身需要防止篡改和网络攻击的保护措施。在 CXL 芯片中实现的硬件信任根可以为安全启动和安全固件下载的安全性和支持要求提供此基础。

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

 

 

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。