找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2314

积分

0

好友

310

主题
发表于 5 小时前 | 查看: 2| 回复: 0

随着大规模AI模型的兴起,GPU集群的规模显著扩大。鉴于单芯片计算性能提升空间有限,整体性能的提升只能通过规模扩展来实现。拥有数千甚至数万个GPU的集群已成为主流,未来3-5年内,拥有数十万甚至数百万个GPU的集群也已提上日程。

集群计算网络可以分为南北向流量(外部网络流量)和东西向流量(内部网络流量)。集群中的网络连接数定义为 S=N×(N−1)(其中N为节点数)。如此高的节点数解释为什么东西向流量占数据中心流量的90%以上。此外,由于系统规模的扩大,南北向流量的增长导致数据中心所需的网络带宽呈指数级增长。

2019年,NVIDIA收购Mellanox,凭借其在InfiniBand和ROCEv2方面的先进技术,确立自身在高性能网络领域的领导地位。截至2024年6月,NVIDIA的领先地位已体现在其股价上。AWS和阿里云等竞争对手也纷纷推出各自的高性能网络协议和产品,使得行业竞争异常激烈。高性能网络领域竞争异常激烈,未来的领军者仍有待观察。

本文从硬件-软件集成的角度对高性能网络技术进行了介绍和分析,从而对高性能网络有一个全面的了解。

一、高性能网络概述

网络性能三要素:带宽、吞吐量、延迟示意图

1.1 网络性能参数

网络性能主要由三个参数衡量:带宽、吞吐量延迟

  • 带宽是指在特定时间内可以传输的数据量。然而,高带宽本身并不能保证最佳的网络性能,因为丢包、抖动或延迟等因素都会影响吞吐量。
  • 吞吐量表示在特定时间内实际可以发送和接收的数据量,帮助用户了解有多少数据包成功到达目的地。高性能网络需要数据包的准确传输;过多的丢包会降低网络性能。
  • 延迟是指数据包从源到目的地所需的时间,通常以往返时间 (RTT) 来衡量。高延迟会导致服务不稳定和卡顿,这对视频会议等应用至关重要。

另一个关键指标是每秒数据包数 (PPS),衡量的是每秒传输的数据包数量。许多网络设备在处理大数据包时可以达到线速性能,但由于PPS容量不足,处理小数据包(64 字节)时性能会显著下降。 理想情况下,即使是最小的数据包也应该能够达到线速性能。高性能网络的目标是在低延迟和低抖动的情况下实现最大吞吐量(接近网络带宽),而与数据包大小或网络节点无关。这些参数相互关联,实际系统必须平衡它们才能优化整体性能

1.2 复杂网络分层

OSI模型定义一个七层网络协议,但工程应用中实际使用的TCP/IP模型通常只有五层:物理层、数据链路层、网络层、传输层和应用层。 物理层和数据链路层通常由硬件实现,而网络层、传输层和应用层则由软件实现。

OSI七层与TCP/IP五层协议模型对比

TCP/IP协议套件用于计算机网络,其中包括 TCP(传输控制协议)、IP(互联网协议)和 UDP(用户数据报协议)等核心协议。

以太网专为局域网 (LAN) 通信而设计,它规定物理层连接、电子信号和介质访问控制协议,使其成为当今应用最广泛的网络技术。

数据中心网络更为复杂,分为覆盖网络(Overlay)和底层网络(Underlay)。从功能上看,云计算数据中心网络可以分为三层:

  • 物理层(底层网络):提供基础的物理网络连接。
  • 虚拟网络层(覆盖网络):在物理网络之上构建虚拟网络。
  • 应用层:包含各种用户可见的网络服务,例如接入网关和负载均衡,以及其他依赖于网络的应用。

物理数据中心是一个局域网,可以通过覆盖网络将其分割成数千个虚拟专用网络 (VPN),这就需要网络安全机制来实现高性能的跨域访问。

根据网络处理逻辑,网络可以分为三个部分:数据包封装/解封装,其中业务数据被封装成指定的网络格式进行传输,并在接收时进行解封装;网络数据包处理,包括对叠加网络的额外封装、防火墙的数据包识别以及数据包的加密/解密;以及数据包传输,这是高性能网络的核心重点。

