上一章节中,我们系统阐述了AI集群中的通信主要起到哪些作用,本节中,我们将系统性地介绍构成整个通信体系的最基础部分-通信协议。
从直觉上来看,通信系统主要由交换机、光模块、线缆、网卡等等实物硬件组成,但其实真正决定了一个通信系统的建立,运行和性能特点的,却是流转在实物硬件内部的通信协议。通信协议是在计算机网络中,为了保证数据顺利、准确地传送,通信双方必须遵守的一系列约定。这些约定包括数据的格式、编码规则、传输速率、传输步骤等。
在AI时代,通信协议的分类主要分为两大类,第一,用于算力节点内部的算力卡之间通信的高速协议,这一类协议具有速度快,封闭性强、可扩展性弱等特点,往往是各家显卡厂商的核心能力壁垒之一,其速率,接口等等需要芯片层面的支持。第二类协议则是用于连接算力节点之间的协议,这类协议具有速度慢,可扩展性强等特点,第二类协议目前主要有两大主流,InfiniBand协议以及以太网下的RoCE协议族,这类协议保证了数据的跨节点传输能力,也是构建超大集群的基础,同时也为智算单元接入数据中心提供了解决方案。
3.1 节点内通信—大厂核心壁垒,算力“摩尔定律”的希望
节点内通信,即单台服务器内部的显卡通信协议,负责同一服务器内部的显卡之间的高速互联,发展至今,这一协议主要包括了PCIe、NVLink、Infinty Fabric三种协议。
我们先来看历史最为悠久的PCIe协议,PCIe协议是一种公开的通用协议,传统服务器个人电脑中的不同硬件都通过PCIe协议来进行连接,在当第三方组装的算力服务器中,显卡之间任然像传统服务器一样,通过PCIe插槽和主板上的PCIe线路进行互联。
PCIe是最广泛使用的总线协议。
总线是服务器主板上不同硬件互相进行数据通信的管道,对数据传输速度起到决定性作用,目前最普及的总线协议为英特尔2001年提出的PCIe(PCI-Express)协议,PCIe主要用于连接CPU与其他高速设备如GPU、SSD、网卡、显卡等,2003年PCIe 1.0版本发布,后续大致每过三年会更新一代,目前已经更新到6.0版本,传输速率高达64GT/s,16通道的带宽达到256 GB/s,性能和可扩展性不断提高。
PCIe总线树形拓扑和端到端传输方式限制了连接数量和速度,PCIe Switch诞生。
PCIe采用端对端数据传输链路,PCIe链路的两端只能各接入一个设备,设备识别数量有限,无法满足有大量设备连接或需要高速数据传输的场景,因此PCIe Switch诞生。PCIe Switch具备连接和交换双重功能,可以让一个PCIe端口识别和连接更多设备,解决通道数量不够的问题,并可以将多条PCIe总线连接在一起,从而形成一个高速网络,实现多设备通信,简言之PCIe Switch相当于PCIe的拓展器。
但正如上文中所说,随着模型规模逐步扩大,同时NPU之间同步循环愈发复杂,速率较低并未对模型运行模式进行专门优化的的PCIE已经不能满足大模型时代的需求,因此,各大显卡厂商专有的协议在大模型时代快速兴起。
我们认为,当先业界关注度最高,进化速度最快的协议便是NV-Link协议,英伟达提出的高速GPU互联协议,对比传统PCIe总线协议,NVLINK主要在三个方面做出较大改变:1)支持网状拓扑目,解决通道有限问题;2)统一内存,允许GPU共享公共内存池,减少GPU之间复制数据的需要,从而提高效率;3)直接内存访问,不需要CPU参与,GPU可直接读取彼此的内存,从而降低网络延迟。此外,为解决GPU之间通讯不均衡问题,英伟达还引入NVSwitch,一种类似交换机ASIC的物理芯片,通过NVLink接口将多个GPU高速互联,创建高带宽多节点GPU集群。
我们通过回顾NV-link的发展史,可以发现,节点间的NV-Link互联正是随着显卡间同步需求的变化而逐步迭代。第一代的NV-Link出现在Pascal架构上,英伟达通过在PCB板上的高速铜线以及通用的PCIE Switch,在单台服务器内部链接了8卡服务器,我们通过下图中的连接方式可以发现,通过显卡外部大环叠加四张显卡内部X型连接的方式,8张GPU间,以任意一张为起点,都可以用最短路径完成全局数据对齐。
但随着单个显卡性能的扩张,吞吐量的提升,以及显卡之间同步方式的愈发复杂,单纯纯线缆连接以及固定的线路已经无法满足显卡间的沟通需求。因此在Ampere架构中,也就是对应的第三代NVLINK,英伟达引入了第一代专用的NV-Link Switch芯片,从而进一步加大NV-Link速率,灵活性。
但从Pascal架构到Ampere架构的更新中,由于当时的客户需求仍然集中于小模型,大规模的计算集群并未出现,因此NV-LINK保持着常规更新的节奏,主要通过芯片内部通道迭代,NV-Link Switch芯片迭代来实现速率的更新,期间英伟达还为游戏显卡推出了NV-Link桥接器,来满足部分高端C端用户的需求。
从A100到H100的更新中,英伟达迈出了NV-Link进化的第一步,当大模型的需求开始涌现,超大的数据规模、模型体积使得过去以8张显卡为上限的NV-Link互联难以应付,使用者们不得不把模型切片,装进不同服务器间进行训练以及对齐,而服务器间较慢的沟通速率直接影响了模型训练的效果。我们把能用最高速通信协议互联的显卡数量称之为HB-DOMIN,而在模型参数日益庞大的发展过程中,在同等代际芯片内,HB-DOMIN成为了决定模型训练能力的关键因素。
在这种背景下,英伟达的NV-LINK在Hopper架构上迈出了进化的第一步,通过外置的专用交换机,承载更多的NV-LINK switch芯片,从而扩大现有显卡的HB-DOMIN。在Hopper100时代,通过GH200 SuperPOD产品,NV-LINK第一次走出服务器内部,实现了跨越服务器的256张显卡互联。
但由于Hopper架构下对应的NV-Link 3.0交换芯片成熟度较低,英伟达需要两层架构来连接显卡,因此一个GH200 256卡集群内需要大量的高端光模块,成本极高,给客户的采购带来了不便。同时,在GH200发布之时,模型的参数还未膨胀到万亿级别,根据Meta的研究结果显示,在万亿参数之下,超过100后的HB-Domin扩张边际效应会出现加速递减。
在Blackwell架构时代,英伟达正式完善了NVLINK的扩张之路,随着4NM最新一代NV-Link交换芯片的发布,英伟达推出了正式的拳头产品 GB200 NVL72。英伟达通过单机柜内部单层NVlink+铜缆的连接,实现了用较低成本达成一个具有高性价比的HB-DOMIN数字的目标,真正迈出了节点内互联协议向上层扩张的第一步。
我们除了在最新一代NV-LINK上,也再一次重新认识了节点内互联协议的重要性,甚至可以说,
节点内通信的扩张,已经成了摩尔定律是否能在算力时代延续的关键。节点内通信协议的迭代以及低成本实现,是当前应对“通信墙”、“内存墙”的最佳解决办法。
当前NV-LINK最大的竞争者便来自于英伟达在通用显卡领域的最大竞争者AMD,与英伟达相同,即使是对网络协议开放最为支持的AMD,在其节点内互联领域,依然使用其专用的协议“Infinity Fabric”,但同时,与英伟达不同AMD将这份协议共享给了合作的博通、Arista、思科这三家以太网龙头。
当下来看,Infinity Fabric与NVLINK的差距仍然较大,在包括专用交换芯片、多卡互联、协议完成度等方面,AMD仍然有较长的路需要追赶、这也体现出,当前的头部通用算力竞争,已经从芯片设计这一单一环节,慢慢扩大到节点内通信这一环节。
总结来看,节点间通信正在变成算力中愈发重要的组成部分,同时,随着HB-DOMIN扩大,“算力节点”也在逐步扩大,我们认为,这背后是节点间协议在整个AI集群内的“向上渗透”,同时,依靠在节点间协议及其承载硬件的系统化压缩,也是未来AI算力实现摩尔定律的解决之道。
3.2 节点间通信协议:历久弥新,封闭与开放之争
现在我们把视角移到算力节点外部,来看一下当前构成全球算力集群连接的主流协议。当下的算力中心,NPU正在逐步迈向百万级规模,即使算力节点或者我们说的HB-DOMIN加速扩大,但节点间连接依然是构成全球AI算力的基石部分。
从当前来看,节点间连接协议主要分为InfiniBand协议与以太网家族内的ROCE协议族。超算节点间互联的核心在于RDMA功能。过去,在传统的CPU为主的数据中心中,普遍采用TCP/IP协议进行传输,即数据从发送端内存发出后,经过发送端设备CPU编码后,发送至接收端设备的CPU,经过解码后放入内存。这一过程中由于数据经过多个设备且多次编解码,因此会产生较高的延迟,而延迟则是对计算卡间相互同步最关键的的因素,因此,在显卡间互联的需求下,绕过CPU,实现内存之间的远程直接互访(Remote Direct Memory Access)RDMA变成为了AI集群连接的刚需。
在这种背景下,当前由英伟达主导的原生支持RDMA的IB协议以太网下支持该功能的ROCE协议族变成了当下的唯二选择,而这两种协议鲜明的特点又让整个节点间协议的竞争变得精彩异常。
IB协议的出现最早可以追溯至1999年,当时,通信能力过差的PCI总线逐渐成为各个设备之间沟通的瓶颈,在此背景下,英特尔、微软、IBM、几大巨头成立的FIO Developers Forum和NGIO Forum进行了合并,创立了InfiniBand贸易协会(InfiniBand Trade Association,IBTA),并在2000年推出了第一版的IB协议框架。
在1999年创立的交换芯片公司Mellanox也加入了IB阵营。
IB从创立之初,便领先性的提出了RDMA概念,从而能够绕开PCI总线的限制,进行更加高速的访问,但好景不长,在2022年,英特尔,微软等巨头相继宣布退出IB联盟,转而转向我们上文提到的PCIE协议的研发,IB因此走向衰落。但到了2005年,随着存储设备间的通信需求上升,IB重新迎来上升期,再后来,随着全球超算搭建,越来越多的超级计算机开始使用IB进行连接。在这过程中,
依靠着对IB的不离不弃和相关收购,Mellanox从一家芯片公司扩展到了网卡、交换机/网关、远程通信系统和线缆及模块全领域,成为世界级网络提供商,在2019年,英伟达用69亿美元的报价击败英特尔与微软,成功收购了Mellanox。
另一方面,以太网则在2010年发布了RoCE协议,基于以太网协议实现RDMA,同时在2014年提出了更加成熟的RoCE v2。
进入大模型时代以来,全球数据中心快速转向智算化,因此主要的新增投资设备都需要RDMA连接方式的支持。但当下的竞争格局又与之前的RoCE V2与IB的竞争发生了变化,由于英伟达在全球显卡领域的绝对领先地位,英伟达显卡对于IB的适配程度更加完善,其中最明显的一点体现在Mellanox交换机部署的Sharp协议中。
由于在AI运算中,显卡与显卡之间需要大量的复杂Reduce通信,上文中也提到,这也是AI通信系统工程中需要解决的核心问题,在Mellanox交换机产品中,在英伟达的帮助下,公司创新性地在交换芯片中集成了计算引擎单元,可以支持相关Reduce计算,从而帮助GPU减轻负载,但是相关功能需要GPU厂商的配合。
由此可见,AI时代的通信协议之争,背后核心已然变成了显卡厂商的话语权之争,当下来看,IB协议凭借着英伟达的支持,占据了较好的竞争优势,而传统的以太网厂商们,由于缺乏一款有力的芯片支撑,则在部分功能上稍显弱势。但是AMD带领下的超以太联盟的出现,有望逐渐扭转这一局面。
2023年7月19日,AMD、博通、思科、ARISTA、Meta、微软等来自计算芯片、网络侧以及用户侧的各个龙头厂商共同组建了超以太网联盟,我们认为,
超以太网联盟成立的目的便是为了能够在以太网的基础之上,搭建起一个完全开放,更加灵活,且性能超越IB的网络协议,从而与IB进行抗衡。
AMD作为超以太联盟的核心成员,在Mi300系列发布会上,公司表示其显卡的后端连接将会无条件使用以太网,同时用于节点内互联的Infinity Fabric协议,也将开放给以太网厂商。
我们判断,随着AMD和UEC联盟中博通等成员的合作进度逐渐加快,UEC联盟也有望真正形成一套类似于N卡+IB的兼容与合作体系,从而给英伟达带来挑战。但其过程注定漫长,从AMD侧单卡算力的追赶,再到博通侧交换芯片的进步,再到不同厂商间的开放与合作,仍有许多路要走。
总结来看,节点间通信协议之争,已经渐渐的从原理之争演变成了话语权之争,使用何种协议,更多的是GPU话语权的延伸,英伟达希望通过IB扩大全环节话语权,客户则希望拥抱更加开放的IB,行业的竞争将持续推动通信协议的持续进化。