据最新消息披露,包括AMD、博通(Broadcom)、思科(Cisco)、Google、惠普(Hewlett Packard Enterprise,HPE)、英特尔(Intel)、Meta和微软(Microsoft)在内的八家公司宣告,他们已经为人工智能数据中心的网络制定了新的互联技术UALink(Ultra Accelerator Link)。通过为人工智能加速器之间的通信建立一个开放标准,以打破市场* Nvidia的垄断。
众所周知,英伟达是人工智能芯片市场*的参与者,他们在GPU上拥有了**的份额。但其实除此以外,英伟达还拥有一系列技术,可用于在多个 GPU 和系统上扩展工作负载。其中包括其片上和封装互连、用于服务器或 pod 中 GPU 到 GPU 通信的 NVLink、用于扩展 pod 之外的 Infiniband 以及用于连接到更广泛基础设施的以太网。
现在,该行业的其他公司正试图用开放标准进行反击,以争夺这些细分市场。去年,我们看到了 Ultra Ethernet,它使用增强型以太网旨在取代 Nvidia 的 InfiniBand 高性能互连,后者已迅速成为连接 GPU 加速节点的事实标准,并且获得了丰厚的利润。
今年,我们将获得 Ultra Accelerator Link 或 UALink ,一项旨在取代 Nvidia 的 NVLink 协议和 NVLink Switch(有时称为 NVSwitch)内存结构新标准。在具体介绍UALink 之前,我们先对Nvlink进行介绍。
01 英伟达的隐形护城河
过去,我们看到了很多有关英伟达GPU和CUDA护城河的介绍。诚然,经过多年的投入,他们已经建立起了难以逾越的优势。但除此以外,如上所述,英伟达还有很多隐形护城河,NVLink就是其中的一个,一个为GPU到GPU互联提供高速连接的技术。
在摩尔定律逐渐失效,但对算力要求越来越高的当下,这种互联显得尤为必要。
按照英伟达在官方网站中表示,NVLink 是全球首创的高速GPU 互连技术,为多GPU 系统提供另一种选择,与传统的PCI-E 解决方案相比,速度方面拥有显著提升。使用NVLink 连接两张NVIDIA GPU,即可弹性调整记忆体与效能,满足专业视觉运算最高工作负载的需求。
相关资料显示,NVLink 最初是一种将 Nvidia GPU 卡上的内存组合在一起的方法,最终 Nvidia Research 实现了一个交换机来驱动这些端口,允许 Nvidia 以杠铃拓扑(barbell topology )连接两个以上的 GPU,或以十字交叉方形拓扑(crisscrossed square topology)连接四个 GPU,这种拓扑几十年来通常用于创建基于 CPU 的双插槽和四插槽服务器。
几年前,AI 系统需要八个或十六个 GPU 共享内存,以简化编程,并使这些 GPU 能够以内存速度(而不是网络速度)访问数据集。因此,实验室中的 NVSwitch 于 2018 年在基于“Volta”V100 GPU 加速器的 DGX-2 平台上迅速商业化。
目前,NVLink可在 GPU 之间以每秒 1.8 TB 的速度传输数据。此外,还有一个 NVLink 机架级交换机,能够在无阻塞计算结构中支持多达 576 个完全连接的 GPU。通过 NVLink 连接的 GPU 称为“pod”,表示它们有自己的数据和计算域。
其实除了Nvlink以外,还有两种连接GPU的方法,分别是PCI总线和Server-to-Server互联。据了解,标准服务器通常可以在 PCI 总线上支持 4-8 个 GPU。通过使用GigaIO FabreX 内存结构等技术,可以将这个数字增加到 32 个。
除此以外,以太网或 InfiniBand可以连接包含 GPU 的服务器。这种连接级别通常称为横向扩展,其中较快的多 GPU 域通过较慢的网络连接以形成大型计算网络。
其实自从比特开始在机器之间移动以来,以太网一直是计算机网络的主力。最近,通过引入超级以太网联盟,该规范已被推动以提供高性能。事实上,英特尔已经在以太网上插上了互连旗帜,因为英特尔 Gaudi -2 AI 处理器在芯片上拥有 24 个 100 千兆以太网连接。
不过,Nvidia 没有加入超级以太网联盟,因为他们在 2019 年 3 月收购 Mellanox 后,基本上独占了高性能 InfiniBand 互连市场。超级以太网联盟旨在成为其他所有人的“InfiniBand”。值得一提的是,英特尔曾经高举 InfiniBand 大旗。
因此在这种情况下,对于其他人来说,除了用于连接 MI300A APU 的 AMD Infinity Fabric 之外,没有其他选择。与 InfiniBand/以太网的情况类似,需要某种“超级”竞争对手联盟来填补非 Nvidia 的“pod 空缺”。而这正是UALink推出的重要原因。
02 什么是UALink?
超级加速器链(Ultra Accelerator Link,UALink)同样是一种可提高新一代AI/ML集群性能的高速加速器互连技术。八家发起厂商(和超级以太网联盟一样,我们也没有在UAlink联盟中看到英伟达的身影)也成立了一个开放行业标准机构来制定相关技术规范,以促进新使用模式所需的突破性性能,同时支持数据中心加速器用开放生态系统的发展。
在他们看来,发起这个标准很有必要。因为随着AI计算需求的增长,拥有稳健、低延迟且可高效纵向扩展的网络,从而轻松将计算资源添加到单个实例中至关重要。而针对纵向扩展功能制定开放的行业标准规范,有助于为AI工作负载创建开放的高性能环境,从而提供尽可能高的性能。
正是由于这个原因,UALink和行业规范对于新一代AI数据中心用AI和机器学习、HPC和云应用程序的接口标准化及其实现至关重要。该工作组将制定相应的规范来界定AI计算容器组中加速器与交换机之间进行纵向扩展通信所需的高速低延迟互连。
从相关资料可以看到,Ultra Accelerator Link 联盟的核心于去年 12 月就已经建立,当时 CPU 和 GPU 制造商 AMD 和 PCI-Express 交换机制造商博通表示,博通未来的 PCI-Express 交换机将支持 xGMI 和 Infinity Fabric 协议,用于将其 Instinct GPU 内存相互连接,以及使用 CPU NUMA 链接的加载/存储内存语义将其内存连接到 CPU 主机的内存。相关消息显示,这将是未来的“Atlas 4”交换机,它将遵循 PCI-Express 7.0 规范,并于 2025 年上市。博通数据中心解决方案集团副总裁兼总经理 Jas Tremblay 证实,这项工作仍在进行中,但不要妄下结论。换而言之,我们不要以为 PCI-Express 是*的 UALink 传输,也不要以为 xGMI 是*的协议。
AMD 为 UALink 项目贡献了范围更广的 Infinity Fabric 共享内存协议以及功能更有限且特定于 GPU 的 xGMI,而所有其他参与者都同意使用 Infinity Fabric 作为加速器互连的标准协议。英特尔高级副总裁兼网络和边缘事业部总经理 Sachin Katti 表示,由 AMD、博通、思科系统、谷歌、惠普企业、英特尔、Meta Platforms 和微软组成的 Ultra Accelerator Link“推动者小组”正在考虑使用以太网第 1 层传输层,并在其上采用 Infinity Fabric,以便将 GPU 内存粘合到类似于 CPU 上的 NUMA 的巨大共享空间中。
如下图所示,我们分享了如何使用以太网将 Pod 链接到更大的集群:
如thenextplatform所说,没人期望将来自多个供应商的 GPU 连接到一个机箱内,甚至可能是一个机架或多个机架中的一个Pod内。但 UALink 联盟成员确实相信,系统制造商将创建使用 UALink 的机器,并允许在客户构建其舱时将来自许多参与者的加速器放入这些机器中。您可以有一个带有 AMD GPU 的Pod,一个带有 Intel GPU 的Pod,另一个带有来自任意数量的其他参与者的自定义加速器Pod。它允许在互连级别实现服务器设计的通用性,就像 Meta Platforms 和 Microsoft 发布的开放加速器模块 (OAM) 规范允许系统板上加速器插槽的通用性一样。
总而言之,UALink 的一大优势是让业内其他所有人都有机会与 NVIDIA 保持同步。NVIDIA 现在有能力制造NVSwitch盒并将这些 NVSwitch 托盘放入NVIDIA DGX GB200 NVL72等产品中。
英特尔今年的 AI 加速器销售额达数亿美元,这可能意味着它只卖出几万台加速器。AMD 今年将销售数十亿美元的 MI300X,但这仍然远不及 NVIDIA 的 AI 规模。拥有 UALink 允许像 Broadcom 这样的公司制造 UALink 交换机来帮助其他公司扩大规模,然后在多家公司的加速器上使用这些交换机。
我们已经报道了 Broadcom Atlas 交换机计划与AMD Infinity Fabric AFL Scale Up 竞争 NVIDIA NVLink 即将出现在 PCIe Gen7 中的 Broadcom 交换机上。我们在简报中被告知,这些可能会实现 UALink 的 V1.0。当然,UALink V1.0 规范尚未出台。
他们表示,1.0版的规范将允许在AI容器组中连接不超过1,024个加速器,支持在容器组中挂载到加速器(例如GPU)的内存之间进行直接加载和存储。UALink发起人工作组已经成立了UALink联盟,预计将在2024年第三季度正式成立。1.0版规范预计将于2024年第三季度推出,并向参加超级加速器链(UALink)联盟的公司开放。
03 CXL怎么办?
其实在过去几年,行业参与者已经承诺过在 PCI-Express 结构上运行的 Compute Express Link (CXL) 协议将提供同样的功能。例如CXLmem 子集就已经提供了 CPU 和 GPU 之间的内存共享吗。
但在分析人士看来,PCI-Express 和 CXL 是更广泛的传输和协议。
Katti 指出,AI 加速器模块的内存域比 CPU 集群的内存域大得多,我们知道 CPU 集群的扩展范围从 2 个到 4 个,有时到 8 个,很少到 16 个计算引擎。许多人认为,AI 加速器的 GPU 模块可扩展到数百个计算引擎,并且需要扩展到数千个。更重要的是,与 CPU NUMA 集群不同,GPU 集群(尤其是运行 AI 工作负载的集群)对内存延迟的容忍度更高。
为此The Next Platform表示,我们不要指望看到 UALinks 将 CPU 捆绑在一起,但没有理由相信未来的 CXL 链接最终不会成为 CPU 共享内存的标准方式——甚至可能跨越不同的架构。
这实际上是为了打破 NVLink 在互连结构内存语义方面的垄断。无论 Nvidia 如何使用 NVLink 和 NVSwitch,它的几家竞争对手都需要为潜在客户提供可靠的替代方案——无论他们是销售 GPU 还是其他类型的加速器或整个系统——这些潜在客户肯定希望为 AI 服务器节点和机架式设备提供比 Nvidia 互连更开放、更便宜的替代方案。
“当我们审视整个数据中心对 AI 系统的需求时,有一点非常明显,那就是 AI 模型继续大规模增长,”AMD 数据中心解决方案事业部总经理 Forrest Norrod 说道。“每个人都可以看到,这意味着对于*进的模型,许多加速器需要协同工作以进行推理或训练。能够扩展这些加速器对于推动未来大规模系统的效率、性能和经济性至关重要。扩展有几个不同的方面,但 Ultra Accelerator Link 的所有支持者都非常强烈地感受到,行业需要一个可以快速推进的开放标准,一个允许多家公司为整个生态系统增加价值的开放标准。并且允许创新不受任何一家公司的束缚而快速进行。”
毫无疑问,AMD Forrest Norrod说的这家公司就是Nvidia,他们通过投资了InfiniBand,并创建了具有*超大网络带宽的 NVSwitch 来为 GPU 进行 NUMA 集群。当然,他们最初这样做的是因为 PCI-Express 交换机在总带宽方面仍然有限。
有趣的是,UALink 1.0 规范将在今年第三季度完成,届时 Ultra Accelerator Consortium 也将加入进来,拥有知识产权并推动 UALink 标准的发展。今年第四季度,UALink 1.1 更新将发布,这将进一步提高规模和性能。目前尚不清楚 1.0 和 1.1 UALink 规范将支持哪些传输,或者哪些将支持 PCI-Express 或以太网传输。
使用 NVLink 4 端口的 NVSwitch 3 结构理论上可以在共享内存 pod 中跨越多达 256 个 GPU,但 Nvidia 的商业产品仅支持 8 个 GPU。借助 NVSwitch 4 和 NVLink 5 端口,Nvidia 理论上可以支持跨越多达 576 个 GPU 的 pod,但实际上,商业支持仅在 DGX B200 NVL72 系统中最多 72 个 GPU 的机器上提供。
如今,许多公司都在尝试采用标准 PCIe 交换机并构建基于 PCIe 的结构以扩展到更多加速器。业内大公司似乎将此视为权宜之计。相反,NVIDIA 的 NVLink 更像是业内扩展的黄金标准。
现在,UAlink团队正准备发布专有 NVLink 的公开竞争对手。
所有这些都需要时间。记者在简报会上问这是否是一个 2026 年左右的实施目标。2024 年还太早,即使它被融入到产品中,目前也不太可能成为 2025 年初的产品。如果你看看CXL或UCIe,这些标准需要很长时间才能最终成为产品。2026 年将是一个快速实施的时间。
对于 AMD 和英特尔等公司来说,这提供了一条复制 NVLink 和 NVSwitch 功能并与其他公司共享开发成果的途径。像博通这样的公司很可能是*的赢家,因为它定位为非 NVIDIA 系统的连接提供商,无论是用于纵向扩展还是横向扩展。无论是 AMD 还是英特尔获胜,博通都在销售连接。对于超大规模企业来说,无论谁制造端点,投资标准化结构的能力都非常有意义。
顺便说一句,在 2019-2020 年期间,行业考虑将 CXL in-box 和Gen-Z作为扩展解决方案。许多当年展示 Gen-Z 的人现在都在 AMD 工作,就像 AMD 多年来一直在组建一支团队,他们看到并一直在努力解决扩展挑战。
希望我们能够尽快看到 UALink 投入使用。对啦,多说一句,貌似没有看到Marvell的身影?