1.3 对高性能网络的需求

高性能网络在现代数据中心中扮演着至关重要的角色,网络连接所有节点并支持远程操作。数据中心网络的复杂性在于其大规模构建的复杂网络逻辑,这意味着任何网络故障都可能造成灾难性后果,影响整个数据中心。

随着数据中心的快速扩张和东西向流量的不断增长,对更高带宽的需求也随之激增,推动带宽需求从 10G 和 25G 跃升至 100G 甚至更高。

此外,数据中心内部的短距离传输凸显系统堆栈的延迟,而随着网络带宽的增长,CPU性能瓶颈会进一步加剧延迟问题跨服务器调用对延迟的敏感性要求接近本地调用性能,因此高性能网络对于确保低延迟和高效的远程服务器交互至关重要。

1.4 网络拥塞控制

网络拥塞是指过多的数据包导致延迟和丢包,从而降低传输性能。高性能网络旨在充分利用网络容量,同时最大限度地减少延迟并避免拥塞。

拥塞控制与流量控制的区别

  • 拥塞控制通过全局性地解决问题来确保网络能够处理传入流量。
  • 流量控制则侧重于端到端传输,以防止发送方对接收方造成过载。

有效的拥塞控制策略包括:更高带宽的网络、流量感知路由、通过准入控制降低负载、抑制源端流量的反馈机制,以及在必要时丢弃数据包。其目标是优化带宽分配以避免拥塞,确保传输的公平性,并实现拥塞控制算法的快速收敛,从而维持高效可靠的网络性能。

1.5 等价多路径路由(ECMP)

CLOS架构是一种用于构建高性能、高可靠性数据中心网络的拓扑结构。由于东西向流量的不断增长,数据中心网络通常采用CLOS结构来满足高带宽需求。CLOS架构在主机之间提供多条网络路径,为高性能、高可靠性的网络奠定基础。

有效利用网络拓扑、路径资源和带宽资源来平衡网络负载,将数据流分配到不同的路径上以避免拥塞并提高数据中心内的资源利用率,这一点日益重要。等价多路径路由 (ECMP) 是一种逐跳的基于流的负载均衡策略。当路由器识别出到达同一目的地的多条最优路径时,它会更新路由表,为该目的地添加多条规则,每条规则对应不同的下一跳。这些路径可以同时用于转发数据,从而提高带宽。

常见的ECMP路径选择策略包括:

  • 哈希:基于源IP地址的哈希值选择路径;
  • 轮询:以轮询方式将流量分配到各个路径;
  • 路径权重:基于路径权重分配流量,权重越高的路径接收的流量越多。

在流量突发性较大的数据中心,大流量(象流量)和小流量(鼠流量)并存,因此必须仔细考虑负载均衡策略。尽管ECMP简单易部署,但仍有一些问题需要注意。

二、TCP/IP高性能网络技术

2.1 TCP/IP协议栈卸载

TCP/IP协议栈主要由以太网、TCP/IP和Socket系统组成,可以通过卸载进行优化,从而提升网络性能。卸载可分为两种类型:部分TCP功能卸载完整的TCP/IP协议栈卸载(TOE)

部分TCP功能卸载利用网卡硬件处理特定的 TCP 功能,从而降低CPU负载。例如:

  • TCP分段卸载(TSO):使用网卡硬件对TCP数据包进行分段。
  • UDP 分片卸载 (UFO):处理大型 UDP 数据包,在硬件中执行分片。
  • 大型接收卸载(LRO):将多个接收到的 TCP 数据包聚合为更大的数据包。
  • 接收端扩展(RSS):将网络流分配到不同的队列中,并将每个队列分配给多个 CPU 核心。
  • CRC卸载:将CRC计算和数据包封装卸载到硬件。

