查看原文
其他

超级以太网联盟规范概述及动机

常华Andy Andy730
2025-01-01

现代AI作业的网络需求

在高效和经济地训练AI模型的过程中,网络的重要性日益凸显。像GPT-3、Chinchilla和PALM这样的大型语言模型(LLM),以及DLRM和DHEN等推荐系统,都是在包含数千个GPU的集群上进行训练的。

训练过程涉及频繁的计算和通信阶段,下一阶段的训练启动完全依赖于整个GPU集群通信阶段的完成情况。所有GPU的进度都由最后一个到达的消息来控制。这种“尾延迟”(tail latency),即通信阶段中最后一条消息到达的时间,是衡量系统性能的关键指标。

大型模型的规模不断扩大,参数数量、嵌入表条目数和上下文缓冲区字数都在持续增长。例如,GPT-3在2020年已经是业界翘楚,拥有1750亿个参数。最近,GPT-4模型更是被宣布,预计参数数量将达到惊人的1万亿个,而DLRM的参数数量更是以万亿计,并且还有望继续增长。这些日益庞大的模型需要更大规模的集群进行训练,并在网络上传输更大的消息。一旦网络性能不佳,这些成本高昂的集群将无法充分发挥其效能。因此,连接这些计算资源的网络必须尽可能地高效和经济。

同样,高性能计算(HPC)作业也对网络提出了严苛的要求。随着HPC和AI在规模和对分布式计算资源的高效利用方面的需求日益融合,两者之间的界限逐渐模糊。虽然AI工作负载通常对带宽有很高的要求,但HPC工作负载中也包含对延迟更为敏感的任务。

以太网的优势

目前,众多大型集群,尤其是用于AI训练的超大规模GPU部署,均已在以太网IP网络上顺利运行,这得益于以太网的多重优势:
  • 拥有广泛的、多供应商的生态系统,涵盖了可互操作的以太网交换机、网卡、电缆、收发器、光学器件、管理工具和软件等,参与方众多,为集群提供了丰富的选择和灵活的搭配。
  • 以太网具备经过验证的IP网络寻址和路由规模,无论是机架规模、建筑规模还是数据中心规模的网络,都能轻松应对。
  • 同时,以太网还提供了一系列用于测试、测量、部署和有效运行网络的工具,使得网络管理和优化变得更加便捷高效。
  • 以太网的历史证明了其通过竞争生态系统和规模经济效应降低成本的能力,使得它在成本效益方面具备显著优势。
  • 值得一提的是,IEEE以太网标准在物理和光学层面具有快速和定期推进的验证能力,这使得以太网能够持续进步,满足不断变化的网络需求。

我们预计,这些优势将成为未来网络的标准要求,以太网网络也将在AI和HPC工作负载中占据越来越重要的地位,无论是小规模还是大规模的应用场景。

未来AI和HPC网络的关键需求

尽管以太网已具备诸多优势,但仍有改进的空间且改进是必要的。网络必须不断发展,以适应未来网络规模扩大和带宽提高所带来的性能挑战。最为关键的是,网络必须确保消息能够迅速传递给所有参与端点,即便是少数端点也不应出现长时间的延迟。因此,“尾延迟”必须最小化。

UEC规范通过满足下一代应用程序的以下关键网络需求,显著提升了网络性能:
  • 路径和数据包喷射(Multi-pathing and packet spraying)
  • 灵活的传递顺序(Flexible delivery order)
  • 先进的拥塞控制机制(Modern congestion control mechanisms)
  • 端到端遥测(End-to-end telemetry)
  • 更大规模、更高的稳定性和可靠性(Larger scale, stability, and reliability)

最后一点对之前的所有点都提出了更高的要求。高性能系统对错误容忍度极低,而在更大的网络中,错误会进一步放大。随着系统规模的增长,确保确定性和可预测性变得更加困难,因此需要采用新的方法来实现整体稳定性。

在接下来的章节中,我们将深入探讨超级以太网联盟提出的解决方案的动机,详细解释每个需求,并揭示现有技术的不足之处,以期解决这些问题。我们的目标是为这些未来的工作负载提供更简单、更高效的远程直接内存访问(RDMA)和互连方案。

多路径与数据包喷射

