链接已复制!

CXL:“无限RAM”故障

如果达到RAM限制,唯一的选择就是“作弊”。业界解决短缺的方案不仅仅是“制造更多芯片”,而是一种名为CXL的新协议,它最终使服务器能够“下载更多RAM”。

🌐
机器翻译

本文由英文原文自动翻译而成。 阅读英文原文

CXL内存池的未来主义可视化,发光的数据流连接着服务器机架

要点

  • “下载 RAM”现实:CXL 3.0 允许服务器通过类似 PCIe 的总线从共享池借用内存,有效解决物理插槽限制。
  • 解决 25% 的浪费:多达四分之一的数据中心内存处于闲置状态(“闲置”),因为它被锁定到不需要它的 CPU。 CXL 释放了这种能力。
  • 光速物理:通过使用 PCIe 6.0 PHY 和 PAM-4 信令,CXL 3.0 实现了 64 GT/s,使远程内存足够快,感觉就像是本地内存。
  • 主板的终结:行业正在走向“分解计算”,其中 CPU、RAM 和存储是通过光和铜连接的独立设备。

几十年来,“下载使用 RAM”模因一直是计算机素养的终极试金石。您无法下载硬件。 RAM 是一根由硅和电容器组成的物理棒,直接焊接或开槽在 CPU 旁边,因为光速太慢,无法将其放置在其他地方。

但到了 2025 年,这个笑话正在变成现实。该行业已经陷入困境:CPU 核心数量正在爆炸式增长,但工程师可以塞到主板上的内存通道数量却没有增加。处理器正在挨饿。

输入 Compute Express Link (CXL),特别是 3.0 版本。它是一个允许工程师打破传统服务器架构法则的协议。通过将内存与 CPU 解耦并将其放入共享“池”中,CXL 允许一台服务器以足够接近本地 DRAM 的速度访问物理上位于另一个抽屉(甚至另一个机架)中的内存,以至于软件无法区分。

这是最接近“无限 RAM”故障的数据中心。这是十年来最重要的硬件转变背后的物理、经济学和工程原理。

背景:“搁浅记忆”危机

要了解 CXL,您必须了解现代超大规模企业(例如 Google、AWS 和 Azure)的经济噩梦。

25% 税

在传统服务器中,您购买 CPU,并在插槽中填充 RAM。如果该服务器运行计算密集型任务,使用 100% 的 CPU,但仅使用 10% 的 RAM,则 90% 的 RAM 被浪费。它被“搁浅”了。它不能借给隔壁因内存不足而崩溃的服务器。

根据 Microsoft 和 Marvell 的研究,在任何特定时刻,大约 25% 的数据中心内存处于闲置状态

Wasted Capital=Total DRAM Spend×0.25\text{Wasted Capital} = \text{Total DRAM Spend} \times 0.25

到 2028 年,服务器 DRAM 销售额预计将达到 400 亿美元,即每年损失 80 亿美元**。在人工智能模型的规模每隔几个月就会翻一番的时代,留下如此多的容量是不可接受的。

了解 CXL 3.0:作弊的原理

CXL 并不是一种新电缆;它是一种新型电缆。它是一个基于 PCIe 电气接口之上的协议。如果 PCIe 是道路,那么 CXL 就是交通规则,使汽车(数据)能够以法拉利的速度行驶而不会发生碰撞。

工作原理:创造“一致性”

CXL 的魔力在于缓存一致性

通常,如果设备(例如 GPU 或 SSD)写入内存,CPU 不会立即知道。 CPU 可能在其 L1/L2 缓存中保存该数据的旧副本。这种不匹配会导致错误。 CXL 引入了三种协议来解决此问题:

  1. CXL.io:发现和配置(基本 PCIe 内容)。
  2. CXL.cache:允许设备监听CPU的缓存。
  3. CXL.mem:允许 CPU 读取/写入设备内存,就好像它是系统 RAM 一样。

CXL 3.0 通过 内存池 更进一步。

带宽数学

CXL 3.0 通常使用 PCIe 6.0 物理层。这依赖于 PAM-4(脉冲幅度调制 4 级) 信令。它不是发送 0 和 1 (NRZ),而是发送四个电压电平(00、01、10、11),有效地使每个时钟的吞吐量加倍。

Throughput=64 GT/s×16 lanes×256242(FEC overhead)128 GB/s\text{Throughput} = 64 \text{ GT/s} \times 16 \text{ lanes} \times \frac{256}{242} (\text{FEC overhead}) \approx 128 \text{ GB/s}

虽然这比绝对最快的本地 DDR5(可以跨多个通道推动 200+ GB/s)慢,但对于“扩展内存”(本地分配填满时使用的 RAM 层)来说已经足够快了。