完整TCP/IP协议栈卸载 (TOE) 是指将整个TCP/IP 协议栈卸载到硬件上,从而显著降低 CPU 开销并提升网络处理性能。然而,TOE网卡在Linux内核中面临着一些挑战:

  • 安全风险:与经过充分测试的软件TCP/IP协议栈相比,硬件实现会带来更大的安全风险。
  • 硬件限制:与软件可利用的充足CPU和内存相比,TOE芯片的资源有限。
  • 复杂性:TOE需要对网络协议栈进行广泛的更改,可能会影响QoS和数据包过滤。
  • 定制化:供应商特定的TOE实现会增加复杂性和安全风险,而闭源固件限制修改。
  • 过时: TOE网卡的寿命有限,CPU性能很快超过TOE的能力,软件堆栈迭代速度超过硬件协议更新速度。

由于这些挑战,TOE尚未得到广泛应用

2.2 应用层TCP/IP协议栈加载

Onload是一款由Solarflare开发的网络加速中间件,后被Xilinx收购,最终又被AMD收购。Onload通过在用户模式应用地址空间中直接实现基于IP的TCP/UDP协议来提升网络性能,从而实现无需操作系统干预的直接网络数据传输和接收。

Onload 的主要特性包括:

  • 内核旁路:避免系统调用、上下文切换和中断等干扰事件,从而提高应用程序代码执行的处理器效率。
  • 动态链接:Onload在运行时使用标准Socket API与应用程序动态链接,无需修改应用程序。
  • 降低成本:通过减少CPU开销、改善延迟和带宽以及增强应用程序可扩展性,显著降低网络成本。
  • 核心技术:Onload利用硬件虚拟化SR-IOV、内核旁路和应用程序套接字API。

2.3 优化传输协议:从TCP到QUIC

QUIC(快速UDP互联网连接)是一种新的互联网传输协议,部分或完全取代并优化第4层、第5层(安全层)和第7层。与传统协议不同,QUIC是自包含的,可以不受现有中间件约束进行创新。

QUIC协议与传统TCP/TLS架构对比图

QUIC相较于TCP+TLS+HTTP2,具有以下几个优势:

  • 连接建立延迟:握手前发送有效载荷需要0RTT,而TCP+TLS需要1-3RTT。
  • 改进的拥塞控制:实现并优化TCP的慢启动、拥塞避免、快速重传和快速恢复机制。QUIC可以根据具体情况选择不同的拥塞控制算法,避免TCP重传歧义,并实现精确的RTT计算。
  • 无阻塞复用:设计用于无队首阻塞的复用,允许不受影响的流继续传输。
  • 前向纠错(FEC):通过在数据包组中添加FEC数据包来恢复丢失的数据包,而无需等待重传。
  • 连接迁移:通过64位连接ID而不是四元组进行标识,即使客户端的IP地址或端口发生变化,连接仍能保持有效。

三、高性能网络协议概述:InfiniBand (IB)

3.1 IB网络协议简介

InfiniBand (IB) 是一种高性能计算网络通信标准,以其极高的吞吐量和极低的延迟而著称。用于计算机之间以及计算机内部的互连,可作为服务器和存储系统之间的直接或交换互连。IB的设计目标包括集成计算、网络和存储技术,以创建可扩展的高性能通信和I/O架构。

InfiniBand系统架构示意图

IB的主要优势,包括:

  • 高性能:TOP500超级计算机中约有一半使用IB。
  • 低延迟:端到端IB延迟测量值为1µs。
  • 高效:对RDMA和其他协议的原生支持提高工作负载处理效率。

IB遵循五层网络模型:物理层、链路层、网络层、传输层和应用层。

OSI、TCP/IP与五层协议体系结构对比图

与传统网络中L1和L2基于硬件、L3和L4基于软件不同,IB的L1到L4层均由硬件实现。IB传输层API连接HCA网卡和CPU,而Verbs API则作为IB的应用网络接口,类似于传统TCP/IP网络的Socket API。MPI是一个用于并行化的方法库,可以基于 OFA Verbs API或TCP/IP Socket。

3.2 为什么IB是高性能?

