为什么你应该现在开始关注CXL

经过三年多的发展,CXL已近在咫尺。期待已久的互连技术将与英特尔即将推出的Sapphire Rapids和AMD的Genoa处理器家族一起首次亮相。

这意味着您购买的下一台服务器很有可能支持新兴的互连技术。那么,它有什么好处呢?

目前,在 1.1 迭代中,CXL以内存扩展和分层内存应用程序为中心。需要比 DIMM 插槽更多的 RAM?只需将 CXL 内存模块插入空的 PCIe 5.0 插槽,即可开始运行。

是的,它会降低性能并引入一点延迟,但是如果您受到内存限制,并且三星即将推出的512GB DDR5 DIMM不在您的预算范围内,那么可能值得考虑,特别是现在Intel Optane已经死了。

数据是新的石油,而内存仍然是数据中心中最昂贵的组件之一 —— 可能更甚,因为您闪亮的新CXL兼容系统也将采用DDR5 —— 鉴于AI/ML、大数据和数据库工作负载的范围不断扩大,仅这些功能就使CXL具有吸引力。

“如果你受到带宽限制而不是延迟限制,这可能是一个很好的选择,”Gartner分析师Tony Harvey说。

更重要的是,由于每个扩展模块都有自己的内存控制器,因此可以向系统添加多少DRAM实际上没有向上限制。它甚至不必是同一种内存。例如,作为一项节省成本的措施,您可以将适量的 DDR5 直接附加到 CPU,并使用速度较慢但更便宜的 DDR4 CXL 内存扩展模块作为分层内存层次结构的一部分。

这些类型的内存模块已经在进行中。Marvell详细介绍了今年春天的CXL路线图,预计将与Sapphire Rapids和Genoa一起推出其第一批CXL内存模块。同样,三星在生产中也有一个512GB CXL DRAM模块,等待兼容系统部署它们。

实际上,唯一的限制因素是带宽 —— 32 GB/s,与PCIe 5.0相同 —— 和延迟。

但 CXL 不仅仅是使用 PCIe 插槽添加内存。该技术定义了一个通用的缓存一致性接口,用于连接任意数量的 CPU、内存、加速器和其他外设。

远距离内存

当第一批与 CXL 2.0 兼容的系统开始进入市场时,事情将开始变得非常有趣。

2.0 规范引入了类似于 PCIe 交换的交换功能,但由于 CXL 支持 CPU 直接访问内存,因此您不仅可以远距离部署它,还可以使多个系统在所谓的内存池中利用它。

“CXL 2.0 允许一个交换机,不仅仅是一个用于向外的交换机,而是一个允许内存设备将自己分割成多个部分的交换机,并提供对不同主机的访问,”CXL总裁 Siamak Tavallaei 说。

想象一下,部署一个包含数 TB 廉价 DDR4 的独立内存设备,该设备可由多个系统同时访问,就像您可能将多个系统连接到存储阵列一样。

在这种部署中,可以将内存分配给机架中的任何计算机,并且空闲资源不再被锁定在独立服务器中。

“这有巨大的影响,因为以前内存在物理上与CPU绑定,你不能移动它,这会导致问题,因为你的核心带宽比都是错误的,” Harvey说。

如果这听起来好得令人难以置信,那么只要看看任何精品可组合基础设施供应商 —— Liqid 和 GigaIO 浮现在脑海中 —— 他们一直在做所有事情,包括制造专用的GPU和NVMe存储设备。

CXL 交换机执行相同的操作,但将此功能扩展到内存。

“当然,对于裸机即服务提供商,云提供商来说,获取内存的能力,这可能是最昂贵的组件之一,从中获得更好的利用率将是巨大的,” Harvey说。

解耦的梦想

到目前为止,我们主要介绍了 CXL 将如何使内存密集型工作负载受益,并最终为访问内存的方式和人员提供更大的灵活性。但是,CXL 对其他外设(如 GPU、DPU、NIC 和其他加速器)也有影响。

CXL设备的第三次浪潮是事情变得非常有趣的地方,我们对构建系统和数据中心的思考方式可能会发生巨大变化。

本周宣布的CXL 3.0规范将打开一扇真正解耦的计算架构,其中内存,存储,网络和其他加速器可以由多个主机和加速器动态地池化和寻址,而不是购买整个服务器,每个服务器都配备了他们可能需要的一切,以及几个CXL内存设备。

这是通过将多个 CXL 交换机拼接到一个结构中来实现的。这里的想法实际上与互连一堆网络交换机没有什么不同,以便网络一端的客户端可以有效地与另一侧的系统进行通信。但是,我们谈论的不是基于以太网的TCP和UDP,而是通过PCIe运行的CXL。

“这创造了一个更大的系统集合,你可以开始称之为网络,” Tavallaei 说。

然而,要达到这一点并不容易。实现这一目标所需的切换功能仅在最新版本中得到了阐述。Tavallaei解释说,以前,2.0规范只允许将单个加速器连接到任何给定的CXL交换机。

3.0 规范还提供了通过该交换机甚至跨结构进行直接点对点通信的方法。这意味着外设 —— 比如两个GPU或一个GPU和内存扩展模块 —— 理论上可以在没有主机CPU参与的情况下相互通信。

这消除了CPU作为潜在阻塞点, Tavallaei 说。

最后, 第三代 CXL系统将获得对内存共享的支持,其中多个系统将能够同时访问存储在公共内存池中的相同位和字节。

根据 Tavallaei的说法,这可以通过最小的延迟损失来实现。在内存共享的情况下,他声称该技术可以在延迟的一小部分实现类似RDMA的功能 —— 数百纳秒而不是一两微秒。

现在是时候考虑CXL了

虽然这种解耦计算和可组合基础架构的宏伟愿景还需要几年的时间,但这并不意味着您现在不应该考虑 CXL。

该技术在短期内适用于运行大型内存密集型工作负载(如数据库或AI/ML工作负载)的用户,其中CXL内存模块可能提供 DDR5的更便宜的替代方案。

从一代到下一代的向后兼容性(就像 PCIe 一样)意味着在下一次系统刷新期间做出的决策可能会影响未来数据中心的架构。

而且您可能不必等待很长时间。第一批与CXL兼容的系统应该在去年推出。正如我们在今年春天宣布的三星CXL内存模块中看到的那样,已经有CXL产品等待兼容系统实际出现。

当他们这样做时,客户将能够部署基于CXL的内存扩展,并立即开始探索分层内存架构。

例如,客户现在可以部署基于 CXL 的内存扩展和分层内存,并且知道,当内存池与几年后第一批 CXL 2.0 兼容系统一起出现时,这些投资仍然具有相关性。