传统以太网网络基于生成树协议,确保从A到B的唯一路径,从而避免网络环路。然而,随着技术的发展,多路径技术如“等价多路径”(Equal-Cost Multipath,ECMP)应运而生。这些技术旨在充分利用通信伙伴之间的多条链路。虽然ECMP通常通过“流哈希”(flow hash)将特定层四流量的所有数据发送到单一路径,并将不同流量映射到不同路径,但这仍然限制了高吞吐量流量只能在一条路径上传输。更糟糕的是,当多路径技术将过多流量导向单一网络路径时,网络性能会下降,因此需要精心管理负载平衡以实现最佳性能。技术的下一步演进是数据包喷射,它允许每个流量同时使用所有到达目的地的路径,从而实现对网络路径的更均衡利用。

灵活的传递顺序

旧技术(如Verbs API所需的技术)所坚持的严格数据包顺序限制了效率,因为它阻碍了无序数据包数据直接从网络传输到应用程序缓冲区(即其在主机内存中的最终位置)。这种限制加上“Go-Back-N”数据包丢失恢复机制(它要求对单个丢失的数据包重新传输多达N个数据包),导致了可用链路利用率低下和尾部延迟增加,这对于大规模AI应用来说是远远不够的。理想情况下,应充分利用所有链路,并仅在AI工作负载需要时才强制实施顺序。

在AI工作负载中,大部分加速器之间的通信涉及“集合”(collective)通信操作,其中“全规约”(All-Reduce)和“全互连”(All-to-All)是主要类型。这些操作的关键在于快速完成从A到B的大容量传输,而AI应用程序主要关心给定消息的最后部分何时到达目的地。灵活的传递顺序使这种操作能够高效完成。此外,通过在将数据包传递给应用程序之前消除数据包重新排序的需求,灵活的顺序还有助于提升带宽密集型集合操作中数据包喷射的效益。因此,支持现代API并在适当时候放松对逐个数据包顺序的要求,对于减少尾部延迟至关重要。

AI和HPC优化的拥塞控制

网络拥塞可能发生在三个环节:
  • 从发送方到首个交换机的输出链路
  • 首个交换机与最后一个交换机之间的链路
  • 最后一个交换机到接收方的最终链路

对于AI和HPC来说,从发送方到首个交换机的输出链路上的拥塞,主要可以通过发送主机上的调度算法来控制,这个算法能够监控所有输出流量。上文提及的多路径数据包喷射技术,通过在所有路径上均匀分配负载,有效减少首个和最后一个交换机之间的热点和拥塞现象。而拥塞的最终形式(“Incast”)通常发生在多个发送方同时向同一目的地发送流量时,可能作为“全互连”(All-to-All)通信的一部分出现。

过去几十年里,人们提出了许多解决拥塞的方案,如DCQCN、DCTCP、SWIFT、Timely等。然而,现有的算法仍无法满足优化AI传输协议的全部需求。这些需求包括:
  • 在高速、低往返时延的网络环境中迅速达到线速率,尤其是在无拥塞路径的情况下,同时不损害现有流量的性能
  • 有效管理网络中的路径拥塞以及到达目的地的最后一跳
  • 通过公平地分配最后一条链路的资源来控制Incast,避免代价高昂的数据包丢失、重传或尾部延迟的增加
  • 无需随着流量组合的变化、计算节点的升级、链路速度的提升和网络硬件的更新而频繁调整配置

未来,用于AI工作负载的拥塞控制算法需精心设计,既要满足上述要求,又要与多路径数据包喷射技术相配合。

端到端遥测

这些优化的拥塞控制算法得益于新兴的端到端遥测方案。来自网络的拥塞信息能够及时向参与者反馈拥塞的位置和原因。通过缩短拥塞信令路径并向端点提供更多信息,可以实现更灵活响应的拥塞控制。无论是发送方还是接收方安排传输,现代交换机都能通过迅速将准确的拥塞信息传递给调度程序或速率控制器,从而推动更灵活响应的拥塞控制,提高拥塞控制算法的响应性和准确性。最终目标是减少拥塞、降低丢包率、减小队列长度,以改善尾部延迟问题。

RDMA的成功及其局限性

随着AI模型规模的不断扩大、通信模式的多样化以及计算方法的日新月异,现在是时候重新审视大多数AI网络核心所使用的传输技术和API了。通常来说,远程直接内存访问(RDMA)是一种非常成功的技术,它能够让CPU、GPU、TPU或其他加速器直接将数据从发送方的内存传输到接收方的内存。这种零拷贝方法有效降低了延迟,并避免了操作系统开销。因此,支持RDMA的网络技术已成为今天AI训练作业不可或缺的一部分。