传统网络协议栈面临诸多挑战,例如系统层路径过长、不必要的数据复制以及由于内核参与而导致的优化受限。IB通过四项关键优化技术克服这些挑战:

  • 优化协议栈:一个简化的、轻量级的、解耦的系统栈。
  • 加速协议处理:硬件加速多个协议层(L2-L4)。
  • 减少中间步骤:原生支持 RDMA 内核绕过。
  • 优化的界面交互:增强的软硬件交互机制,包括发送/接收队列对和工作/完成队列。

3.3 InfiniBand与以太网

InfiniBand 与以太网的比较揭示二者之间的明显差异:

  • 设计目标:以太网侧重于跨多个系统的兼容性和分发,而IB旨在解决HPC场景中的数据传输瓶颈
  • 带宽:IB提供比以太网更快的网络速度,主要是因为它用于HPC中的服务器互连,而以太网则针对终端设备互连。
  • 延迟:以太网交换机处理更复杂的任务,因此延迟较高(>200ns),而IB交换机执行更简单的任务,延迟则低得多(<100ns)。RDMA+IB网络的延迟约为600ns,而以太网+TCP/IP网络的延迟可达10µs。
  • 可靠性:IB提供端到端流量控制,最大限度地减少延迟抖动并避免拥塞。以太网缺乏基于调度的流量控制,这可能导致拥塞和丢包,从而造成显著的性能波动。
  • 联网方式:在以太网中添加或删除节点需要通知所有节点,随着节点数量的增加,这会导致广播风暴。IB使用子网管理器来配置本地 ID并统一计算转发路径信息,从而可以部署包含数万台服务器的大型二层网络。

四、RDMA高性能网络

4.1 RDMA概述

RDMA软件栈架构图(InfiniBand, RoCE, RoCEv2)

RDMA(远程直接内存访问) 是一种高带宽、低延迟的网络技术,旨在降低CPU占用率并克服传统TCP/IP网络的局限性。RDMA无需操作系统参与,即可在两个节点的内存之间直接传输数据,并利用网卡硬件处理传输。这种直接内存访问方式无需额外的数据复制,发送/接收和读/写等操作可直接访问应用程序的虚拟内存。

RDMA具有几个独特的特点。它与InfiniBand (IB)原生集成,并有RoCEv1、RoCEv2等实现,基于标准以太网、IP和UDP,支持标准L3路由器,使其成为数据中心的热门选择。

4.2 RDMA/RoCEv2系统协议栈层

RoCEv2是一种广泛应用于数据中心的RDMA技术,展示RDMA系统的分层结构。技术上包含以下几层:

  • 以太网层:五层网络协议的物理层和数据链路层。
  • 网络层(IP):五层协议中的网络层。
  • 传输层(UDP):传输层使用UDP而不是TCP。
  • IB传输层:管理数据包分发、分段、信道复用和传输服务。
  • RDMA数据引擎层:处理内存队列和RDMA硬件之间的数据传输,处理工作/完成请求。
  • RDMA接口驱动层:管理RDMA硬件配置、队列和内存管理,将工作请求添加到队列,并处理完成请求。
  • Verbs API层:封装接口驱动程序,管理连接状态、内存和队列访问,向RDMA硬件提交工作,以及从硬件检索工作和事件。
  • ULP层:为各种软件协议提供RDMA动词支持,从而实现应用程序向RDMA平台的无缝迁移。
  • 应用层:包括使用RDMA verbs API开发的RDMA原生应用程序,以及通过OFED协议栈利用RDMA的现有应用程序。

4.3 RDMA工作队列

RDMA采用灵活的软硬件接口,允许不同厂商采用不同的实现方式,但都统一使用队列机制。软件驱动程序和硬件设备之间的交互遵循生产者-消费者模型,从而实现异步解耦。RDMA软件和硬件共享的数据结构称为工作队列。

RDMA工作队列(WQE)与硬件交互架构图

驱动程序将工作请求(Work Requests)添加到工作队列(Work Queue),形成工作队列条目(WQEs)。RDMA硬件处理这些WQEs,并通过内存和RDMA网络将其传输到接收方的工作队列。接收方硬件向发送方硬件发送确认信息,在内存的完成队列(Completion Queue)中生成完成队列条目(CQEs)。

