智东西
作者 | ZeR0
编辑 | 漠影
智东西6月20日报道,在5月底举行的COMPUTEX 2023上,英伟达(NVIDIA)创始人兼CEO黄仁勋公布了英伟达在加速计算和人工智能(AI)领域的多项进展,其中包括全球首个专为人工智能(AI)设计的高性能以太网架构Spectrum-X。
近日,NVIDIA网络技术专家崔岩、NVIDIA网络市场总监孟庆、NVIDIA网络亚太区高级总监宋庆春与智东西等媒体进行交流,分享了Spectrum-X架构的更多技术细节,探讨如何满足生成式AI工作负载的性能需求,提升生成式AI云数据中心的性能和效率。
Spectrum-X面向生成式AI市场,拥有无损网络、动态路由、流量拥塞控制、多业务性能隔离等主要特性,能够满足云上部署AI或生成式AI工作负载对网络性能的要求,有助于节约训练成本、缩短训练时间,加速大模型走向面市。
这是网络设计上的创新,采用了国际上先进的Co-Design的技术,将英伟达Spectrum-4以太网交换机与NVIDIA BlueField-3 DPU紧密耦合,实现了相比传统以太网架构1.7倍的整体AI性能和能效提升,并通过性能隔离技术增强了多租户功能运行多任务的性能,在多租户环境中保持与Bare Metal一致、可预测的性能。
新推出的Spectrum-X具有高度通用性,可用于各种AI应用。它完全基于标准的以太网,可与基于以太网的堆栈互操作,由英伟达加速软件和软件开发工具包(SDK)进行增强,支持开发者构建软件定义的云原生AI应用程序。端到端功能的交付减少了大规模基于Transformer的生成式AI模型的运行时间。
一、训练大模型需要更大规模GPU训练集群,网络影响性能和效率
崔岩说,计算机产业现在有两个根本性转变:
一是CPU性能无法持续增长,每五年以同样成本获得十倍性能提升的故事已经结束,无法用同样的成本和电力消耗保持这种算力的增长。
二是数据中心规模问题。大模型出现后,对数据中心的规模、算力等需求不断更新,一个数据中心成为了一台整体的计算机,AI驱动的大规模负载要在整个数据中心中进行计算,而网络决定了数据中心的性能及应用场景的优化设计。
宋庆春亦谈道,训练大模型的一个前提是需要用到大量的数据,模型参数也会变得非常大,为了让训练效率更高,可能需要上百张GPU卡来放置一个大模型作为一个数据并行组,训练大模型的时候往往需要很多个这样的数据并行组来缩短训练的时间。当GPU数量扩展到成千上万的时候,性能不仅取决于单一GPU,也不仅取决于单一服务器,而是要取决于网络的性能。
在加速计算和生成式AI结合的新方式下,数据中心的计算和通信需被重塑。对此,英伟达提出自己的整体加速计算架构,对AI功率负载进行全新的设计。
英伟达有GPU、CPU、DPU的“三U一体”硬件矩阵,能够为其客户提供多种多样的硬件计算平台和网络通信平台,并在中间提供系统软件、加速库和相应的平台,让客户可以在整个加速计算的框架中按需选择不同的硬件、系统软件、加速库和平台,方便在不同层次上满足应用需求。
从全球数据中心的走势来看,在AI驱动下,英伟达在大规模、大算力、高性能的场景下创造了一个新的网络应用场景,即AI工厂。最近一些大语言模型的成功都是基于这种高性能的NVLink+InfiniBand无损网络架构,构建成超大规模的高性能数据中心,支撑大语言模型的训练需求。
新推出的Spectrum-X便是响应客户在云环境中构建自己的生成式AI或AI工作负载,并为此提供高性能以太网网络性能的需求。
二、不同云场景需要不同的以太网络,东西向流量面向分布式场景
原来通用云计算是采用传统的网络,可支撑多租户、大量小规模的工作负载。
英伟达的两个网络架构,可以用到不同AI场景,满足不同客户对网络通信的需求:追求超大规模、高性能就采用NVLink+InfiniBand网络;多租户、工作负载多样性,需融入生成式AI,则用高性能Spectrum-X以太网架构。如果对性能和低延时要求更高,AI云体系架构也可以使用InfiniBand。
“生成式AI一定是性能为王的市场,所以我们关注的就是性能。InfiniBand加上NVLink无疑是性能最好的,再下来就是Spectrum-X,性能最低的就是传统的以太网。”宋庆春说。
为什么云场景会增加一个新的网络架构,支撑AI工作负载?
一边是传统的以太网支撑网络管理,以及用户通过Internet接入到云,享受对应的应用服务,这些应用程序基本都是松耦合的,可以运行在一台或者多台服务器或者虚机上面,但租户和租户间、业务和业务间是松散的,无直接的依赖关系。传统以太网结构,是在TCP框架上构建的,是一个有损网络,即网络中允许丢包,对带宽和网络利用率需求是不高的,应用对性能的抖动也不敏感。比如网络在数据传输过程中有些抖动,可能会导致访问网页、收发邮件有点慢,但并不会产生特别无法接受的情况。另外网络中可能存在异构流量,支持多路径发送等。
Spectrum-X网络架构主要是解决数据中心内部东西向流量的加速和性能需求,因为AI需要在数据中心用到几百个到上万个GPU去运行一个单一的AI工作负载和计算,是一种分布式紧耦合应用场景,对数据传输的性能要求更高,所以要构建一个无损RoCE网络,可在以太网架构下做到不丢包,支持以太网上的RDMA传输,满足高带宽和网络高利用率的要求。
AI工作负载没有办法接受网络抖动,一旦产生抖动就会对AI工作负载和性能有巨大影响。AI模型的训练流量一般是突发的,从部署AI训练工作任务后,GPU会对数据和模型进行训练计算,这时在大量的分布式模型之间是没有流量的,当GPU计算完成后,会在瞬间将模型的梯度值通过网络传递给其它模型上的GPU进行同步,流量会一下子暴增,同步完成之后再次进行计算的时候流量就又没有了,这样周而复始,知道训练完成。一个可预测的性能,保证网络对于这样的突发流量有足够处理能力至关重要。
传统以太网网络解决了南北向数据为主的流量和访问应用问题,AI网络架构面向的是东西向、分布式,密集型网络流量带来的问题,所以英伟达打造Spectrum-X专门为此量身打造。
宋庆春说,如果使用高性能网络,训练一个模型,原来花二十天,现在花十天就训练完了,十天节省下来的成本数据是非常可观的。
三、实现生成式AI在云上的大规模、可扩展
Spectrum-X实现了生成式AI在云上的大规模、可扩展。这需要针对云上的AI工作负载进行端到端的优化,涉及到英伟达的Spectrum-4以太网交换机做为网络连接的核心,主机内采用BlueField-3 DPU和Spectrum-4 通过英伟达的LinkX产品组成端到端的体系架构,运行英伟达的全栈式AI加速软件,构成了Spectrum-X的端到端高性能网络平台。
Spectrum-X体系中有不同的加速软件,以便客户根据自身业务的需求进行编程和加速。如SONiC属于开源的网络操作系统,Cumulus是英伟达的基于Linux的网络操作系统,两者都可以跑在Spectrum-4交换机上,客户可以根据需求去选择。英伟达 Air 可以在数字孪生的环境下进行网络模拟,包括配置、修改、制定相应策略、验证整个网络运转是否正常,然后在实际网络上进行相应的部署。
英伟达在Spectrum-X平台上提供了相应的开发接口、管理软件、操作系统,验证软件等给客户使用,在此基础上,再重点在AI集合通信库NCCL中去做RoCE优化,实现了基于无损以太网的动态路由。Spectrum-X还包括拥塞控制、多租户性能隔离等先进技术。能将整体有效带宽从典型的60%提升到95%,因此带来大幅的性能提升。
Spectrum-4交换机方面,英伟达在Computex上展示了这个90mm×90mm的芯片,共有1000亿颗晶体管,其交换带宽容量是51.2Tb/s,支持64个800Gb/s端口、或者128个400Gb/s端口,配合BlueField-3的DPU实现端到端的优化。
四、利用无损以太网,有效数据吞吐量提升1.6倍
使用Spectrum-X这种独特的数据中心网络架构有哪些核心要素?大概包括这些方面:
首先是无损以太网,不允许出现数据包的丢失,可确保高性能和整个端到端动态RoCE路由。无损网络依靠BlueField-3 DPU
和Spectrum-4交换机的基于优先级的流量控制机制,保证不会出现丢包的情况。增强的拥塞控制技术保证网络在出现拥塞的时候能在最短的时间内进行响应,每个租户都能够得到相应的带宽,同时也保证整体的高性能。
图中有绿色和紫色两个工作负载,分别有一个Message,上面、下面都分别拆分为A、B、C、D四个数据包,通过两个主机上BlueField-3 DPU传到Spectrum-4交换机,在交换机层面是分层转发的。
英伟达动态路由的机制是将发到网络上的数据包逐包进行最佳可用路径的选择,数据包会通过不同路径发送到接收端。这样的好处在于可以充分利用交换机相互之间的连接,让这些包能够走不同的最优路径到达接收端,提升性能。
传统以太网是对于一条数据流来说,选好路径就顺序发包,如果出现拥塞或特殊情况,比如路径断了,没有办法动态改变改变当前流的路径。
现在动态路由实现了一个Message在网络中传输时可以被打乱顺序,然后做路径优选和发送,A、B、C、D在交换网络中可能走到不同的路径,这样到达接收端的BlueField-3 DPU时就有可能是A、B、C、D按照顺序有序到达,也可能是无序到达,比如C比B早到达。这是接收端BlueField-3 DPU可以进行数据乱序重组,将无序到达的包变成有序,提交到主机上的应用,确保了应用收到的数据一定是有序的,应用直接就可以拿去用,不会因为乱序或者其它问题造成数据重发。这就是基于无损网络RoCE动态路由的工作模式,相当于一个Message走了多条路到达目的地,肯定要比走一条路的性能更高一些。
从性能的对比,可以看到关闭和打开动态路由的情况下有效网络带宽的差异,传统以太网的网络带宽波动较大,而且利用率低,而Spectrum-X无损网络端到端的动态路由,可以提升1.6倍的有效带宽,所以每条链路都能得到充分利用。
五、利用可编程拥塞控制机制,实现性能隔离
在利用拥塞控制机制方面,图中显示工作负载A要传递两个Message,通过不同的DPU发送,接收端通过一个DPU来接收,这就构建了一个多对一的通信情况,如果是传统的、没有很好拥塞控制机制的网络,会在交换机端发生拥塞并开始累积数据,在图示的例子中会将末端交换机的Buffer耗尽。
如果此时还有另外一个工作负载也通过这个网络发送数据,可能就会受到前面网络拥塞的影响,因为紫色是排在绿色之后,由于绿色拥塞,导致紫色牺牲,不能正常到达。如果是两个租户,就是一个工作负载会影响到另一个工作负载的性能。
针对这一问题,英伟达采用Spectrum-X端到端平台,BlueField-3 DPU会主动采集Spectrum-4的拥塞状况的遥测数据并采取措施,能够在拥塞发生的早期阶段就开始调节数据的发送速率。比如在地图app看到入口已堵车,那么就减速或者减少车流量,让拥塞得到缓解,或者发生堵车之前就进行控制,以像这样的思路,使得所有数据都可以在不拥堵的情况下到达接收方。
BlueField-3 DPU可提供可编程性,针对拥塞状况进行监控和数据流的调整,满足在上面运行AI或者生成式AI工作负载的需求,不会出现拥塞,在多个租户的情况下也不会因一个租户的业务出现拥塞而影响到另外一个租户的业务。
再来看下关闭和打开性能隔离的NCCL ALLREDUCE带宽的对比,传统400Gb/s以太网可能只能做到141Gb/s有效带宽;而通过先进的拥塞控制和性能隔离技术,就能达到378Gb/s,接近400Gb/s的线速,两个工作负载能达到的有效带宽基本一样,同时保证了不同的工作负载或者不同的租户都有自己合适的、有效的网络带宽。
图中还有万卡级别环境下大规模语言模型训练的性能比较,无论是每个GPU贡献的性能比较,还是单位成本能提供的性能比较,或是单位功率所贡献的性能比较,英伟达的 Spectrum-X 都是传统以太网架构的1.7倍。
结语:身先士卒打造超大Spectrum-X集群,筑好数据中心地基
英伟达除了给客户提供Spectrum-X生成式AI云网络外,也自己投资在其以色列数据中心构建了一台超大规模AI超级计算机Israel-1。这将是全球性能排名靠前的AI集群。
这个AI超算投入了256台戴尔服务器,采用英伟达HGX超级计算平台,共配备了2048个GPU、2560个BlueField-3 DPU,以及80多台Spectrum-4以太网交换机。英伟达会把这台机器作为搭建和优化Spectrum-X平台的参考模型,不断地向客户输出Spectrum-X在AI环境中的性能优化解决方案和安装部署的参考架构。
不同于传统网络厂商,英伟达开创了一个新的以太网应用市场,面向云AI或者生成式AI工作负载,全新推出一个专门为生成式AI量身打造的以太网架构,以在大规模、高负载的环境下提供更好的性能。
可以看到,近年来英伟达一直在努力推动网络计算技术的发展,把整个AI工作负载的各个组件重新洗牌,重新定义各项工作的分配,创建全新的计算平台,以让未来的算力平台更加高效。