几十年来,传统的云数据中心专注于为广泛的用户群提供各种资源,基础设施组件虚拟化方面的进步使系统和应用程序能够根据需要快速启动以满足需求。
这些数据中心非常适合支持一组不同的用户和业务应用程序,并且足以支持通过商品级以太网连接的较小规模的工作负载。虽然以太网包含了一个广泛而全面的功能集,但它不适合扩展到几个节点之外。它也不适合高性能计算。
今天,我们面临着新的数据中心类别:人工智能云和人工智能工厂,它们需要加速计算和高性能网络来支持人工智能。因此,当今超大规模和云部署的格局正在发生巨大变化。随着GPU加速计算架构的采用,人工智能研究人员和从业者可以利用分布式加速计算的力量,否则这是不可行的。
数据中心的网络最终负责开创人工智能进步和性能的时代,因为它是分布式人工智能模型训练或利用Generative AI力量的数据中心的支柱。
传统的数据中心计算是指所有计算资源、包括服务器、存储和网络,都集中在一个物理位置或设施内的模型。另一方面,分布式计算涉及利用多个互连的服务器或节点一起执行任务或执行过程。在这个模型中,工作负载分布在不同的机器上,通过高速、低延迟的网络连接。
部署生成式人工智能应用程序,或训练基础人工智能模型,如ChatGPT、BERT或DALL-E,可能需要大量计算,尤其是对于大型复杂模型。随着数据量和模型大小的增加,分布式计算被用来应对这一挑战。它通过将工作负载分布在多个互连的计算节点上来加速训练过程。特别地,单个分布式任务的运行时由参与速度最慢的节点的运行时控制。网络在确保消息及时到达所有参与节点方面发挥着重要作用。这使得尾部延迟(最后一条参与消息的到达时间)变得至关重要,尤其是在大规模数据中心部署和存在竞争性工作负载的情况下。此外,网络扩展和处理越来越多节点的能力对于训练大型人工智能模型和处理大量数据至关重要。
在评估数据中心采用人工智能的网络架构时,应将其视为一个全面、集成的端到端解决方案,并将分布式计算放在首位。它还应包括实现数据中心规模性能、成本和价值所需的所有属性、流程、通信库和技术。本文将涵盖以下几个方面和其他关键领域:
自适应路由和无序数据包
拥塞控制
安全性和性能隔离
网络内计算
避免常见错误
AI云是一个新的数据中心类,它支持生成式人工智能工作负载。AI云捆绑了传统云的所有核心功能,如多租户、安全性和对各种工作负载的支持,并增加了对更大规模生成AI应用程序的支持。生成型人工智能指的是一类人工智能算法,它们根据经过训练的数据生成新的输出。与传统的旨在识别模式和进行预测的人工智能系统不同,生成型人工智能会以图像、文本、音频等形式创建新的内容。NVIDIA® Spectrum™-X是一个革命性的解决方案,用于在以太网时代构建多租户、超尺度人工智能云。
通过有损网络,数据的传输可能会发生信息的丢失或退化。该网络优先考虑数据传输,高于完美的精度。为人工智能实现一个有损网络的后果是,在性能、GPU空闲时间、功耗等方面引入了重大的损失。
使用无损网络,数据传输没有任何损失或损坏。网络保证所有数据包准确到达目的地,在传输过程中没有信息丢失。虽然以太网被设计为天生有损的,但无损网络是无限带网络的基础,并且已经是大规模部署的实际标准。今天,随着云环境中GPU计算和大规模AI用例的采用,当以太网在聚合以太网(RoCE)和优先流控制(PFC)上运行RDMA,以及 Spectrum-X等无损网络实现时,它可以成为一个实际的解决方案。
远程直接内存访问(RDMA)支持通过网络进行高速、低延迟的数据传输。它允许数据直接在远程系统的内存、gpu和存储之间传输,而不涉及这些系统的cpu。对于传统的网络,数据传输涉及多个步骤:数据首先从源系统的内存复制到网络堆栈,然后通过网络发送。最后,它在接收端经过多个步骤后被复制到目标系统的内存中。RDMA绕过了这些中间步骤,从而实现了更有效的数据传输。
图一:GPU-GPU通信的RDMA实现示意图