RDMA队列类型包括发送队列、接收队列、完成队列和队列对。共享接收队列 (SRQ) 允许所有关联的队列对共享一个接收队列。

4.4 RDMA Verbs API

RDMA 动词为应用程序可访问的 RDMA 功能和操作提供抽象。动词 API 是具体的实现,为应用程序调用提供标准接口。在RoCEv2中,动词操作主要分为以下几类:

  • 发送/接收:在客户端/服务器模型中,发送和接收操作相互协作,接收方在发送方连接之前进行监听。发送方和接收方彼此不知道对方的虚拟内存位置,因此需要预先注册内存区域才能进行直接内存操作。
  • 写/读:与客户端/服务器模型不同,写/读操作由请求方发起,响应方保持被动。请求方必须预先获取响应方的地址和密钥才能访问响应方的内存。

五、AWS SRD高性能网络

5.1 AWS SRD和EFA概述

SRD(可扩展可靠数据报)是AWS的高性能、低延迟网络传输协议,而EFA(弹性网络适配器)则是AWS EC2实例的高性能网络接口

  • SRD利用标准以太网优化传输协议,灵感源自 InfiniBand 的可靠数据报,但针对使用 AWS 多路径骨干网络的大规模云工作负载进行优化。
  • EFA支持使用MPI的高性能计算 (HPC) 应用和使用NVIDIA NCCL的机器学习 (ML) 应用,可扩展至数千个CPU或GPU。EFA提供可靠的无序传输功能,数据包重排序由libfabric处理。

AWS增强网络与带EFA的增强网络架构对比图

5.2 为什么选择SRD而不是TCP或RoCE

由于TCP的重传延迟较高,AWS认为不适合应对延迟敏感的工作负载,通常会导致25微秒到50毫秒甚至更长的延迟。虽然InfiniBand为高性能计算 (HPC) 提供高吞吐量和低延迟,但由于RoCEv2中的优先级流控制(PFC)存在问题,导致队头阻塞、拥塞扩散和潜在的死锁,因此其可扩展性不足。SRD针对大型数据中心进行优化,提供多路径负载均衡、快速恢复、发送方控制的ECMP、专用拥塞控制算法以及可靠但无序的交付,这些功能已在AWS Nitro卡中实现,以最大限度地减少操作系统和虚拟机管理程序的干扰。

5.3 SRD特性:多路径负载均衡

Scalable Reliable Datagram (SRD) 低延迟架构示意图

AWS SRD可确保跨多路径实现最佳负载均衡,从而最大限度地减少丢包和拥塞。 核心机制是将数据包分散到可用路径上,即使在单个应用程序流中也是如此,以减少热点出现并检测次优路径。 这种动态路径选择能力确保与传统的非多路径流量公平共享网络资源。当网络出现故障时,SRD会快速重新路由重传的数据包,从而实现从链路故障中快速恢复,保证服务的高可用性。

5.4 SRD特性:无序交付

多路径负载均衡本质上会导致数据包重排序,但网络内重排序成本高昂且受限于网卡资源。SRD通过将可能无序的数据包直接传递给主机来解决这个问题。在网络内处理数据包重排序需要大量的内存带宽和重排序缓冲区容量,而这些通常是网卡所缺乏的。在基于消息的语义中保持数据包顺序是可行的,因为应用程序可以通过更高层的消息传递层来管理无序数据包。

这种方法避免对大型缓冲区的需求,并降低平均延迟,从而防止因延迟过大和不必要的重传而导致的数据包丢失。 虽然在TCP等字节流协议中重排序数据包是不切实际的,但在基于消息的协议中是可以管理的,因为SRD保持透明,将消息层排序留给应用程序处理。

5.5 SRD特性:拥塞控制

当多个数据流汇聚到单个交换机接口时,就会发生内嵌拥塞,导致缓冲区空间耗尽并造成丢包。虽然多路径喷射可以减轻中间交换机的负载,但并不能完全解决内嵌拥塞问题。

