近年来,人工智能、分布式训练和分布式存储技术快速发展,对网络传输性能提出了更高要求。但传统以太网在延迟、吞吐量和 CPU 资源消耗方面存在先天不足。在这一背景下,RDMA(Remote Direct Memory Access,远程直接内存访问)技术凭借卓越的性能,逐渐成为满足高性能计算需求的优选方案。
远程直接内存访问(RDMA)是一种革命性的网络技术,允许网络中计算机直接在主内存中交换数据,无需涉及任一计算机的处理器、缓存或操作系统。这种零拷贝网络方式显著降低了延迟并提高了吞吐量,使RDMA成为高性能计算(HPC)、数据中心、云环境和AI/ML等领域的关键技术。
历史与演变
RDMA的起源可以追溯到20世纪90年代末,最初以Virtual Interface Architecture (VIA)和InfiniBand等技术出现,旨在通过绕过操作系统内核减少网络通信开销。2000年代中期,RDMA联盟(RDMA Consortium)推动了基于以太网的RDMA标准化,催生了iWARP(互联网广域RDMA协议)和RoCE(基于收敛以太网的RDMA),使RDMA的应用扩展到标准以太网网络。
近年来,RDMA的采用在云环境和AI工作负载中持续增长,特别是在NVMe over Fabrics(NVMe-oF)等存储技术中发挥重要作用。
1995年:Von Eicken提出远程内存访问概念,奠定RDMA理论基础。
1999年:InfiniBand Trade Association(IBTA)成立,推出首个支持RDMA的专用网络协议。
2007年:iWARP协议发布,基于TCP/IP实现RDMA,但性能受限。
2010年:RoCEv1(RDMA over Converged Ethernet)标准发布,基于以太网链路层。
2014年:RoCEv2引入UDP/IP协议,支持路由和拥塞控制,成为数据中心主流方案。
2016年:阿里云率先在4000台服务器上部署RoCEv2,开启RDMA在云计算的大规模应用。
2020年:NVIDIA收购Mellanox,推动InfiniBand与GPU加速计算的深度融合。
技术概述
传统以太网方案存在三个缺点:send/sendto 等系统调用导致 CPU 在用户态和内核态之间切换,消耗大量时间;发送过程中需要 CPU 把数据从用户空间复制到内核空间(接收时反向复制),增加了数据传输延时;需要 CPU 全程参与数据包的封装和解析,在数据量大时将对 CPU 将造成很重的负担。
RDMA 技术可以解决上述三个问题:首先,其在数据传输过程中没有系统调用;然后,在系统内存内部做到零拷贝,省掉了数据在用户空间和内核空间之间拷贝的步骤。最后,把数据包的封装和解析交由网卡硬件来做,降低了 CPU 负载。
RDMA通过专门的网络适配器(RNIC)实现直接内存访问,绕过CPU和操作系统内核。其核心组件包括队列对(Queue Pairs, QPs)用于通信,以及内存区域(Memory Regions)用于数据存储。RDMA操作的基本流程包括:
握手:请求方和响应方交换内存地址和访问密钥。
创建请求:请求方创建READ、WRITE或ATOMIC操作请求。
发送请求:请求发送至响应方。
直接内存访问:响应方的NIC根据请求直接访问其内存。
响应:对于READ或ATOMIC操作,数据返回请求方。
这种方式显著降低了延迟,例如,与TCP/UDP相比,RDMA的延迟可低10倍。
RDMA的实现方式
RDMA 指的是一种远程直接内存访问技术。具体到协议层面,它主要包含了 Infiniband(IB),RDMA over Converged Ethernet(RoCE)和 Internet Wide Area RDMA Protocol(iWARP)三种协议。三种协议都符合 RDMA 标准,共享相同的上层用户接口(Verbs),只是在不同层次上有一些差别。
RDMA有多种实现方式,各有特点:
这些实现的性能和成本存在争议,例如,InfiniBand在HPC中表现优异,而RoCE更适合现有以太网基础设施,iWARP则因TCP开销在大规模数据中心中可能面临扩展性问题(NADDOD Blog)。
Infiniband(无限带宽)),是一种专门为 RDMA 而生的技术,由 IBTA(InfiniBand Trade Association, InfiniBand 贸易协会)在 2000 年提出,因其极致的性能(能够实现小于 3 μs 时延和 400Gb/s 以上的网络吞吐),在高性能计算领域中备受青睐。 但注意的是,构建 Infiniband 网络需要配置全套专用设备,如专用网卡、专用交换机和专用网线,限制了其普及性。其次,它的技术架构封闭,不兼容现有的以太网标准。这意味着,绝大多数通用数据中心都无法兼容 Infiniband 网络。尽管存在这些局限,InfiniBand 仍因其极致的性能成为特定领域的首选。例如,全球流行的人工智能应用 ChatGPT 背后的分布式机器学习系统,就是基于 Infiniband 网络构建的。
iWRAP(Internet Wide Area RDMA Protocol,互联网广域 RDMA 协议)是一种将 RDMA 封装在 TCP/IP 协议中的技术。RDMA 旨在提供高性能传输,而 TCP/IP 侧重于可靠性,其三次握手、拥塞控制等机制削弱了 iWRAP 的 RDMA 技术优势,导致其性能大幅下降。因此,iWRAP 由于先天设计上的局限性,逐渐被业界淘汰。
为降低 RDMA 的使用成本,并推动其在通用数据中心的应用,IBTA 于 2010 年发布了 RoCE(RDMA over Converged Ethernet,融合以太网的远程直接内存访问)技术。RoCE 将 Infiniband 的数据格式(IB Payload)“移植”到以太网,使 RDMA 能够在标准以太网环境下运行。只需配备支持 RoCE 的专用网卡和标准以太网交换机,即可享受 RDMA 技术带来的高性能。RoCE 在发展过程中演化出两个版本:
RoCEv1:基于二层以太网,仅限于同一子网内通信,无法跨子网传输;
RoCEv2:基于三层 IP 网络,支持跨子网通信,提高了灵活性和可扩展性。
RoCEv2 克服了 RoCEv1 不能跨子网的限制,并凭借其低成本和良好的兼容性,在分布式存储、并行计算等通用数据中心场景中得到广泛应用。根据微软 Azure 公开信息,截至 2023 年,Azure 数据中心中 RDMA 流量已占总流量的 70%。
RDMA 网络对丢包极为敏感,任何数据包丢失都可能触发大量重传,严重影响传输性能。Infiniband 依赖专用设备确保网络可靠性,而 RoCE 构建在标准以太网上,实现 RDMA 通信。因此,RoCE 网络需要无损以太网支持,以避免丢包对性能造成重大影响。目前,大多数数据中心采用 DCQCN(由微软与 Mellanox 提出)或 HPCC(由阿里巴巴提出)算法,为 RoCE 网络提供可靠性保障。
利用RDMA over Converged Ethernet (RoCE) v2技术创建RDMA超级集群,单一集群可以拓展至32,768个NVIDIA A100 GPUs,节点之间的延迟为微秒,GPU之间的带宽可达200Gb/sec;
A100 GPUs:每台服务器1,600 Gb/sec带宽,单个GPU 200Gb/sec带宽;
H100 GPUs:每台服务器3,200 Gb/sec带宽,单个GPU 400Gb/sec带宽;
单节点8个GPU,全双工(Full-Duplex)连接到网络结构。以BM.GPU4.8为例,单节点配置8颗NVIDIA A100 GPUs,共1,600 Gb/sec,全双工(Full-Duplex)连接到网络结构,延迟可低至2微秒
使用案例
RDMA在多个领域表现出色,包括:
高性能计算(HPC):用于科学模拟、天气建模和计算流体动力学等需要快速节点间数据交换的场景。
数据中心和云计算:提升存储网络、超融合基础设施和云平台的性能。
金融服务:在高频交易(HFT)中降低延迟,确保交易效率。
大数据和AI/ML:处理大型数据集,加速机器学习训练。
媒体工作流:支持4K、8K和DPX视频的高带宽、低延迟传输,例如,ELEMENTS BOLT可实现每机箱70 GB/s的性能(ELEMENTS Media Storage)。
存储:通过NVMe-oF实现快速网络存储访问。
性能数据显示,在25GbE网络下,RoCE相比TCP可提高30%的读写带宽,在100GbE下,128KB块大小时带宽可提升2-3倍,2KB/8KB块时IOPS提高1.5倍(ELEMENTS Media Storage)。
优势与劣势
优势:
低延迟和高吞吐量,适合需要快速数据传输的场景。
减少CPU使用率,释放资源用于其他任务。
在集群环境中具有良好的扩展性。
劣势:
成本高,尤其是InfiniBand需要专用硬件。
设置和配置复杂,例如RoCE需要无损以太网支持。
不同实现方式之间可能存在互操作性问题。
直接内存访问可能带来安全风险,需要额外管理。
当前趋势与未来方向
RDMA技术的发展趋势包括:
在云环境和AI工作负载中的广泛采用,例如,支持GPU直接RDMA(GPUDirect RDMA)。
与数据处理单元(DPU)和基础设施处理单元(IPU)集成,增强网络任务卸载能力。
更高带宽的RDMA适配器开发,当前已达到400 Gb/s以上。
标准化努力,使RDMA更像TCP一样成为即插即用的解决方案。
产业链相关股票
RDMA技术的产业链涵盖芯片设计、硬件制造、协议开发、网络设备、云服务及开源生态等多个环节,涉及众多企业:
英伟达NVIDIA(Mellanox):主导InfiniBand和RoCE协议,提供高性能RDMA网卡(如ConnectX系列),支持HDR 200G/400G等规格。Mellanox被NVIDIA收购后,其技术在AI和高性能计算中广泛应用。
英特尔Intel:提供支持RoCE和iWARP协议的网卡(如E810、XL710系列),同时推动以太网RDMA生态发展。
博通Broadcom:通过交换芯片(如Tomahawk系列)支持RoCE流量控制,并与网卡厂商合作优化端到端RDMA性能。Tomahawk系列芯片被广泛应用于数据中心交换机,优化RDMA传输。
Marvell(QLogic/Cavium):提供支持iWARP和RoCE的以太网控制器,曾是光纤通道市场的主要供应商。
Chelsio:专注于iWARP协议,提供基于TCP/IP的RDMA解决方案。
华为:自主研发支持RoCEv2的网卡和交换机,推动国产化RDMA生态。
中兴通讯(SZ:000063)/锐捷网络(SZ:301165)/紫光股份(000938.SZ)旗下的新华三:提供RoCE兼容的以太网交换机,支持无损网络配置。
联瑞电子 :与Marvell合作开发服务器级RDMA网卡,逐步转向自主设计。
思科/Arista:提供支持RoCE流量控制的高性能交换机,与博通芯片深度集成。
奇异摩尔:基于RDMA和Chiplet技术优化算力网络互联,定义下一代AI计算架构
浪潮信息(SZ:000977): iRDMA 是浪潮信息体系结构研究部利用自研 F10A FPGA 加速卡,基于 Linux 内核 IB 驱动架构和 rdma-core 开源协议栈,开发的一套 RDMA 网络加速平台,用户可在其基础上进行二次开发。
结论
RDMA通过硬件卸载和协议创新,已成为高性能网络通信的核心技术。尽管面临安全与部署复杂性的挑战,但随着RoCEv2的普及和开源生态的成熟,RDMA技术成为现代高性能计算和数据中心架构的核心,提供显著的数据传输效率提升,RDMA将在AI、云计算及边缘计算中持续释放潜力,推动算力基础设施的全面升级。
本文分享自 Dance with GenAI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!