news 2026/1/17 9:04:50

IB、RocE、RDMA、TCP/IP:AI Scale-Out的基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IB、RocE、RDMA、TCP/IP:AI Scale-Out的基础

一、背景:分布式系统与Scale-Out 架构

在讲解 Scale-Out(横向扩展)之前,先介绍一下分布式系统的概念。

当计算机系统发展成熟后,单一系统往往面临单点故障和性能瓶颈的问题。为解决这些问题,出现了两个主要发展方向:

一个方向是发展双控系统。 常见的是两个系统共享存储资源,工作在AA模式(Active-Active,主主模式) 或 AP模式(Active-Passive,主备模式)。以集中式双控存储 SAN 为例,存储的两个控制器通过 SAS 双端口 可访问同一组硬盘,故障时可在控制器间无缝切换。硬盘层面通过 RAID 技术 避免单点故障,从而实现端到端的高可用性。这种方式对硬件设计要求高,需考虑共享内存、SAS 双端口等定制化设计,因此成本较高。

另一个方向是发展分布式系统,如云计算、大数据 Hadoop、分布式文件系统 Lustre、分布式存储 Ceph 等。其主要特点是系统之间通过网络互联,节点可采用标准服务器硬件,无需定制。通过协议与软件,在不可靠的硬件之上构建可靠、可扩展的系统,是分布式系统的核心理念。因此硬件成本相对较低,但软件系统复杂度显著增加。

这种通过增加节点来扩展系统能力的方式,即为 Scale-Out(横向扩展)。

早期分布式系统多基于以太网上的 TCP/IP 协议 进行通信,节点间通信效率不高。因此,在一些非必须使用 TCP/IP 的场景中,通信协议逐渐转向 RDMA,其底层支持两种主要技术:InfiniBand 和 RoCEv2(基于增强型以太网)。

图1 从单一系统到分布式系统

二、InfiniBand 标准的起源

笔者最初接触 InfiniBand 是通过 Mellanox 公司,曾以为它是 Mellanox 私有的协议,后来查阅资料才知 InfiniBand(简称IB)是由标准组织制定的开放协议。

InfiniBand 起源于 1999 年,旨在解决服务器内部 PCIe 总线与外部网络(如千兆以太网)之间的性能瓶颈,其愿景是统一内部 I/O 与外部网络通信。

该标准由 InfiniBand Trade Association(IBTA) 维护,官网为https://www.infinibandta.org/。

IBTA 由以下两个早期 I/O 标准合并而成:

- 下一代 I/O(NGIO):由 Intel、Sun、Dell 等公司主导。

- 未来 I/O(Future I/O):由 IBM、HP、康柏(Compaq)等公司主导。

下图展示了当前 IBTA 的主要成员。值得注意的是,NVIDIA 于 2020 年以 69 亿美元收购了 Mellanox,这一布局显著强化了其在高性能网络与 AI 基础设施领域的地位。

图2 IBTA 组织成员

InfiniBand 最初目标宏大,希望同时取代服务器内部的板级总线(如 PCI)和外部网络(如以太网),用统一互联技术构建数据中心。然而,PCIe 和基于以太网的 TCP/IP 协议已建立强大生态,难以全面替代。因此,IB 最初的突破点选择了对网络性能要求极高的 高性能计算(HPC) 领域。

Mellanox 是早期将 IB 商业化并推向 HPC 市场的关键推动者。该公司成立于 1999 年,2001–2003 年推出了全球首批 InfiniBand 主机通道适配器(HCA)和交换芯片。首个重要落地系统是美国能源部的 ASCI Q 超级计算机(2003 年于洛斯阿拉莫斯国家实验室上线),该系统使用 Mellanox 的 InfiniBand 技术连接上万个 Alpha 处理器节点。

如今,InfiniBand 已不仅限于 HPC,更广泛用于 AI 大规模训练、云计算、云存储 等场景。例如存储领域的 NVMe over Fabric(NoF) 协议中的“Fabric”常指基于 InfiniBand 或RoCE的 RDMA 网络。