SRD的拥塞控制旨在以最小的在途数据量实现公平的带宽共享,从而防止队列积压和丢包。 喷射可能会加剧内嵌拥塞问题,因为来自同一发送方的数据包可能通过不同的路径同时到达,导致缓冲区过载。为了缓解这种情况,SRD确保所有路径的聚合队列长度保持在最小值,并根据从确认时间推导出的速率估计值来调整传输速率。通过维持最小的队列长度并考虑最近的传输速率和往返时间 (RTT) 的变化,SRD可以优化带宽分配,即使在高负载情况下也能确保高效的数据传输。

六、微软Fungible TrueFabric

TrueFabric基于标准UDP/IP以太网,旨在提升数据中心的性能、可扩展性、可靠性和安全性。支持服务器与Spine交换机的直接连接,适用于中小型部署;同时支持Spine-Leaf拓扑结构,适用于更大规模的部署。

TrueFabric是一种开放标准的网络技术,能够显著提升数据中心的性能、成本效益、可靠性和安全性,支持从几台服务器到数千个机架的集群。随着数据中心横向扩展,所有服务器节点通过可靠的高性能局域网连接起来,TrueFabric解决TCP/IP固有的瓶颈问题。

局域网速度比广域网速度高出几个数量级,这使得TCP/IP成为性能瓶颈。尽管尝试将TCP处理卸载到其他设备,但要清晰区分CPU任务和卸载引擎任务仍然具有挑战性。网络接口和SSD设备性能的快速提升,加上东西向流量的增长以及I/O技术和应用的进步,给网络协议栈带来巨大的压力。TrueFabric的各项功能是通过基于标准UDP/IP以太网的Fabric控制协议 (FCP) 实现的。

TrueFabric支持多种部署规模:

  • 小型到中型:服务器直接连接到 Spine 交换机。
  • 大型:两层脊叶式交换机拓扑结构,并有可能支持三层或更多层以适应更大的网络。
  • TrueFabric的网络部署包括四种类型的服务器:CPU服务器、AI/数据分析服务器、SSD服务器和HDD服务器,每种服务器都配备一个可互换的DPU。

Fungible DPU™在各类计算与存储节点中的部署架构图

TrueFabric/FCP的主要功能:

  1. 可扩展性:TrueFabric采用统一的互连拓扑,支持从使用100GE接口的小型集群到使用400GE接口的数十万台服务器的大型部署的平滑扩展,并能实现增量扩展而无需网络停机。
  2. 全截面带宽:该架构为任何节点对之间的通信提供完整的、无阻塞的带宽,并能高效处理短小的交互式消息,从而支持服务器间频繁的协同通信。
  3. 低延迟和低抖动:TrueFabric不仅确保流量始终走最短路径以实现最低延迟,还能在超过90%的高负载下严格抑制尾部延迟,保证延迟的可预测性。
  4. 公平性:系统在微秒粒度上实现竞争节点之间以及同一节点内部不同数据流之间的网络带宽公平分配,其分配策略基于IP包的服务质量等级。
  5. 拥塞避免:通过内置的主动拥塞避免机制,TrueFabric能够基本消除因拥塞导致的数据包丢失,即使在高负载下也是如此,且该机制不依赖网络交换机的特定功能。
  6. 容错:TrueFabric具备强大的故障检测和恢复能力,能够从各种网络故障中快速恢复,其错误恢复速度比传统路由协议快五个数量级。
  7. 软件定义的安全和策略:它提供基于AES的端到端加密,并能通过软件配置将网络划分为多个隔离的加密域,实现域内任意互联而域间严格禁止通信的细粒度安全控制。
  8. 开放标准:基于标准IP以太网构建,TrueFabric能够与现有TCP/IP网络完全互操作,允许使用商用交换设备,并支持DPU与普通服务器混布,从而兼具灵活性和成本效益。

七、阿里云HPCC和eRDMA

