在讨论高性能计算领域的互联时,InfiniBand 通常位居首位。然而,当转向企业领域时,首选的互连方式是以太网。人工智能的出现,系统节点数量越来越大。事实上,扩展到这些更大数量对许多网络来说是一大挑战。庞大的xAI Colosus系统使用Nvidia Spectrum-X以太网。正如英伟达网络副总裁吉拉德·谢纳所说,“唯一一个通过在整个系统中运行单一作业工作负载实现了这一规模(10万节点)的以太网基础设施,而非InfiniBand。”
这时,超以太网(UE)技术应运而生。 高性能计算从业者已经考虑改进网络技术有一段时间了,而现在,从某种意义上说,人工智能已经推动了这一问题。 大型企业AI系统更倾向于以太网。此外,随着英伟达收购Mellanox,许多用户和供应商更倾向于更独立的互联。
超以太网联盟
2023年7月,超以太网联盟(UEC)由AMD、Arista、Broadcom、Cisco、Eviden(Atos)、HPE、英特尔、Meta和Microsoft正式宣布成立。作为一个开放的Linux基金会联合开发基金会(JDF)项目,到2024年底,它迅速发展到拥有100多家成员公司(包括英伟达)和1500多名参与者。2025年6月,Ultra Ethernet 联盟发布了1.0规范,产品开始陆续出现。
最近,UE规范的主要设计者团队发布了一份24页的论文,帮助简化完整的562页规范。本文将进一步介绍Ultra Ethernet的一些重要变化和特性。论文首先概述了几个基础原则。
- 首先是与现有以太网数据中心部署的兼容性。用户可以松一口气,因为无需拆除旧有的以太网基础设施。兼容性通过对交换机基础设施施加最小要求实现,便于现有基础设施的部署和滚动扩展。UE交换机只需支持均价多路径(ECMP)和出口处标记的基本显式拥塞通知(ECN),但它们可能(可选地)支持数据包修剪(见下文)以提升网络性能。UE不需要对物理PHY层(OSI第1层)或链路层(OSI第2层)进行更改。不过,它定义了若干可选扩展,以提升链路层在新部署中的性能,从而促进厂商差异化。UE完全兼容以太网,使用户能够利用现有工具进行运营管理、调试和部署。
- 下一个原则是大规模可扩展性,这将支持未来AI系统所需的大规模部署。UE设计用于支持数百万个网络端点,采用无连接API灵活安排。最初,它侧重于支持传统的肥树部署,而不阻止联盟未测试的其他优化拓扑,如HammingMesh、Dragonfly或Slim Fly。
- 高性能也在其中,通过为大规模部署设计的高效协议实现。例如,UE的无连接API由一种机制支持,建立了无额外延迟的点对点可靠性上下文。也就是说,最初到达的数据包建立了一个上下文,即使在大规模乱序传输中,也可能需要纳秒级。此外,UE支持可选扩展,如数据包修剪(见下文),以快速检测和响应丢包。
- 最后,在规范互作性的限制范围内,厂商之间有差异化的空间 。这一特性使现有的以太网供应商生态系统能够在活跃且规模庞大的市场中推动快速创新周期和开发。在许多情况下,如数据包负载均衡或快速丢包检测,规范提出了一套实现兼容协议的选项,但并未强制要求必须这样做。供应商可以使用这些提案的方法,或者自创创新。
拓展以太网的应用范围
除了吞吐量外,以太网通常作为从A点到B点的即插即用互连。Ultra以太网区分三种网络类型:本地网络(通常称为扩展)、后端网络(通常称为扩展)和前端网络。
图1展示了三种类型的网络。本地网络(紫色)用于连接GPU、CPU和加速器(XPU)。例如,CXL、NVLINK或以太网用于此类节点级网络。这些通常被称为机架级网络,延迟可达100米,延迟达亚微秒,是系统中最快的网络。前端网络(绿色)是传统的数据中心网络,承载内部(“东西向”)和外部(“南北向”)流量。后端(扩展)网络(蓝色)是连接计算节点(服务器)的高性能网络。后端和前端网络通常被称为“扩展”网络,因为它们提供了许多大型系统的大规模可扩展性。
图1。高性能数据中心网络类型概述。(来源:ArXiv论文)
Ultra Ethernet 1.0 专注于后端网络。虽然它可以用于(共享)前端或局域网络,但它主要面向后端网络,假设如下:UE设计 用于在中长(10-150米)链路上以高带宽(400+ Gbps)运行,并传输较大的消息和数据包。因此,头部大小和处理延迟很重要 ,但不是主要关注点。未来的UE版本可能会更明确地针对这些网络类型。
UE有什么新变化?
如前所述,UE设计用于现有以太网网络。规范建议在自身流量类别中运行UE流量,但其拥塞控制算法可能与其他流量共享相同交换机缓冲区。它使用第三层互联网协议(IPv4或IPv6)兼容(可路由)的寻址和头部。UE定义Fabric端点(FEP)为逻辑实体,用于单播作终止传输层的两端。FEP大致相当于传统的网络接口控制器(NIC)。
超以太网的主要特点包括:
- 一种高度可扩展的无连接传输协议,使用临时分组分组上下文(PDC)。
- 消除语义层中面向连接的依赖关系,包括缓冲区寻址、访问授权和错误模型
- 原生支持每包多路径(“包喷射”),并采用灵活且可扩展的负载均衡方案,无需在接收端重新排序开销。
- 能够按顺序和无序方式传输可靠和不可靠的数据包,以最优地覆盖所有使用场景。
- 支持有损(尽力而为)作以避免线头阻塞,结合可选的数据包修剪和其他快速丢失检测方案以实现快速恢复。
- 一种新型拥塞管理方案,能够快速适应内流和网络内拥堵。
- 一种设计,使厂商能够交付仅硬件、仅软件或硬件与软件混合实现产品。
- 集成可扩展的端到端加密和认证。
- 链路层优化实现加速。
一些较重要的特征如下所述;完整列表请参见论文 。Ultra Ethernet 整体的分层架构如图2所示。
图2:超以太网整体分层架构(来源ArXiv论文)
超以太网配置文件
UE规范提供三种配置文件(HPC、AI Full和AI Base),支持不同的功能集,允许不同复杂度的实现。HPC 配置文件提供了最丰富的功能集,包括通配符标签匹配,并针对 MPI 和 OpenSHMEM 工作负载进行了优化。AI 完整配置文件是 AI 基础配置文件的超集。两者都面向集体通信库(*CCL),这些库不需要万用符标签匹配或其他高级通信作。两个AI配置文件都支持可延迟发送,这是专门为*CCL通信卸载设计的功能。此外,AI Full 还提供精确标签匹配功能。AI Base 设计 时实现最简单。
HPC配置文件是AI基础配置文件的超集,通过实现可延迟发送,实现可以同时提供HPC配置文件和AI完整配置文件。
平衡流量:包装喷涂
等价多路径(ECMP)是一种用于以太网网络中流量负载均衡的方案。支持 ECMP 的交换机不会直接将目标地址解析到端口,而是指向一组通往目的地的路径相似的端口。然后,使用确定性哈希函数为每个数据包选择输出端口。
哈希函数的输入通常可配置,通常包含完整的IP五元组(源地址和目的地址及端口,以及协议类型)。因此,如果不做更改使用,ECMP会将同一流的所有数据包沿同一确定性路径路由(无故障)。
UE重新定义其中一个字段,包含一个随机熵值(EV)。例如,如果使用标准UDP/IP,该字段是UDP源端口,否则该端口未被使用。UE还支持原生仅IP模式,即EV与UDP源端口保持在同一位置。源Fabric端点(FEP)现在可以为每个将发送不同路径的数据包选择不同的电子传输(EV),或者在发送包含相同电子数据包时选择按顺序传输。
UE的数据包喷洒可以通过为每个数据包更换EV来避免拥塞问题,从而将数据包均匀分配到所有交换机(因此称为“喷涂”)。即使发生哈希碰撞,碰撞时间也会短暂,产生的不平衡可以被开关缓冲区吸收。这种方法实现了网络的全面利用率,并且平均地实现了流量的均匀分布。如果所有端点均匀喷涂,分组喷涂很简单,但如果某些流程需要按顺序传递,从而确定性地占据某些路径,则更具挑战性。
改进丢包响应
当以太网数据包丢弃时,必须从源头重新发送。超时用于重传被丢弃的数据包。然而,超时通常不可靠,因为数据包可能在源端超时,而数据包仍在交换缓冲区内等待,导致重复传输和带宽浪费。总体来说,选择合适的超时以平衡不必要的重传和带宽利用是很困难的。UE定义了三种更快的丢失检测机制。
UE区分了三种类型的数据包丢弃:
- 拥塞丢包,即当交换机缓冲区满时丢弃数据包
- 当有位错误的数据包未能通过校验和时,就会发生损坏丢包
- 配置丢弃,当网络配置为丢弃时,例如防火墙或生命周期过期
澄清一下,UE提供了三种可选的丢失检测机制,可以检测拥塞掉落,其中一种也能可靠地检测腐化掉落。
数据包修剪要求UE交换机配置为修剪将丢弃的数据包有效载荷,并将剩余的头部(可能优先级提升)转发到目的地。收到修剪后的包后,目标方知道有效载荷已被丢弃,可以迅速向源端请求重传。UE定义了基于交换机的数据包修剪的详细行为。修剪无法检测腐化掉落。
乱序计数可用于估算丢失的数据包数量,方法是计算最后接收的数据包序列号(PSN)与最早缺失的PSN之间的距离。它可以在目的地计算,并通过可选的 OOO_COUNT ACK 扩展头字段发送到源端,或者在源端估计。如果计数器超过某个阈值,系统可以假设数据包丢失。这种方案比超时更准确,但如果喷射包(见上文)在不同路径间延迟差异很大,也可能会发送重复包。
基于电动车的方案可用于精确检测损失。最简单的方案可以保留一个有序的(熵值、数据包序列号)对((EV, PSN)-对,这些对应到源端,并将每个收到的ACK与该列表匹配。由于UE ACK按到达顺序发出,且携带与已确认包相同的EV,且EV在无硬故障的情况下选择唯一路径,源端只需 查找发送列表中最早的条目,且使用相同EV即可,如果接收到的PSN不匹配, 它可以推断出所有具有相同EV的数据包和比接收到的PSN更小的数据包都丢失了。
新的链路层功能
链路级重试(LLR):随着链路带宽增加和错误率可能增加,传统端到端重传可能会对延迟敏感的工作负载产生负面影响。LLR在传输以太网帧时,在链路层本地处理错误。发送端将所有符合LLR资格的帧存储在重放缓冲区中,并分配序码,编码在前导词中。接收端链路在收到帧后将确认返回源端,从而释放回放缓冲区。
基于信用的流量控制(CBFC):UE的CBFC提供链路级流量控制,可与融合以太网的基于优先级的流量控制(PFC)配合使用或替代。这两种方案都旨在提供几乎无损的数据包服务,消除因缺乏缓冲而导致的数据包丢包和拥塞。这种拥塞断线可能是端到端可靠系统中网络性能下降的主要原因,尤其是采用回溯N重传策略的系统。即使拥塞管理最佳,由于交换机缓冲区溢出、网络路径扩展以及高度可变的流量模式,仍可能发生数据包丢包。CBFC或PFC可以通过创建无损链路层(第2层)结构来优化这些场景。
CBFC在发送端和接收端均使用两个20位循环计数器,根据 缓冲区占用率(类似于InfiniBand)追踪接收端已消耗和释放的信用额度。这些计数器在每个虚拟通道上维护,并定期同步以避免信用损失。
发送包前,发送方会检查本地信用额度可用性,一旦发送包,便从可用信用额度中扣除包大小。当数据包离开缓冲区时,接收方通过更新消息将信用归还给发送方。发送方会定期向接收方发送更新消息,以防止信用损失。一般来说,协议确保只有在接收端有足够的缓冲区时才会发送数据包。
提升可扩展性
这些寻址机制实现了UE提供的一项关键可扩展性增强。与现有机制(如InfiniBand的动词层)不同,后者设计为将接收队列关联到每个队列对(QP)。然而,用户很快发现,在拥有数百万核心的系统中,将接收队列关联到每个通信节点所需的内存是无法承受的;因此,创建了共享接收队列。相比之下,UE模型允许用户在源头没有上下文的情况下寻址队列。应用程序中的任何人都可以向该队列发送信息,写入队列的授权由作业ID提供。
Ultra Ethernet 使用临时传输上下文,只需建立单一轻量级消息,且可以在没有上下文的情况下创建和销毁。这种设计意味着向另一个节点发送传输时不会产生高延迟的往返,并且可以在网络中发送小消息。该设计确保可扩展性超过一百万个终端。
该设计的一个有利副作用是,当队列对作为连接时,它使每个事务的失败和错误处理更简单,而非传统RDMA系统中增加显著复杂性的队列错误状态。
硬件
UE硬件预计将在2025年秋季上市。有些厂商会发货网卡和交换机。
结论
UEC在30个月内加速推进了Ultra Ethernet。随着厂商全面实施,最初的1.0规范无疑会进行修订和勘误。 UEC的重要目标是提供一个规范或平台,以构建未来的高性能以太网。受人工智能系统规模推动,UE的开发旨在满足对下一代数据中心网络的需求,而该网络仍处于以太网舒适区内。
一旦全面实现并批量销售,UE可能成为InfiniBand(IB)网络的竞争者;但目前,IB仍是一个高度优化的系统范围网络平台,不需要“AI规模”能力,将继续作为一个根深蒂固的高性能计算解决方案。技术可能会在某个时刻融合。如前所述,目前使用的是Spectrum-X以太网技术,而非IB,用于10万节点的xAI Colossus系统。英伟达(现为UEC成员)将IB的一些功能引入了Spectrum-X以太网,使网络能够高效大规模运行。大规模数据传输仍然是高性能计算和人工智能的关键推动力,Ultra Ethernet将发挥重要作用。