以太网上的RDMA(RoCE)是为了让InfiniBand贸易协会的RDMA传输协议在IP和以太网网络上运行而创建的。这种底层协议通过Verbs API表达,其构想始于上世纪末,并在多年前首次由IBTA标准化。然而,对于现代、要求严苛的AI网络流量,它正暴露出过时的问题[数据中心以太网和RDMA:超大规模环境下的问题]。问题并非出在RDMA的通用原理——操作系统绕过和零拷贝,也不是使用以太网网络,而是目前适用于RoCE和InfiniBand的常见传输协议服务。

在撰写本文时,单个加速器可能集成高达数Gb的网络I/O,PCIe网卡即将提供800Gb/s甚至更高的速度——这比RDMA首次设想时快了好几个数量级。未来更具挑战性和更高速度的网络将进一步考验现有技术,并呼唤新的解决方案。

在使用DCQCN作为拥塞控制算法时,RoCE通常用于避免在试图快速提高速率时超载网络中的链路。然而,DCQCN需要细致的手动调整以达到最佳性能。DCQCN的调整对底层网络的延迟、速度和缓冲能力以及通过它进行通信的工作负载的性质都极为敏感。支撑互联网的TCP/IP协议套件之所以取得巨大成功,是因为TCP不需要针对网络进行调整,它“即插即用”。未来的AI网络需要一种像TCP一样“开箱即用”且适用于任何数据中心网络的传输协议。

众所周知,尽管InfiniBand和RoCE中使用的RDMA传输可以处理丢失的数据包,但其效率极低。丢失或乱序的数据包会导致“Go-Back-N”恢复机制启动,其中已接收的数据包需要重新传输,导致“goodput”降低和效率低下。网络运营商通常会在“无损”的网络上运行RDMA,以避免触发这种机制。如果配置为在拥塞时从接收方向发送方生成逐跳反压力的优先流量控制(PFC),以太网可以实现无损。因此,与其丢弃数据包,不如在上一个跳跃处延迟传输数据包。然而,当这种反压力传播到整个网络时,可能会产生“拥塞树”(congestion trees)和头阻塞,这两者都会导致在规模化时性能严重下降。

虽然大规模的无损RoCE网络已经成功部署,但它们需要细致的调整、操作和监控,以确保在不触发上述效应的情况下良好运行。这种投入和专业知识水平并非所有网络运营商都能承担,从而导致了较高的总体成本。因此,需要一种不依赖于无损网络的传输协议。

此外,RoCE以及InfiniBand使用的API(Verbs)是为比现代AI和HPC作业以及未来集成网络的加速器所需的规模(无论是带宽还是对等点数量)低得多的场景设计的。RC(Reliable Connection)传输模式不适合在高速度下以高效的硬件卸载实现,这要求减少快速通路状态。尽管有一些专有尝试来解决RC的局限性,但这些尝试并未被广泛接受,也未能完全解决其固有的“进程到进程”(Process to Process)可扩展性问题所带来的限制。虽然RC的实现在适度规模上能够运行,但它们会增加端点成本和复杂性,这对于未来规模的AI作业来说是一个沉重的负担。因此,需要探索新的解决方案。

最后,AI应用程序需要传输大量数据。传统的RoCE将这些数据传输为少量大流,必须仔细平衡负载,以防止任何单个链路过载。如上所述,AI工作负载通常不能继续执行,直到所有流量都成功传输,即使一个过载的链路也会限制整个计算过程。因此,改进的负载均衡技术对于提高AI性能至关重要。

Ultra Ethernet Transport(UET)

下一代AI与HPC网络的协议

超级以太网联盟的成员们普遍认为,是时候摒弃传统的RoCE协议,采用全新的Ultra Ethernet Transport了。这是一种现代传输协议,旨在满足AI和HPC应用对性能的高要求,同时保留以太网/IP生态系统的优势。