阿里云HPCC(高精度拥塞控制)利用INT(网络内遥测)获取精确的链路负载信息,实现精准的流量更新和快速的负载调整,从而维持高链路利用率和低拥塞率。HPCC解决大规模 RDMA 网络中低延迟、高带宽利用率和稳定性之间的平衡难题。传统的RDMA拥塞控制机制,例如DCQCN和 TIMELY,存在收敛速度慢、数据包排队不可避免以及参数调优复杂等局限性。

HPCC利用INT进行网络流量控制示意图

HPCC允许发送方快速调整流量,以实现高利用率或避免拥塞。发送方可以将每条链路的输入速率维持在略低于其容量的水平,从而确保高利用率。HPCC基于交换机的直接测量数据进行速率计算,仅需三个独立参数即可平衡公平性和效率。与DCQCN和TIMELY相比,HPCC对可用带宽和拥塞情况的响应速度更快,能够将队列长度控制在接近零的水平。

eRDMA与RDMA(RoCE)架构对比图

阿里云最新eRDMA架构与优势图

弹性RDMA (eRDMA) 将传统的RDMA优势扩展到虚拟私有云 (VPC) 网络,提供高吞吐量、低延迟、大规模的RDMA网络,支持动态添加设备,并兼容HPC和TCP/IP应用。

eRDMA的主要优势:

  1. 高性能:绕过内核协议栈,直接将数据从用户空间程序传输到HCA,显著降低CPU负载和延迟。eRDMA保留传统RDMA网卡的优势,同时将 RDMA 技术扩展到 VPC 网络。
  2. 可扩展部署:传统的RDMA需要无损网络环境,这使得大规模部署成本高昂且极具挑战性。eRDMA采用自主研发的拥塞控制算法,能够容忍各种网络状况(延迟、丢包),即使在有损环境下也能保持良好的性能。
  3. 弹性扩展:与需要专用硬件的传统RDMA网卡不同,eRDMA可以在 ECS 使用期间动态添加设备,支持热迁移和灵活部署。
  4. 共享VPC网络:eRDMA连接到弹性网络接口 (ENI),完全重用网络而不更改业务网络配置,无缝激活RDMA功能。

八、新兴的超以太网Ultra-Ethernet

成立于2023年7月的超以太网联盟(UEC)旨在超越现有以太网的性能,为人工智能和高性能计算(HPC)提供优化的高性能、无损传输层。

UEC开放、可互操作的高性能通信协议栈将解决可扩展性、带宽密度、多路径路由、快速拥塞响应和流间依赖性等问题。UEC致力于开发开放协议标准和软件,以支持大规模人工智能和高性能计算网络实现高效、公平和低延迟的数据传输。

人工智能和高性能计算给网络带来新的挑战,例如需要更大的规模、更高的带宽密度、多路径能力、快速的拥塞响应以及执行单个数据流依赖关系,其中尾延迟是一个关键考虑因素。UEC规范旨在解决这些差距,为这些工作负载提供必要的规模。

UEC的技术目标:

  • 协议和信号特性:定义以太网的通信协议、电信号和光信号特性以及应用接口/数据结构。
  • 链路级和端到端传输协议:开发可扩展或可替换的现有链路和传输协议。
  • 拥塞、遥测和信令机制:实现适用于人工智能、机器学习和高性能计算环境的机制。
  • 支持多样化的工作负载:提供软件、存储、管理和安全方面的结构。
  • 开放协议标准:设计用于在 IP 和以太网上运行,与标准 TCP/IP 完全互操作。
  • 多路径和数据包喷射传输:利用 AI 网络功能防止拥塞或队头阻塞,从而无需集中式负载均衡算法和路由控制器。
  • 内嵌管理:通过在到目标主机的最终链路上进行内嵌管理,最大限度地减少数据包丢失。
  • 高效的速率控制算法:允许快速提升传输速率至线路速度,而不会影响竞争流量。
  • 无序数据包交付 API:支持选择性消息完成,最大限度地提高网络和应用程序并发性,并最大限度地减少消息延迟。
  • 可扩展的未来网络:支持多达 1,000,000 个端点。
  • 最佳网络利用率:在商用硬件上实现线速性能,无需特定的拥塞算法参数调整。
  • 高速以太网:旨在商用硬件上实现 800G、1.6T 以及未来更快以太网的线速性能。

