(本文首发于 知乎

各大互联网公司基本上都在部署 RDMA 技术,目前主要的场景就是存储和 AI/HPC,主要分为两个技术路线,RoCEv2 和 Infiniband。

RoCEv2 是 RDMA over Ethernet,就是在传统的数据中心以太网络上面跑 RDMA 协议。Infiniband(IB)的历史就更长了,上世纪 80 年代的 HPC 高性能计算集群用的都是 IB。

RDMA 网卡目前的老大是 NVIDIA 收购的 Mellanox。可以说,RoCEv2 是社区版 RDMA,Infiniband 是企业版 RDMA。社区版的优势在于开放,可配置的东西多,但这也是它的缺点,只有网络专家才能玩得转。而且大规模 RoCEv2 集群还不是一个网络专家就能玩得转的,需要一个团队来搞定 PFC 风暴问题和网卡交换机各种奇奇怪怪的问题。当然,如果只有几台机器和一个交换机,网卡都是同一型号的,这种小规模集群用 RoCEv2 基本上也不会遇到什么问题。

RDMA 这个圈子很小,基本上都有一定的学术背景,如果对上述问题都没听说过,那还是老老实实用 IB 吧,稍微多花点钱,简单省事。我听说有的 AI 公司觉得只要买 A100/H100 就够了,连 SXM 版和 PCIe 版都分不清,也不知道需要买 IB 网卡和交换机才能实现大规模训练,以为用普通 10G 网络连起来就行,这种最好找一个卖 AI 集群解决方案的给配好 IB 网卡、交换机和网络拓扑,千万别自己逞能,别为了省钱去碰 RoCEv2。

OpenAI 的 GPU 集群目前用的大多数是 Infiniband,现在一些中小型 AI 公司用的也是 IB。大多数大型公司的新建 GPU 集群用的是 RoCEv2,因为这些大厂要支持万卡以上的规模,IB 在这种规模上 scale 不上去,而且这种规模的公司成本很重要。有些大厂都已经开始自研网卡了。另外一个原因就是大厂有专业的网络团队,IB 这么封闭的东西很难调优,这让这些网络专家们怎么调性能写 PPT 呀。

RoCEv2 和 Infiniband 两种技术具体对比如下:

RoCEv2 Infiniband
带宽 目前最高 200 Gbps 目前最高 400 Gbps
直连时延(RTT) 1.6 us 1.6 us
单跳交换机时延(单向) 500 ns 100-150 ns
经过 3 跳交换机的端到端时延(RTT) 4.6 us 2.5 us
设备 top 厂商 NVIDIA(Mellanox) NVIDIA(Mellanox)
设备成本 较低 较高
是否可以与以太网共用硬件
规模 可达整个数据中心数十万台服务器 最大万台左右服务器
流量控制 一般需要 PFC(需要管理员配置 PFC threshold) Credit-based flow control(基本上不需要配置)
拥塞控制 DCQCN(注:老的 RoCE 卡拥塞控制很差) 与 DCQCN 类似的 ECN-based 协议
多路径路由 根据源端口号 ECMP 随机选路,每条流仅走一条路 正常情况下与 RoCEv2 相同,故障情况下支持 adaptive routing 自动换路
丢包重传 Go-back-N(注:很老的 RoCE 卡是 Go-back-0,很差) Go-back-N
运维难度 高,需要自己配置 PFC 阈值,解决故障的卡和交换机导致的 PFC 风暴问题,如果不是同一型号的网卡还需要解决互联互通问题 低,基本上免运维
适用场景 大规模互联网公司,大规模 AI/HPC 集群 中小规模 AI/HPC 集群

RDMA 的部署

RDMA 在大厂的部署非常多,有大量的学术论文。目前主要的场景就是存储和 AI/HPC。

微软

走的比较靠前的是微软,微软数据中心所有的服务器上都部署了 RDMA 网卡,组成 RoCEv2 网络,主要用于访问云存储,甚至同一 region 跨 AZ 的 100km 级别跨数据中心通信都用了 RDMA。目前 RDMA 流量已经超过传统以太网流量,占到整个数据中心流量的 70%。

微软的 RDMA 部署可参考白巍等几十位作者联名发表的 NSDI 2023 论文,在论文评审中得到所有评审专家的满分评价

NSDI 2023 上的演讲录像

APNet 2023 上的演讲 PPT
(包含了 NSDI 2023 的论文内容和微软一些其他的 RDMA 大规模部署研究,以及一些有待研究的未来方向)

APNet 2023 上的演讲录像

微软在 RoCEv2 技术上有很多基础研究,包括:

2015 年的 DCQCN,如今成为 NVIDIA(Mellanox)网卡的标准拥塞控制协议:Congestion Control for Large-Scale RDMA Deployments

2016 年的 RDMA 大规模部署和 PFC 死锁等问题:RDMA over Commodity Ethernet at Scale

2016 年基于 FPGA 和 RDMA 芯片的自研网卡,组成数据中心加速平面:A Cloud-Scale Acceleration Architecture

可以说,目前国内大多数互联网公司做 RDMA 的都跟微软有千丝万缕的联系。

阿里

阿里在 RDMA 部署方面也有大量积累,发表了很多顶会论文。

比如阿里云存储部署 RDMA:When Cloud Storage Meets RDMA

阿里云存储的整体架构:From Luna to Solar: The Evolutions of the Compute-to-Storage Networks in Alibaba Cloud

拥塞控制:HPCC: High Precision Congestion Control

阿里还有个 eRDMA 产品,是云上弹性 RDMA,底层复用 VPC 网络:什么是eRDMA_云服务器 ECS-阿里云帮助中心

华为

华为在 RDMA 部署方面也有大量积累,有自研的 RDMA 智能网卡,在学术界也有很多成果:

比如 MasQ,基于 Mellanox 网卡做 RDMA 虚拟化

字节

字节在 RDMA 部署方面也有大量积累,最近也发了大量论文:

SRNIC: A Scalable Architecture for RDMA NIC

Collie: Finding Performance Anomalies in RDMA Subsystems

Hostping: Diagnosing Intra-host Network Bottlenecks in RDMA Servers

FreeFlow: Software-based Virtual RDMA Networking for Containerized Clouds

Comments