传统的数据中心应用程序倾向于生成许多小的数据流,使统计平均能够反映网络流量。这意味着,对于流路由,简单的、基于静态哈希的算法,如由交换机实现的等成本多路径(ECMP),就足以避免网络流量问题。相比之下,人工智能的工作负载会产生少量的大数据流,这被称为“elephant flows”。这些大数据流占用大量链路带宽,如果多个象流路由到同一个链路,则会出现拥塞和高延迟。使用ECMP与人工智能相结合,即使使用非阻塞拓扑,这种碰撞发生的可能性也很高。因为作业依赖于最坏情况下的性能,这些碰撞将导致模型训练时间都高于预期且非常不可预测。
因此,需要自适应路由算法来动态地负载平衡穿越网络的数据。此外,路由需要非常细粒度,以避免冲突。如果路由是逐流完成的,仍然有很强的统计可能性会发生拥塞。然而,当数据包喷洒时(逐包路由),数据包很可能会无序地到达目的地。对于包粒度自适应路由,必须建立一个灵活的重新排序机制,以便使自适应路由对应用程序不可见。Spectrum-X通过结合人工智能时代的网络的负载平衡能力来实现这一点:网络定义了数据中心Spectrum-X交换机和由BlueField-3 DPU执行的直接数据放置(DDP),以提供端到端自适应路由。
图2:Diagram of packet-granular NVIDIA Spectrum-X以太网自适应路由的实现

在不同人工智能作业同时运行的多租户人工智能云环境中,可能会出现网络拥塞。当n个发送者试图将数据传输到一个目的地(甚至n个具有n个不同目的地的发送者将数据传输到具有来自其他应用程序的后台网络流量的交换机)时,这一点尤其明显。这种网络拥塞不仅会导致更高的延迟和降低有效带宽,而且网络“热点”的传播和相关的反向压力也会导致受害;也就是说,邻近租户可能会受到另一个租户拥塞的影响。
最典型的控制拥塞的方法,显式的拥塞通知(ECN),在在以太网上部署生成式AI时是不够的。最终,为了缓解拥塞,必须测量传输数据的网络设备(NIC或DPU)。对于ECN,在开关缓冲区达到特定的容量阈值之前不会发生这种计量。然后,接收方通知发送方测量其吞吐量,直到接收方看到拥塞被清除为止。然而,在大规模人工智能模型中常见的突发流量情况下,这种拥塞通信的延迟可能过高,导致缓冲区过满和数据包被丢弃。虽然深度缓冲区开关可以减少缓冲区达到容量的可能性,但它们引入的附加延迟破坏了拥塞控制的预期目的。
有几种方法可以实现拥塞控制,但成功的设计最终需要交换机和NIC/DPU协同工作。Spectrum-X利用来自Spectrum-X开关的带内、硬件加速遥测数据,通知BlueField-3 DPU进行流量测量。其他实现需要不适合人工智能的深度缓冲区交换机,并依赖于偏离标准以太网的复杂、专有协议。
图3:NVIDIA Spectrum-X以太网拥塞控制与开关和NVIDIA BlueField DPU串联工作。

像AI云这样的多租户环境需要受在同一基础设施上运行的其他作业的保护。许多以太网ASIC设计并没有基于ASIC级别的工作保护。当一个“有噪声的邻居”(另一个相邻的作业)将网络流量发送到同一个目标端口时,这可能会导致某些作业以有效带宽非常低的方式“受害”。
以太网网络也必须考虑到网络的公平性。AI云必须支持相同基础设施上的异构应用程序组合。不同的应用程序可能使用不同的数据帧大小,如果没有隔离优化,较大的数据帧在传输到作为较小数据帧的相同目标端口时,将占用不成比例的带宽份额。
共享数据包缓冲区是提供性能隔离和防止噪声邻居和网络不公平的关键。通用共享缓冲区对交换机上的每个端口提供相同的缓存访问,提供了混合AI云工作负载所需的可预测性和一致的低延迟。
图4:图强调了通用共享包缓冲区架构与拆分缓冲区实现的重要性