九、全球高性能互联网络

随着5G基础设施的广泛部署以及多媒体应用、自动驾驶汽车和VR/AR技术的日益普及,全球网络对吞吐量、实时性能和稳定性提出更高的要求。

Agora的SD-RTN(软件定义实时网络)等技术利用SDN架构和智能路由,实现400毫秒以内的全球端到端延迟控制,从而增强全球实时通信能力。

Agora软件定义实时网络(SD-RTN)全球架构图

十、总结

构建高性能网络需要在具体技术优化和整体系统架构两个层面进行协同设计。技术优化是提升性能的直接手段,而系统分层设计则是实现这些技术、并保证系统可演进、可维护的基石。

1、高性能网络优化技术手段

为实现低延迟、高可靠性和高网络利用率的目标,需要综合运用多种关键优化技术:

  • 基础设施升级:最基础的优化是提升网络底层容量,例如将服务器接入带宽从25Gbps升级到100Gbps甚至更高,并为网络设备(如Spine、Leaf交换机)提供充足的端口和互联线路,从根本上扩大网络吞吐能力。
  • 协议栈轻量化与硬件卸载:鉴于数据中心网络物理距离短、对延迟极其敏感的特性,可以摒弃或简化复杂的传统TCP/IP协议栈(如使用RDMA、专用通信库)。进一步,将网络协议处理(如校验和、加解密、协议解析)通过智能网卡(DPU/IPU)或专用芯片进行硬件加速,彻底解放CPU。
  • 高级数据传输策略:在软件定义网络层面,采用创新技术来优化数据传输路径和效率。
  • 多路径负载均衡与乱序交付:如AWS SRD技术,将数据流分散到多条物理路径上传输,以避免拥塞热点,并允许数据包乱序到达接收端,由专用驱动(如EFA)或库(如Libfabric)进行重组,从而显著降低延迟和抖动。
  • 智能拥塞控制:采用主动的、基于测量的拥塞控制算法,而非依赖网络设备的丢包信号,以最小化的网络队列长度实现公平的带宽共享,从而避免拥塞丢包,即使在90%以上的高负载下也能保持高可靠性。
  • 并行处理:在网络栈的各个层面,利用多核、多队列技术并行处理数据包,充分挖掘硬件性能。

2、基于分层的系统设计哲学

上述技术的有效实施,依赖于一个精心设计的、模块化的系统分层架构。

  • 分层抽象与模块化:高性能网络系统应由多个清晰的分层(如硬件层、驱动层、协议层、应用接口层)组成。每一层应作为独立的模块,通过标准化的接口为上层提供服务并屏蔽底层复杂性。这种设计允许针对特定业务需求(如HPC、AI训练)对关键层进行定制化优化(例如,为AI训练优化通信库),而无需改动整个栈。
  • 跨层协同优化:虽然分层要求模块间解耦,但各层绝非孤立黑盒。要实现极致性能,必须进行全栈优化。这意味着需要理解上下层的行为与需求,优化层间交互接口(如减少数据拷贝、优化中断处理),甚至允许进行跨层的信息交换(如将网络拥塞状态直接反馈给应用层)。
  • 持续演进:网络技术、硬件和工作负载在不断变化。因此,每一个分层本身、分层之间的接口以及整个系统都需要持续不断地优化和演进,以适应新的业务需求和技术趋势。

总结而言,高性能网络的实现是一场“战术”与“战略”的紧密结合:通过采用先进的硬件与传输技术作为“战术”手段解决具体性能瓶颈,同时依托于一个模块化、可协同优化的分层系统“战略”设计,来整合这些技术,并确保系统具备长期的适应性和可扩展性。

想深入了解更多关于云原生人工智能基础设施的技术讨论,欢迎持续关注云栈社区的分享。




上一篇:NVIDIA Spectrum-X:用动态路由与无损RoCE突破AI网络性能瓶颈
下一篇:分布式超级计算数据中心无损网络剖析:支撑AI训练与长距互联的九大关键技术
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-14 08:25 , Processed in 0.453212 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表