CXL 指南和资源
CXL 技术正在快速发展,以解决人工智能和机器学习应用程序带来的内存分配和数据存储挑战。VIAVI 的高级分析解决方案帮助运营商支持 CXL 标准的独特测试和验证要求。
作为 CXL 联盟的参与成员,VIAVI 已经认识到围绕计算快速链路拓扑的行业共识正在不断增长。数十年的高速互连测试经验使 VIAVI 有资格领导重要的 CXL 解码验证工作,并从以客户为中心的角度参与正在进行的规范开发。
PCIe® 协议分析仪、干扰器、协议训练器和测试软件产品组合跨越了多代标准,使 VIAVI 能够在同一物理接口上自然地转向 CXL 测试流程。CXL 提升的实时指标、交易分析以及详细的捕获和分析现在可以在多功能和直观的测试平台中使用。
什么是CXL?
CXL 是一种高速缓存一致性开放式互连标准,用于高速 CPU 与内存和其他设备的连接。CXL利用标准的 PCIe 5.0 物理层,并作为受支持的替代协议运行。通过为连接的设备创建公共存储空间,CXL 标准为超大规模用户和其他高级应用带来了性能优势。
- CXL利用灵活的处理器端口,可以在 PCIe 5.0 或 CXL 模式下运行。这两种设备在 16 个通道上的每个方向都可以实现 32 GT/秒或高达 64 GB/秒的数据速率。
- CXL 联盟由九家组织于 2019 年成立,旨在开发技术规范,支持新兴使用案例模型,推动 CXL 技术的开发和采用。
- 人工智能 (AI)、机器学习和云基础设施是从 CXL 接口提供的极低延迟和一致内存访问中受益最多的应用。
CXL 是如何工作的?
总之,CXL框架在 CPU 的内存和连接的每个设备之间建立一致性。这样,即使降低了软件堆栈的复杂性,也可以高效地汇集和共享存储资源。要启用内存池,主机和外围设备都必须启用 CXL。数据传输使用 528 位流控制单元或“微片”来完成。
- 单级交换允许主机扇出到多个设备,同时保持每个方向的高吞吐量。包括加速器和任何可用 CXL 存储在内的资源可以随着服务器工作负载的变化而动态重新分配。
- CXL 2.0 规范还包括一个标准化的结构管理器。无论池类型、主机或使用模式如何,这都能通过一致的配置和错误报告确保无缝的用户体验。
常见 CXL 使用案例
随着接口的发展,独特的使用案例和应用促使 CXL 联盟定义了三种分立设备类型。
- 1 类设备:加速器和其他缺乏本地内存,因此必须依赖 CPU 的设备被归类为 1 类设备。CXL.io 和 CXL.cache 协议使这些设备能够更高效地进行通信并从主机处理器传输存储容量。
- 2 类设备:具有自己的数据存储能力但也利用 CPU 内存的产品被称为 2 类设备。所有这三种 CXL 协议结合起来,促进这些设备和 CPU 之间的一致内存共享。
- 3 类设备:用于增加现有 CPU 内存的内存扩展器或设备被归类为 3 类设备。CXL.io 和 CXL.memory 协议使 CPU 能够以改进的带宽和延迟性能访问这些外部源。
CXL 的优势
通过简化连接和资源共享,CXL 技术提供了许多增强功能,提高了高容量工作负载性能,同时降低了系统复杂性和成本。随着下一代数据中心和新兴技术推动对更快数据处理和更低总拥有成本 (TOC) 的需求,这些属性变得越来越有价值。
- 一致性使 CXL 内存池在数据有效性方面保持一致。这允许在设备和处理器之间更快、更高效地共享资源。
- CXL 标准完全支持将不同类型和不同代的处理器组合在一起的异构体系结构。随着基础设施组成部分的发展,这对于复杂的人工智能神经网络和机器学习系统尤其有用。
- 更低的延迟是对永久内存进行战略性池化、提高 CXL 交换效率和标准化内存管理的结果。降低延迟被认为是下一代使用案例和未来 PCIe 6.0 采用的关键促成因素。
CXL 协议和标准
2019 年 CXL 1.0 标准的发布是一个重要的里程碑,其标志是 CPU 对共享加速器设备内存的访问。自这次成功亮相以来,CXL 协议和标准一直在不断改进和扩展。
- CXL 1.1 改进了原始标准的兼容性和互操作性,同时保持了与 1.0 版的向后兼容性。
- CXL 2.0 增加了扇出配置、资源池和持久内存支持的交换功能,同时最大限度地减少了过度调配资源的需求。此外,纳入了链路级完整性和数据加密 (CXL IDE) 以提高安全性。
- 为 CXL 规范 1.0 开发的子协议在整个 CXL 生命周期中保持一致:
- CXL.io 基于 PCIe 5.0 协议,用于发现、配置和寄存器访问功能。CXL.io 必须得到所有 CXL 设备的支持才能正常工作。 CXL.cache 管理 CPU(主机设备)和其他支持 CXL 的设备之间的交互。此子协议支持高效、低延迟的主机内存缓存,以及使用请求和响应过程直接访问 CPU 内存的设备。
- CXL.memory 为主机提供了多种访问模式,以便使用 load 和 store 命令来预置连接的设备内存。在此配置中,CPU 充当主设备,而 CXL 设备充当从设备。
CXL 对存储的影响
CXL 协议规范定义的异构、开放计算模型创建了更加灵活的存储环境,高效的数据移动有助于降低延迟和成本。除了池化一致性内存的隐含价值之外,专有内存互连的减少还补充了新兴技术设备的多样性。
这种存储动态的转变也将增加缓存内存池的大小,有助于满足超大规模数据中心和其他大型计算企业的临时存储需求。CXL 内存池带来的额外容量可以根据高容量工作负载的需要调用。这种存储模式的转变与数据中心分解和开放式架构的总体趋势是一致的。
CXL 和 PCIe
在过去的二十年里,PCI Express (PCIe) 已经成为事实上的高速串行总线架构,它的点对点拓扑为连接的设备提供了高速链路。尽管 PCIe 在批量数据传输方面很成熟,但在大型数据中心应用中,其缺点变得很明显。内存池彼此隔离,这使得大量资源共享几乎不可能,并增加了新连接设备的延迟赤字。
- PCIe 5.0 是最新一代向后兼容的外设部件互连快速标准。第五代于 2019 年发布,包括必要的双倍吞吐量,以及对 CXL 接口正在使用的备用协议部署的支持。
- CXL 协议在 PCIe 5.0 物理层上运行,在标准 PCIe 体系结构的多功能性的基础上,在事务层内集成新的内存共享功能。
- 标准 PCIe 设备和 CXL 软件可以在同一链路上得到支持。灵活的处理器端口可以快速协商标准 PCIe 或替代协议 CXL 互连事务。
- PCIe 6.0 速度将延续前几代的翻倍惯例。这使得设备和系统内存的融合成为减少延迟和提高加速器性能的重要考虑因素。
CXL 与 CCIX
面向加速器的高速缓存一致性互连 (CCIX®) 没有作为 CXL 的直接竞争技术,而是采用了一种替代的内存池方法。
- CCIX 联盟:CCIX 联盟的既定使命是开发和推广采用行业标准规范,以实现通用处理器和加速设备之间的一致互连技术,从而实现高效的异构计算。
- CCIX 规范:开源规范定义了对等、对称的内存一致性模式,并与 CXL 规范并行(按时间顺序)开发。使用非统一内存访问架构 (NUMA) 将多个设备的存储容量汇集在一起。主机设备和加速器都必须支持 CCIX 操作。
- 替代协议:CCIX 和计算快速链路各自利用 PCIe 5.0 物理层和对替代协议的支持。使用 FlexBus 连接,CXL 技术默认使用 CPU 来实现高速缓存一致性,而 CCIX 不会建立设备层次结构。这一区别为计算快速链路架构带来了显著的速度和延迟优势。
VIAVI CXL 产品
适用于 PCIe 5.0 的 VIAVI Xgig Analyzer 解决方案支持 CXL. 缓存/内存事务和触发器。Xgig 捕获有价值的实时指标,并同时对多个轨线进行详细分析。
VIAVI PCIe 5.0 接口适配卡,如 Xgig PCIe 5.0 16 通道 CEM 接口适配卡,可用于捕获 PCIe 物理层上运行的 CXL 流量。接口适配卡在协议分析器和被测系统之间创建双向接口。
VIAVI 和 CXL 联盟
CXL 联盟是一个开放的行业标准组织,旨在制定技术规范,促进新兴使用模式的突破性性能,同时支持数据中心加速器和其他高速增强功能的开放生态系统。
该联盟于 2019 年由九个创始组织正式注册成立,目前包括约 170 家成员公司。这包括组成董事会的 15 个领先的计算机行业组织。
VIAVI 为加入 CXL 联盟而倍感自豪,随着独特测试要求的发展,它为新的工作组和规范开发贡献了数十年的高速串行总线测试和验证专业知识。VIAVI 在 2020 年初启动了计算快速链路解码的基本验证工作流。
CXL 的历史
随着 CXL 1.0 规范的发布,CXL 于 2019 年 3 月首次向世界推出。仅在三个月后就发布了 CXL 1.1,其中只包含了少量更新。以 2020 年 11 月的 2.0 本为代表的重大升级包括链路交换、链路安全和其他直接解决系统性能和快速采用的重要功能。还定义了热插拔流,以可靠地为以太网上的 CXL 等应用添加或移除资源。
- 首批商用的 CXL 产品是 2019 年 4 月推出的 Intel® 系列 Agilex™ FPGA。
- 此外推出的其他 CXL 产品有 Samsung 的内存扩展模块和许多领先制造商的处理器。
- 多个 CXL 设备目前正在开发中,这突显了对可靠的 CXL 协议分析和验证解决方案的需求。
- CXL 2.0 现已面市。CXL 3.0 将适配 PCIe 6.0 物理层,预计将于 2022 年发布。