CXL-记忆体创新与系统性能的关键
背景
数据量正在以指数级增长,记忆体是启用创新应用程序的关键,包括边缘人工智慧、机器学习等。高性能平台对于即时访问、处理、存储和传输有价值的数据至关重要。对于 CPU 和记忆体的性能要求越来越高,而高容量和低延迟记忆体的发展速度远远慢于多核心处理器中核心数量的扩展。这就是 CXL 进入市场的原因,我们将在这篇科技博客中介绍它。

CXL是什么
CXL 指的是计算扩展链接,是一种开放标准,旨在提高高性能系统的内存利用率以获得更好的性能。CXL 提供了一条高带宽、低延迟的通道,允许加速器访问系统资源,并使系统能够利用连接到 CXL 设备的内存。它提供了 CPU、内存、GPU 和其他加速器之间高效且一致的通信。
– 协议
– CXL.io它是发现、配置、I/O 访问註册等的基础通信协议。它基于 PCIe,是所有 CXL 设备运行的必须支持协议。
– CXL.cache它使外围设备能够一致地访问和缓存主机 CPU 记忆体,以降低延迟。
– CXL.mem该协议允许主机处理器访问外围设备的内存,以提高内存利用率。
这三种协议共同促进了主机(CPU)和设备(加速器)之间的内存资源的协同共享。
– 装置类型

– 类型 1:设备(加速器)缺乏本地记忆体,例如智能网路介面卡依赖于对主机(CPU)记忆体的连贯访问。
– 类型 2:配备本地记忆体的装置,如 GDDR 或 HBM,像是通用加速器(GPU、ASIC 或 FPGA)可以利用 CXL 来一致性地访问主机 CPU 的记忆体和/或将加速器的记忆体本地提供给主机 CPU。
– 类型 3:记忆体装置,包括记忆体扩展板和持久性记忆体,可以通过 CXL 连接,以扩展主机 CPU 的记忆体容量和带宽。

图片 2. CXL Type 1/2/3 设备的比较插图
CXL市场仍处于早期阶段,但已获得主要行业领导者的强力支持。一些记忆体供应商早在2022年就开始开发支持CXL的E3.S记忆体。以下是一些已经生产样品的市场参与者,供参考。

*SK Hynix 首次于 2022 年推出支援 CXL2.0 的 96GB E3.S 记忆体模组,目前正在开发 128GB E3.S 版本。
– 规格
– CXL 1.x (1.0/1.1)CXL 1.0 基于 PCIe 5.0,允许主机 CPU 访问设备内存以进行内存扩展,这指的是类型 2 应用程序。CXL 1.1 进一步支持设备级内存扩展,用于类型 3 应用程序,以及协同加速器模式,用于类型 1 应用程序。主机和设备之间的连接必须是一对一的。
– CXL 2.0支持 CXL 单层切换,多个 CXL 2.0 主处理器可以连接到多个 CXL 1.0/CXL 1.1/CXL 2.0 设备,跨越多个虚拟层级,这大大增加了设备连接的灵活性。记忆体池允许多个主机访问共享记忆体资源,同时每个主机被分配一个不重叠的地址范围。每个 CXL 2.0 设备可以被划分为多个逻辑设备供主处理器访问。通过有效分配共享记忆体资源,可以实现更好的记忆体利用率。
– CXL 3.0CXL 3.0 提升了传输性能并加强了多个连接的灵活性。基于 PCIe 6.0 接口,传输带宽相比于基于 PCIe 5.0 的 CXL 2.0/1.1/1.0 翻倍。连接一个逻辑设备到一个主处理器没有限制,内存共享允许多个主机访问相同的内存。凭藉多级交换和网络能力的支持,它使得极具灵活性的连接的大规模架构成为可能。

CXL 提供 CPU、记忆体、GPU 和其他加速器之间高效且一致的通信。为了利用这个开放标准,CPU 和连接的设备必须与其兼容。主要市场领导者,包括 Intel 和 AMD,已将 CXL 1.0+ 和 CXL 2.0+ 功能整合到他们的处理器中。支援表如下所示,供参考。

CXL 正在稳步推进,朝着广泛採用和商业准备的方向发展。目前大多数解决方案基于 CXL 1.1 或 CXL 2.0,支持 CXL 2.0 的解决方案的量产预计在 2025 年进行。
摘要
CXL 是一种新兴的互连技术,能够实现记忆体扩展、记忆体池化和记忆体共享,以优化记忆体利用率和提高成本效率。它在数据分析、边缘人工智慧、机器学习、生成式人工智慧等创新应用中扮演着至关重要的角色,这些应用需要高效处理大量数据。