三、RDMA 是什么?

RDMA(Remote Direct Memory Access,远程直接内存访问) 是 InfiniBand 协议栈顶层的软件接口,为应用程序提供 verbs 调用接口,实现高效的数据传输。

在介绍 RDMA 之前,先理解 DMA(Direct Memory Access,直接内存访问) 的概念。

图3 DMA 操作示意

如图3所示,传统的数据操作需经过 CPU 读写,这会占用 CPU 资源。对于网络、存储这类数据量大的 I/O 设备,若所有数据都经 CPU 搬运,会导致 CPU 忙于数据传输而无法执行计算任务。

因此,大多数 PCIe I/O 设备(如网卡)内置 DMA 引擎。在图3示例中,网卡内部的 DMA 引擎在 CPU 驱动控制下,自动将数据从网卡缓冲区搬运到系统内存的指定位置。图中浅蓝色粗箭头表示控制通道,绿色粗箭头表示数据通道。

CPU 仅需通过驱动程序控制网卡,准备 DMA 描述符(如指定 RX/TX Ring 在内存中的地址),后续的数据收发则由 DMA 引擎自动完成。控制命令的数据量很小,与数据传输相比可忽略不计。

图3除了呈现DMA之外,左下角也同时呈现了网络数据传输与Linux内核TCP/IP协议的内存管理的关系,左下角的三个黄色框分别表示:

1. 用户态缓冲区:应用程序通过 socket 调用(如 send/recv)使用的内存地址。

2. 内核态缓冲区(sk_buff):Linux 内核 TCP/IP 协议栈使用的缓冲区。

3. 网卡 DMA 缓冲区(RX/TX Ring):驱动申请并提供给 DMA 引擎直接访问的内存区域。

数据在用户态、内核态和网卡缓冲区之间往往需要多次拷贝,这也是 TCP/IP 协议效率较低 的原因之一。Linux 内核虽持续优化(如零拷贝技术),但完全消除拷贝仍需解决内存管理等多重挑战。具体做到什么程度,需要查看对应的Linux内核与网络驱动程序的实现。

RDMA 将 DMA 思想扩展到跨系统通信。两台主机通过网络传输数据时,CPU 仅需下发控制命令,实际数据传输由网卡上的 RDMA 引擎 自动完成(图4、图5中浅蓝色为控制流,绿色为数据流)。

目前支持 RDMA 的网卡仍为 PCIe 设备,数据搬运通过 PCIe 总线进行。在现代计算机体系中,内存地址与 PCIe 映射地址统一编址,因此 RDMA 的源地址和目的地址既可以是系统内存,也可以是 PCIe 设备内存(如 GPU 显存)。

图4展示了两系统内存间的 RDMA 传输,图5展示了两个 GPU 显存间的 RDMA 传输。

值得强调的是,InfiniBand 原生的 RDMA 可实现端到端的零拷贝。应用程序的 send/recv 缓冲区可直接作为 RDMA 操作的缓冲区,无需经过内核协议栈和多层缓冲区拷贝,从而大幅提升效率。

图4 系统内存间的 RDMA 传输

图5 GPU 显存间的 RDMA 传输

四、InfiniBand、RoCE 及 RDMA

随着 InfiniBand 在 HPC 领域的成功,其应用逐渐扩展至 AI 大规模训练等领域,RDMA 的高效性也得到广泛认可。

IB 协议栈采用分层设计,其上层的 RDMA 协议也可由其他底层协议承载,由此诞生了 RoCE(RDMA over Converged Ethernet),即基于增强以太网的 RDMA 实现。

协议栈对比如图6所示:

- 黄色部分为 IB 与 RoCE 共同支持的 RDMA 上层协议。

- 下方分别为 IB 原生协议栈和 RoCEv2(基于 UDP/IP 的增强以太网协议栈)。