从TCP/IP和以太网的成功中,我们汲取了两个重要经验:一是传输协议应具备丢失恢复能力;二是无损网络的运行极具挑战性,很难在不触发头阻塞和拥塞扩散的情况下维持其稳定性。秉承这些原则,UEC传输以经过验证的分布式路由算法和基于端点的可靠性和拥塞控制为基础。UEC传输协议通过以下方式超越了现有技术:
  • 从一开始就设计为在IP和以太网上运行的开放协议规范
  • 采用多路径、包喷射传递,充分利用AI网络资源,避免拥塞或头阻塞,从而消除了对集中式负载平衡算法和路由控制器的需求
  • 引入控制最终链路到目标主机的Incast管理机制,以最小化丢包现象
  • 应用高效的速率控制算法,使传输速度能快速达到线速,同时避免竞争流性能受损
  • 提供用于乱序数据包传递的API,支持按序完成消息,最大化网络和应用程序的并发性,最小化消息延迟
  • 支持未来网络,可应对高达100万个端点的规模
  • 在无需针对网络和工作负载调整拥塞算法参数的情况下,实现高性能和最佳网络利用率
  • 旨在通过通用硬件在未来的800G、1.6T及更高速的以太网网络上实现线速性能

UEC规范不仅局限于传输层,还定义了标准的语义层,改进了低延迟传递机制,并提供了与UEC传输协议上标准、多供应商支持实现这些API相一致的AI和HPC API。

AI与HPC的安全性

AI的训练和推断通常在需要作业隔离的托管网络中进行。此外,AI模型日益敏感,成为宝贵的商业资产。因此,UEC传输在设计时就纳入了网络安全考虑,能够加密和验证发送到AI训练或推断作业中计算端点之间的所有网络流量。UEC传输协议充分利用了现代加密方法(如IPSec和PSP)中的有效会话管理、身份验证和机密性核心技术。

随着作业规模的扩大,支持加密而不使主机和网络接口中的会话状态膨胀变得至关重要。为此,UET引入了新的密钥管理机制,允许在参与作业的数万个计算节点之间有效共享密钥。该机制专为满足AI训练和推断所需的高速度和规模要求而设计。在大型以太网网络上托管的HPC作业具有类似的特点,同样需要这样的安全机制来保障其稳定运行。

UEC的进一步工作

HPC与未来展望

除了为AI实现网络功能的提升,UEC还致力于开发支持未来HPC网络需求的技术。随着AI和HPC的工作负载和网络需求日益交织,我们期待UEC传输协议能够满足这两类作业的网络需求。考虑到对带宽和延迟的不同敏感度,UEC规范将提供两种配置文件,一种是AI优化版,另一种是HPC优化版。

随着速度和规模的不断提升,传统的端到端重试方法对于延迟敏感的工作负载来说,已经显得力不从心。在大规模HPC网络,比如超级计算系统所使用的网络中,链路层的本地错误处理已经证明其价值。UEC规范正是为以太网提供了这样的能力。

总结

AI系统通常部署在具有多条从发送方到接收方的路径的网络拓扑中。关键在于如何同时并有效地利用这些昂贵的高速公路的所有车道。为实现这一目标,我们需要可扩展且高效的远程内存访问,这可以通过包喷射、灵活的排序以及优化的拥塞控制算法来实现。此外,未来的网络还将依赖于新的端到端遥测、可扩展的安全性和针对AI优化的API,这些将是针对明天强大的AI计算独特通信需求优化的关键。

UEC协议同样设计用于支持现代HPC工作负载,它利用上述相同的传输机制,同时保留了广泛使用的API,如MPI和PGAS。

UEC的创始成员涵盖了当今众多领先的AI和HPC网络供应商和运营商。UEC的努力充分利用了其成员在构建和运营这些网络方面多年积累的经验。即将发布的UEC草案规范将成为AI和HPC网络的可互操作基础。UEC正在开发的技术将对未来对性能、易用性和成本要求苛刻的AI和HPC应用产生深远的影响。

-----

Source: https://ultraethernet.org/wp-content/uploads/sites/20/2023/10/23.07.12-UEC-1.0-Overview-FINAL-WITH-LOGO.pdf


--【本文完】---

近期受欢迎的文章:

  1. AI的未来需要以太网(超级以太网)

  2. 以太网引领AI浪潮:向企业推广AI的首选

  3. 以太网:通往奇点之路——现代化RDMA

  4. 数据中心以太网和RDMA:超大规模环境下的问题

  5. NVlink:突破AI与HPC的数据传输瓶颈


更多交流,可添加本人微信

(请附姓名/关注领域)

继续滑动看下一个
Andy730
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存