演变:为什么 CXL 3.0 是“故障”

要理解为什么 CXL 3.0 是一场革命,必须分析它的前辈。

  • CXL 1.0/1.1 是简单的点对点连接。它允许将内存扩展卡插入服务器,并且 CPU 会看到它。有用,但静态。它解决了“内存容量”问题,但没有解决“闲置内存”问题。
  • CXL 2.0 引入了切换。与网络交换机一样,工程师可以将多个设备连接到单个主机,或在主机之间划分设备。这就是池化的诞生,但它仅限于单个“扇出”层次结构。
  • CXL 3.0 是物理变得有趣的地方。它介绍了“面料”。设备可以在点对点网格中相互通信,而不是简单的树结构。 GPU 可以直接与 CXL 内存条通信,而无需唤醒 CPU。这可以减少延迟并模仿本地集群的“无限 RAM”行为。它将整个数据中心变成一个巨大的主板。

深入研究:分解和制造

这样做的意义不仅仅是省钱。它改变了服务器的构建方式。

主板之死

传统上,主板是一个严格的映射:2 个 CPU 插槽、32 个 DIMM 插槽。你的生死都取决于那张地图。 有了 CXL,“主板”就变成了“背板”。

  • 抽屉 1:仅 CPU(计算)。
  • 抽屉 2:仅 RAM(内存池)。
  • 抽屉 3:仅 GPU(加速器)。

它们通过 CXL 交换机连接。如果服务器 A 今天需要 1TB RAM 来编译大型数据库,交换机就会分配它。如果明天只需要 32GB,Switch 会回收该 RAM 并将其提供给服务器 B 进行 AI 训练。

多逻辑设备 (MLD)

CXL 3.0 引入了MLD,允许对单根 CXL 内存进行切片并同时在最多 16 台主机之间共享。 在内存控制器内部,一个称为通道管理单元 (CHMU) 的单元充当交通警察,确保当主机 A 写入地址 0x100 时,它不会覆盖主机 B 在同一物理地址处的数据(除非它们故意共享数据,CXL 也支持这一点)。

行业影响

对人工智能训练的影响

人工智能训练是受内存限制的。 H100 和 B200 GPU 非常强大,但它们常常缺乏数据。 CXL 允许将更大的模型权重保存在“近内存”中,从而减少从慢速 NVMe SSD 获取数据的需要。

对云定价的影响

这种效率可能会导致“Spot RAM”实例的出现。正如您可以在 AWS 上购买现货 EC2 实例一样,您很快就可以利用旁边机架的闲置容量,以极低的成本动态地爆发 RAM 容量。

挑战与限制

  1. 延迟损失:物理原理很顽固。添加一个开关和几英尺的电缆会增加纳秒。 CXL 内存的延迟约为 170-250ns,而本地 DRAM 的延迟为80-100ns。它是“第 2 层”内存,比 SSD 更快,但比本地 RAM 慢。
  2. 信号完整性:PAM-4 信号很脆弱。在 64 GT/s 下,仅几英寸的 PCB 走线后信号就会减弱。需要复杂的重定时器和高质量的布线,从而增加了前期成本。
  3. 软件支持:操作系统需要“CXL 感知”。操作系统内核必须足够智能,能够将“热”数据放置在本地 RAM 中,将“热”数据放置在 CXL RAM(分层)中。

前瞻性分析:5 年展望

短期:混合时代(2025-2026)

市场将出现“CXL Expanders”——看起来像 SSD 但包含 RAM 的附加卡。这些将被插入标准服务器以增加 512GB 或 1TB 的廉价容量。

中期:机架规模架构(2027+)

服务器机箱将会消失。超大规模用户将购买“计算砖”和“内存砖”。数据中心将不再像一排排的披萨盒,而更像是由分散资源组成的巨大的液冷蜂巢。

“无限记忆”地平线

最终,应用程序将不知道它们的内存在哪里。应用程序可能需要 100TB 的 RAM,CXL 结构将从整个数据中心楼层的闲置容量中将其拼凑在一起。

底线

CXL 是业界承认引脚和电线的摩尔定律已经结束。工程师无法在 CPU 插槽中塞入更多电线。因此,制造商不再尝试将管道做得更大,而是建造了更智能的管道系统。

对于普通用户来说,这意味着更便宜、更快的云服务。对于工程师来说,这意味着“内存不足”错误的结束。 RAM 不是无限的,但历史上第一次,它终于变得流畅了。

资料来源 (4)

Advertisement

🦋 Bluesky 讨论

在 Bluesky 上讨论

正在搜索帖子...