图6 IB 与 RoCE 协议栈对比

图7概括了 IB 的核心技术优势,图8对比了 IB 与 RoCE 的主要区别。

总体而言:

- InfiniBand 是原生一体化的协议栈,提供最优的 RDMA 实现,具备低延迟、高可控性和端到端拥塞控制等优势。

- RoCEv2 是在以太网上实现 RDMA 的次优方案,其通过 PFC/ECN 实现无损传输,使用 UDP 简化协议处理,但延迟和可控性略逊于 IB。其优势在于基于普及的以太网硬件,成本低、组网灵活。然而,RoCE 对无损网络设计要求高,部署和维护复杂度不低,对运维团队提出较大挑战。

图7 IB 核心技术优势(图片来源:千问)

图8 IB 与 RoCE 总体对比(图片来源:千问)

小结

在 AI Scale-Out 架构中,RDMA 已成为提升节点间通信效率的关键技术。InfiniBand 以其原生一体化设计提供最优性能,尤其适用于超算与大规模AI训练;RoCEv2 则凭借以太网生态优势,在企业云与存储网络中广泛部署。选择时需综合考虑性能、成本、运维复杂度与生态兼容性。随着 AI 与云计算的深度融合,高效、可扩展的网络互联技术将持续演进,支撑下一代分布式智能系统的发展。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/14 14:53:50

14、创建高级控件与视觉效果:从过渡容器到流行特效

创建高级控件与视觉效果:从过渡容器到流行特效 1. 过渡容器的引入与概念 在应用程序中,视图之间的过渡效果能为用户提供更好的视觉反馈,引导用户操作,避免界面信息的突然切换给用户带来的不适。就像在 PowerPoint 演示中,过渡效果能让幻灯片平滑切换。我们将这一概念应用…

作者头像 李华
网站建设 2025/12/25 3:37:58

21、WPF 中的命令系统详解

WPF 中的命令系统详解 1. WPF 中的弱事件模式 WPF 提供了几种不同的弱事件模式实现。其中一种是针对 INotifyPropertyChanged.PropertyChanged 事件的,由 System.ComponentModel.PropertyChangedEventManager 提供,主要用于数据绑定场景。此外,还有针对集合更改事件、…

作者头像 李华
网站建设 2026/1/4 10:39:18

Pytest框架环境切换实战教程!赶快收藏

测试人员每天都跟不同的环境打交道,比如线上环境,测试环境,预上线环境等等,那么作为自动化测试人员写的代码,我们也要具备能自由切换环境的能力,那么今天小编就给大家聊一下,如何能让我们python…

作者头像 李华
网站建设 2026/1/14 9:22:06

青年人才托举必备丨青年人才托举工程项目申报答辩PPT制胜攻略

青年人才托举工程PPT是你个人学术品牌的集中展示。从清晰的逻辑架构到专业的视觉表达,再到自信的现场讲述,每一个环节都需要精心准备。一、青年人才托举工程申报答辩PPT核心内容模块设计一份成功的答辩PPT,需要将你的学术故事清晰地呈现给评委…

作者头像 李华
网站建设 2025/12/25 3:34:38

告别复杂流程:GPT-SoVITS简化语音模型训练路径

告别复杂流程:GPT-SoVITS简化语音模型训练路径 在虚拟主播直播带货、AI配音生成有声书、智能助手模仿家人声音的今天,个性化语音合成已不再是实验室里的“黑科技”,而是逐渐走入日常生活的实用工具。然而,传统语音克隆系统动辄需要…

作者头像 李华
网站建设 2026/1/14 14:53:49

AIGC检测模块升级背景下,论文降AI处理的三个核心原则。

2025年高校查重系统全面升级,知网、维普、万方等平台AIGC检测模块精准度高(数据来源:2025学术检测白皮书)。许多同学用AI辅助写作后,发现论文充满AI味:固定句式扎堆、词汇重复率高、逻辑衔接生硬... 最终导…

作者头像 李华