除了从有效带宽的角度考虑性能隔离之外,重要的是要认识到性能隔离和零信任体系结构是多租户环境的网络安全的关键。数据在静止和运动时都必须得到保护,有效的加密和认证工具可以在不影响性能的情况下提供安全性。BlueField-3 DPU(兼容以太网和无限带)具有基于硬件的安全引导根信任功能,还支持运动数据加密的MACsec和IPsec,以及静止数据的AESXTS 256/512加密。
毫无疑问, NVIDIA Quantum InfiniBand已经为复杂的分布式科学计算提供了许多大型超级计算部署成为可能。然而,作为一个具有超低延迟、本地RDMA架构和网络内计算能力的无损网络,它被尊为性能方面的黄金标准,并在加速当今的人工智能的主流开发和部署的关键。
更面向大规模、大规模的工作流程或大型人工智能基础模型开发,人工智能工厂已经出现。由于基础模型可以作为开发更先进和更复杂的模型的起点,这些模型是在整个数据中心输入的大量原始数据上进行训练的。最重要的是,人工智能工厂的网络可以在成百上千个gpu上提供可扩展的性能,比如人工智能模型训练。NVIDIA Quantum InfiniBand为开发人员和科学研究人员提供了最快的网络性能和功能集。这包括用于广泛用于人工智能系统的基于硬件的集体通信操作的网络内计算。
集体通信算法有助于确保人工智能模型训练过程中分布式节点之间的高效和协调的通信。它们允许有效地训练大规模的模型,提高训练速度,减少通信开销,并使分布式训练能够利用多个节点的集体计算能力。这导致了加速模型的收敛和提高的性能。
集体通信库已经为深度学习框架开发了这种方法,以利用多个节点内部和多个节点之间的gpu。NVIDIA集体通信库(NCCL)就是这样一个库的一个例子,它实现了针对所有减少、所有收集、减少、广播、减少散射以及任何基于发送/接收的通信模式的通信算法。它经过优化,可以在任何使用PCIe和或NVLink的平台上实现高带宽,并使用NVSwitch、无限频带或以太网跨多台机器进行扩展。
图5:图显示单个GPU和使用NCCL跨多GPU和多节点配置。

网络内计算是专门为InfiniBand架构开发的一种独特的性能能力。该特性使网络中基于硬件的计算引擎能够大规模地卸载复杂的操作。网络内计算在NVIDIA Quantum InfiniBand交换机上实现为NVIDIA可扩展的分层聚合和缩减协议(sharp)™。
作为一种基于网络内树的聚合机制,SHARP支持多个同时进行的集体操作。启用SHARP后,交换机将被识别为聚合节点,并将执行这种数据缩减。NCCL在跨多个多gpu节点执行通信算法时就利用了这种功能。由于数据只发送一次来执行操作,因此它有效地将数据减少的带宽增加了一倍。因此,在使用SHARP的端到端 NVIDIA Quantum-2 400Gb/s InfiniBand网络上运行的NCCL性能将比没有它的800Gb/s端到网络性能更好。
图6:左侧是可伸缩分层聚合和缩减协议架构(清晰)的可视化表示,以及与NCCL一起使用时的性能

NVIDIA Quantum InfiniBand作为一个完整的软件定义网络(SDN)运行,并由一个称为子网管理器(SM)的软件管理实用程序进行管理。这个集中式实体将交换机配置为根据网络条件选择路由。交换机ASIC选择负载最少的输出端口(从一组输出端口中),这将在整个网络中获得最佳的性能。在不同的出口交换机端口之间的选择是基于一种分级机制,该机制考虑了出口端口队列的深度和路径优先级,其中最短的路径具有更高的优先级。InfiniBand的自适应路由通过扩展跨所有网络链路的流量,增加链路的利用率和平衡性,从而使整体性能最大化,从而优化链路带宽。重要的是要知道,自适应路由会导致网络数据包无序到达目的地。然而,作为一种端到端解决方案,本地包括管理无序数据包到达的硬件内功能。
NVIDIA Quantum InfiniBand包括一种全面和可扩展的服务质量(QoS)方法,该方法使用基于信用的流量控制机制来在发送方和接收方之间调节数据流,从而保证确定性的带宽和延迟。
InfiniBand实现了拥塞控制体系结构(CCA),这是一个分三阶段进行的管理拥塞事件的过程。当交换机检测到拥塞时,它会打开一点(在数据包中),称为转发显式拥塞通知(FECN)。当数据包到达目标适配器时,它使用不同的位集称为后显式拥塞通知(BECN)。当发送或源适配器接收到一个BECN时,它通过限制其对数据包的注入来响应。
图7:NVIDIA Quantum InfiniBand拥塞控制机构

