前几日,英伟达市值冲破3万亿美元,将苹果公司甩在身后的故事还没来得及回味。英伟达市值登顶全球*的新闻再次登上各大热搜(发稿前,英伟达市值已出现较大回落)。
作为AI芯片巨头,英伟达近年来可谓风光无限。
过去,我们看到了很多有关英伟达GPU和CUDA护城河的介绍。诚然,经过多年的投入,他们已经建立起了难以逾越的优势。但除此以外,英伟达还有很多隐形护城河,其中,互联技术也是其在AI浪潮中取得成功过程中不可忽视的一大关键。
日前,黄仁勋在Computex的主题演讲中,再次透露了未来几年GPU和互连技术的路线图;而另一边,八大芯片巨头抱团取暖,成立UALink推广组意在制定行业标准,以打破市场*英伟达的壁垒和垄断。
如今大模型时代来临,随着越来越多的加速器被集成到一起,性能损耗和带宽瓶颈逐渐显现,如何高效传输数据成为了AI芯片互联领域亟待攻克的瓶颈。
在此背景下,行业厂商加速入局,试图抢占GPU互联市场的新高地。
为什么需要GPU互联技术?
01
长期以来,冯·诺依曼架构面临的一个核心挑战是CPU的计算速度与内存访问速度之间的不匹配,尤其是与存储设备的速度相比更是天壤之别。这就是业界著名的“内存墙”,其不均衡的发展速度对日益增长的高性能计算形成了极大制约,成为训练大规模AI模型的瓶颈。
与此同时,随着高性能存储技术的进步,计算机组件间通信的带宽再次成为限制性能提升的关键因素。从“Pascal”P100 GPU一代到“Blackwell”B100 GPU一代,八年间GPU的性能提升了1053倍。
在此趋势下,GPU作为AI时代的核心处理器,单卡GPU算力和显存有限,无法满足训练需求。为适应算力需求,需要联合大量GPU甚至多台服务器协同工作,分布式训练诉求快速提升。
GPU服务结构
在分布式系统中,大模型训练对算力基础设施的要求从单卡拓展到了集群层面,这对大规模卡间互联的兼容性、传输效率、时延等指标提出了更高的要求。
自此,GPU互连技术开始担任重要角色。
GPU互联技术,百家争鸣
02
众所周知,总线是数据通信必备管道,是服务器主板上不同硬件互相进行数据通信的管道,对数据传输速度起到决定性作用。
目前最普及的总线协议为英特尔2001年提出的PCIe(PCI-Express)协议,PCIe主要用于连接CPU与其他高速设备如GPU、SSD、网卡、显卡等。2003年PCIe1.0版本发布,后续大致每过三年会更新一代,目前已经更新到6.0版本,传输速率高达64GT/s,16通道的带宽达到256GB/s,性能和可扩展性不断提高。
AIGC的发展极大刺激算力需求的增加,GPU多卡组合成为趋势。GPU互联的带宽通常需要在数百GB/S以上,PCIe的数据传输速率成为瓶颈,且PCIe链路接口的串并转换会产生较大延时,影响GPU并行计算的效率和性能。
同时,由于PCIe总线树形拓扑和端到端传输方式限制了连接数量和速度,GPU发出的信号需要先传递到PCIe Switch来拓展,PCIe Switch涉及到数据的处理又会造成额外的网络延时,此外PCIe总线与存储器地址分离,每次访问内存会加重网络延迟。
因此,PCIe的传输速率和网络延迟无法满足需求,限制了系统性能。
在市场需求和技术驱动下,GPUDirect/NVLink/Infinity Fabric/高速以太网/InfiniBand等GPU互联技术争相推出,“百家争鸣”时代开启。
GPUDirect
在这个过程中,英伟达率先推出了能够提升GPU通信性能的技术——GPUDirect,使GPU可以通过PCIe直接访问目标GPU的显存,可实现GPU与其他设备之间直接通信和数据传输的技术,大大降低了数据交换的延迟。
传统上,当数据需要在GPU和另一个设备之间传输时,数据必须通过CPU,从而导致潜在的瓶颈并增加延迟。使用GPUDirect,网络适配器和存储驱动器可以直接读写GPU内存,减少不必要的内存消耗,减少CPU开销并降低延迟,从而显著提高性能。GPUDirect技术包括GPUDirect Storage、GPUDirect RDMA、GPUDirect P2P和GPUDirect 视频。
但受限于PCIe总线协议以及拓扑结构的一些限制,无法做到更高的带宽。此后,英伟达提出了NVLink总线协议。
NVLink成为主流
过去,我们看到了很多有关英伟达GPU和CUDA护城河的介绍。诚然,经过多年的投入,他们已经建立起了难以逾越的优势。但除此以外,英伟达还有很多隐形护城河,NVLink就是其中之一,一个为GPU到GPU互联提供高速连接的技术。
NVLink是一种英伟达提出的高速GPU互联协议,用于连接多个GPU之间或连接GPU与其他设备(如CPU、内存等)之间的通信。它允许GPU之间以点对点方式进行通信,具有比传统的 PCIe 总线更高的带宽和更低的延迟,为多GPU系统提供更高的性能和效率。
对比传统PCIe总线协议,NVLink主要在三个方面做出较大改变:
1)支持网状拓扑目,解决通道有限问题;
2)统一内存,允许GPU共享公共内存池,减少GPU之间复制数据的需要,从而提高效率;
3)直接内存访问,不需要CPU参与,GPU可直接读取彼此的内存,从而降低网络延迟。
英伟达官方表示,NVLink是全球首创的高速GPU互连技术。作为一种总线及其通信协议,NVLink采用点对点结构、串列传输,用于连接GPU与支持NVLink技术的CPU,在内存墙无法突破的情况下,*化提升CPU和GPU之间通信的效率,也可用于多个英伟达GPU之间的高带宽互连。使用NVLink连接两张NVIDIA GPU,即可弹性调整记忆体与效能,满足专业视觉运算最高工作负载的需求。
自2014年开始,英伟达在其GPU中引入了NVLink互联技术。
彼时,为带宽不足而发愁的英伟达,与当时坐拥更高带宽POWER CPU的IBM一拍而合,合作开发了*代NVLink。
回顾NVLink技术的发展历程:
2014年,NVLink 1.0发布并在P100 GPU芯片之间实现,两个GPU之间有四个NVLink,每个链路由八个通道组成,每个通道的速度为20Gb/s,系统整体双向带宽为160GB/s,是PCIe3 x16的五倍,这使得数据在CPU内存与GPU显存之间的移动速度得到了大幅提升,从而让GPU加速的应用能够大幅提升运行速度。
伴随着P100、V100等计算卡的推出,NVLink迎来了自己的高速发展。
2017年,英伟达推出了第二代NVLink,两个V100 GPU芯片之间通过六个NVLink 2.0连接,每个链路也是由八个通道组成,每个通道的速度提升至25Gb/s,从而实现300GB/s的双向系统带宽,几乎是NVLink1.0的两倍。
同时,为了实现八个GPU之间的完全互连,解决GPU之间通讯不均衡问题,英伟达还引入了NVSwitch技术。
NVSwitch是英伟达在2018年发布的一项技术,旨在解决单服务器中多个GPU之间的全连接问题。NVSwitch允许单个服务器节点中多达16个GPU实现全互联,这意味着每个GPU都可以与其他GPU直接通信,无需通过CPU或其他中介。
NVSwitch1.0有18个端口,每个端口的带宽为50GB/s,总带宽为900GB/s。每个NVSwitch保留两个用于连接CPU的端口。通过使用6个NVSwitch,可以在8个GPU V100芯片之间建立一个全连接的网络。
2020年,推出NVLink 3.0技术。它通过12个NVLink连接连接两个GPU A100芯片,每个链路由四个通道组成。每个通道以50Gb/s的速度运行,从而产生600GB/s的双向系统带宽,是NVLink2.0的两倍。随着NVLink数量的增加,NVSwitch上的端口数量也增加到36个,每个端口的运行速度为50GB/s。
2022年,NVLink技术升级到第四代,允许两个GPU H100芯片通过18条NVLink链路互连。每个链路由2个通道组成,每个通道支持100Gb/s(PAM4)的速度,从而使双向总带宽增加到900GB/s。NVSwitch也升级到了第三代,每个NVSwitch支持64个端口,每个端口的运行速度为 50GB/s。
值得一提的是,在第四代NVLink发布时,英伟达正式将其称为NVLink-C2C ,此时NVLink已经升级为板级互连技术,它能够在单个封装中将两个处理器连接成一块超级芯片。
2024年,随着英伟达全新Blackwell架构的发布,NVLink 5.0也随之而来。
NVLink 5.0以100GB/s的速度在处理器之间移动数据。每个GPU有18个NVLink连接,Blackwell GPU将为其他GPU或Hopper CPU提供每秒1.8TB的总带宽,这是NVLink 4.0带宽的两倍,是行业标准PCIe Gen5总线带宽的14倍。NVSwitch也升级到了第四代,每个NVSwitch支持144个NVLink 端口,无阻塞交换容量为14.4TB/s。
图源:英伟达
从上图可以看到,每一代NVLink的更新,其每个GPU的互联带宽都是在不断的提升,其中NVLink之间能够互联的GPU数,也从*代的4路到第四代/第五代的18路。每个NVLink链路的速度也由*代的20Gb/s提升至目前的1800Gb/s。
此外,尽管拥有极高的带宽,NVLink却在每比特数据的传输上比PCIe节能得多。
NVLink和NVSwitch这两项技术的引入,为GPU集群和深度学习系统等应用场景带来了更高的通信带宽和更低的延迟,从而提升了系统的整体性能和效率。
随着下一代AI算法等先进计算的需求不断增长,可以期待NVLink的功能进一步增强。无论是带宽的增加还是促进GPU之间更好合作的新功能,NVLink或其后继者无疑仍将是满足未来计算需求的核心。
可见,当竞争对手还在追赶英伟达GPU性能时,英伟达已经在发力整个数据中心的构架层创新,通过提供更快的芯片互联,更强的算力调度能力,将GPU打包成综合性能无人能敌的数据工厂,交付给全世界。
AMD加码Infinity Fabric
AMD也推出了与英伟达NVLink相似的Infinity Fabric技术。
Infinity Fabric由两部分组成:数据布线(Data Fabric)和控制布线(Control Fabric),数据布线用于处理器内部和处理器之间的数据传输;控制布线则负责处理器的功耗、时钟和安全性等方面的管理,该技术支持芯片间、芯片对芯片以及节点对节点的数据传输。
Infinity Fabric的主要特点包括:
高效率:Infinity Fabric设计用于提供高效率的数据传输,支持多个设备之间的高速通信;
模块化:Infinity Fabric支持AMD的Chiplet架构,允许不同功能的芯片模块通过高速互连进行组合;
内存共享:Infinity Fabric支持CPU和GPU之间的内存共享,有助于提高异构计算效率;
扩展性:Infinity Fabric的设计允许它随着技术进步和需求增长而扩展。
Infinity Fabric是AMD在其“Zen微架构”中引入的一个关键特性,旨在提高整体系统性能,特别是在多核心处理器和数据中心环境中。
图源:AMD
据悉,AMD最新的AI加速器Instinct MI300X平台,就是通过第四代Infinity Fabric链路将8个完全连接的MI300X GPU OAM模块集成到行业标准OCP设计中,为低延迟AI处理提供高达1.5TB HBM3容量。第四代Infinity Fabric支持每通道高达32Gbps,每链路产生128GB/s的双向带宽。
不同于英伟达NVLink仅限于内部使用,AMD已经开始向合作伙伴开放其Infinity Fabric生态系统,完善生态布局。
芯片巨头组团,向英伟达NVLink开战
尽管GPU互联技术看上去种类多样,但主要技术路线还是牢牢掌握在英伟达手中,业界一直期待有某种“超级”竞争对手联盟来填补非Nvidia互联技术或集群的空缺。
而这也正是UALink推出的重要原因,掀起对标英伟达NVLink的波澜。
文章开头提到,AMD、博通、思科、Google、惠普、英特尔、Meta和微软在内的八家公司宣告,为人工智能数据中心的网络制定了新的互联技术UALink(Ultra Accelerator Link)。通过为AI加速器之间的通信建立一个开放标准,以挑战英伟达在AI加速器一家独大的地位。
据消息披露,UALink提议的*个标准版本UALink 1.0,将连接多达1024个GPU AI加速器,组成一个计算“集群”,共同完成大规模计算任务。
根据UALink推广组的说法,基于包括AMD的Infinity Fabric在内的“开放标准”,UALink 1.0将允许AI加速器所附带的内存之间的直接加载和存储,并且与现有互连规范相比,总体上将提高速度,同时降低数据传输延迟。
图源:nextplatform
据悉,UALink将在第三季度成立一个UALink联盟,定义AI计算舱中加速器和交换机之间扩展通信的高速、低延迟互连,以监督UALink规范未来的发展。UALink 1.0将在同期向加入联盟的公司提供,而具有更高带宽的更新规范UALink 1.1,计划在2024年第四季度推出。这些规范将支持多种传输,包括PCI-Express和以太网。
UALink联盟旨在创建一个开放的行业标准,允许多家公司为整个生态系统增加价值,从而避免技术垄断。
该技术的潜在优势在于让业内所有人都有机会与英伟达保持同步,其不仅适用于大型企业,也为行业中每个人打开了一扇门,让他们不仅在规模上,而且在创新方面都能跟上英伟达的步伐。
多机互联:
InfiniBand与以太网络并存
03
此外,在分布式系统中,根据连接层级的不同可以分为单卡、多卡、多机互联,在大规模计算中,单机多卡场景下多使用GPU Diect、NVLink等高带宽通信网络技术,分布式场景下的多机之间的连接(即服务器互联)通常采用RDMA网络。
随着大数据分析、AI计算等应用对算力需求巨大,上面提到的单机形态已经逐渐不能满足用户需求,多机多卡的计算成为常态,多机间的通信是影响分布式训练的一个重要指标。
当前业界常提到的多机之间GPU卡的通信技术,主要有RDMA、GPU Direct RDMA和InfiniBand等技术。
RDMA是一种绕过远程主机而直接访问其内存中数据的技术,解决网络传输中数据处理延迟而产生的一种远端内存直接访问技术。
简单理解,RDMA就像一个去掉中间商的技术,让数据能够快速获取。不再在操作系统、CPU等环节浪费时间。
目前RDMA有三种不同的技术实现方式:Infiniband、RoCE、iWARP,后两者是基于以太网的技术。
长期以来,以太网一直是计算机网络的主力,例如英特尔的Gaudi系列AI处理器在芯片上集成了几十个100Gb以太网连接;相比之下,英伟达通过收购Mellanox独占了高性能InfiniBand互连市场。
InfiniBand是一种开放标准的网络互连技术,具有高带宽、低延迟、高可靠性的特点,在英伟达的AI工厂和超级电脑中扮演着至关重要的角色。
InfiniBand在人工智能等数据密集型任务中通常优于以太网。据Dell'Oro估计,约90%的AI部署都是使用的InfiniBand,而不是以太网。这些部署将英伟达的网络收入推至每年100亿美元。
英特尔,押注以太网
英特尔的Gaudi AI芯片则一直沿用传统的以太网互联技术。
据了解,Gaudi 2每个芯片使用了24个100Gb以太网链路;Gaudi 3将这些链路的带宽增加了一倍,使用了24个200Gbps以太网RDMA NIC,使芯片的外部以太网I/O总带宽达到8.4TB/秒。
前不久,英特尔还宣布正在开发一款用于超以太网联盟(UEC)兼容网络的AI NIC ASIC以及一款AI NIC小芯片,这些创新的AI高速互联技术将用于其未来的XPU和Gaudi 3处理器。这些创新旨在革新可大规模纵向和横向扩展的AI高速互联技术。
超以太网联盟(UCE),是一个由英特尔、AMD、HPE、Arista、Broadcom、思科、Meta和微软为打破英伟达垄断而共同创建的组织。UCE认为,通过调整以太网的架构,可以让以下一代高速太网的性能像InfiniBand网络一样好,并更具成本与开放性优势,从而让更多的企业加入进来。
一直以来,英特尔都希望通过采用纯以太网交换机来赢得那些不想投资InfiniBand等专有互连技术的客户。
虽然InfiniBand在很多情况下表现都不错,但它也有缺点,比如只能在特定范围内使用(例如InfiniBand适合那些运行少量非常大的工作负载(例如GPT3或数字孪生)的用户,但在更加动态的超大规模和云环境中,以太网通常是*),而且成本也不低,将整个网络升级到InfiniBand需要大量投资。相比之下,以太网因为兼容性强,成本适中,以及能够胜任大多数工作负载,所以在网络技术领域里一直很受欢迎,建立了一个庞大的“以太网生态”。
AMD也表示将重点支持以太网,特别是超以太网联盟。虽然Infinity Fabric提供了GPU之间的一致互连,但AMD正在推广以太网作为其*的GPU到GPU网络。
综合来说,高性能远距离传输的战场里,如今仅剩InfiniBand和下一代高速以太网两大阵营,双方各有优劣势。
据Dell'Oro预计,在可预见的未来InfiniBand将保持在AI交换领域的*地位,但在云和超大规模数据中心的推动下,以太网将取得大幅增长,预计到2027年将占据约20%的市场份额。
互联技术未来创新趋势
04
不可否认,上述这些互联技术都已是目前*的选择。但能够预见到是,随着未来计算数据的爆炸式增长、神经网络复杂性不断增加,以及AI技术的加速演进,对更高带宽的需求还在继续增长。
当前这些互联技术将不可避免的存在性能瓶颈。
例如英伟达的NVLink虽然速度快,但功耗也相当高;AMD的Infinity Fabric适合于芯片内部连接,对于芯片之间的互联效率并不理想等。
对此,光互联凭借高带宽、低功耗等优势,几乎成为未来AI互联技术公认的发展方向。
在光互联之路上,谷歌、博通、Marvell、思科以及Celestial AI、Ayar Labs、Lightmatter、Coherent、曦智科技等新老厂商都在不断发力,相继取得了一系列成果。
在众多厂商的参与下,互联技术未来将会迎来快速发展。尤其是围绕光电共封装和硅光子中继层技术的光互连,正在成为AI领域的热门赛道。
结语
05
大模型时代,算力就是生产力。
大模型的背后意味着巨大的计算资源,模型大小和训练数据大小成为决定模型能力的关键因素。当前,市场的主力玩家们利用数万个GPU构建大型人工智能集群,以训练LLM。
在此趋势下,分布式通信技术正以前所未有的速度推动着人工智能的进步。
从PCIe到NVLink、Infinity Fabric再到InfiniBand、以太网和UALink,这些技术通过高带宽、低延迟的数据传输,实现了GPU或AI服务器之间的高速互联,在提升深度学习模型的训练效率和计算性能方面发挥了至关重要的作用。
在AI技术的飞速发展中,互联技术作为AI时代的桥梁,也正在经历前所未有的创新与变革。