在涉及到网络设计时,避免常见的误解是至关重要的。一个普遍的误解是,改变端到端链路速度对于人工智能部署可能是可以接受的,但在现实中,这可能会导致延迟和性能损失。在构建人工智能网络时,还存在的其他误解包括:
新兴人工智能的持续发展
开关半径是一个关键的度量指标
浅层和深度缓冲区架构
可实现网络弹性的技术
底层网络最终定义了数据中心的操作级别和预期的性能和效率水平;因此,必须消除这些误解,并采用一种整体的方法来平衡性能、安全性和灵活性,以与数据中心的使命保持一致,无论是人工智能云还是人工智能工厂。
InfiniBand解决了GPU加速器、服务器、存储系统和其他组件之间更高效可扩展通信不断增长的需求。InfiniBand的架构允许引入新的功能和功能,而不需要对技术进行彻底的改革。这种适应性使得合并新技术和新技术的出现成为可能,使其非常适合于满足未来技术环境的挑战和要求。
以太网采用两种数据处理模式:存储和转发切换和直通切换。存储和转发开关等待在发送数据之前接收到整个数据帧,而通过切换开关立即将数据发送到目的地。对于人工智能的工作负载,首选直通式切换。
直通式切换要求相同的端到端链路速度。改变链路速度的网络设计(即从400Gb/s主机到叶到从leaf到spine的4x100Gb/s)需要流量分割和存储转发切换。这就引入了一个延迟惩罚,当处理人工智能训练中常见的大数据帧时,这个延迟惩罚会变得更加重要。频谱x使用端到端切断连接来优化人工智能的网络。
图8:图显示了一个优化的400Gb/s端到端AI云以太网拓扑。

交换机基数,或交换机可以支持的逻辑mac的数量,传统上被用作交换机可伸缩性的代理。较大的交换机radix可以为给定数量的网络层连接更多的主机。
有了人工智能,这种模式已经发生了改变。有效的带宽、延迟和尾延迟对性能至关重要,并且与半径规模无关。一个较高的基数交换机可以用相同数量的网络层连接大量的gpu,以获得较低的网络价格点,但代价是降低应用程序性能和较低的ROI。像NCCL All-to-All这样的集体操作在网络的每一层都需要相同的高速有线速度,并且不建议利用基数规模来分割流量。
虽然 InfiniBand交换机在设计上是“浅”缓冲区交换机,但以太网交换机可以大致分为“深”或“浅”缓冲区交换机。深度缓冲区交换机的缓冲区大小以GB(GB)表示,而浅层缓冲区交换机(如Spectrum以太网交换机)的缓冲区大小为兆字节(MB)。深度缓冲区交换机最初是为不同的目的而设计的,如路由和广域网;因此,与传统的浅层缓冲区以太网交换机相比,它们有一个非常不同的架构。深缓冲交换机系统通常采用模块化设计,具有更大的机箱交换机填充线卡。
虽然深度缓冲区交换机功能丰富,并支持数据中心互连(DCI)和电信网络所需的规模,但它们并没有为人工智能网络进行优化。深度缓冲区交换机拥有额外的数据流量,并且对微突发不那么敏感,但更大的数据容量会导致更高的尾部延迟,从而增加平均延迟和高抖动。这直接影响了依赖于最坏情况延迟的人工智能工作负载,导致更高的工作完成时间和增加培训时间。
图9:与缓冲区大小和缓冲区占用率相比,显示真实延迟和投影延迟的图表

NVIDIAQuantum InfiniBand具有独特的自愈能力。多亏了这种自修复的自主性,在链路故障时纠正通信的速度足够快,可以使通信免于昂贵的重传输或绝对故障。
与通常在以太网上运行的具有同构流量模式的传统应用程序工作负载不同,AI产生的异构流量非常突发,且对网络故障非常敏感。例如,当从叶到脊柱的链接关闭时,这会影响多个机架中的多个GPU节点,并显著降低所有人的性能。流行的基于以太网的冗余度量,如EVPN多主址或MLAG,不能解决性能问题。
Spectram-X为需要双/多轨主机设计的AI工作负载提供了最好的类内弹性(即针对全硬件冗余的额外网卡端口)和智能,根据链路故障检测调整负载平衡。频谱-x提供了最理想的环境,以确保对时间敏感的数据传递。
要管理一个为数千名用户提供服务的人工智能云数据中心,就需要一套健壮的管理工具,以确保高效的操作、监控、安全和资源分配。虽然这不是人工智能工厂的典型要求,但AI云依赖于定制的云管理平台(cmp)来管理和自动化云基础设施。虽然这种以太网生态系统,但也可以与InfiniBand开发和集成。
部署AI云并不一定需要对生态系统进行资源配置、工作负载编排和用户访问控制的再投资。重用支持虚拟化管理、跨云基础设施协调容器和服务、监控资源运行状况和性能等的生态系统通常是可行的。在选择将作为人工智能数据中心基石的网络类型时,通常会考虑这种方法。
A智能工作负载为数据中心网络架构带来了新的挑战和要求。该网络定义了数据中心,并作为人工智能基础设施的骨干。在为生成式人工智能和基础模型部署数据中心时,必须考虑网络的能力和端到端实现。