RoCE (RDMA over Converged Ethernet)

基本概念

RoCE 是一种网络协议,允许通过以太网实现远程直接内存访问,结合了RDMA的高性能和以太网的普及性。

两个主要版本

1. RoCE v1

  • 层次:以太网链路层(Layer 2)

  • 帧格式:在以太网帧中封装RDMA数据

  • 限制:只能在单个以太网广播域内工作

  • 特点:不需要IP路由配置

2. RoCE v2

  • 层次:网络层(Layer 3)

  • 帧格式:基于UDP/IP封装

  • 优势:可跨IP子网路由,扩展性更好

  • 应用:现代数据中心主流选择

技术优势

优势说明
低延迟绕过操作系统内核,直接内存访问
低CPU开销不需要CPU参与数据传输
高带宽充分利用网络带宽
零拷贝数据直接从应用内存到网卡

在AI训练中的应用

NCCL中的角色

在你之前看到的代码中,RoCE网络接口会被识别为高性能路径:

c

// 在拓扑发现中,RoCE接口通常表现为高带宽路径
if (path->bw == maxBw && path->type == minType) 
    nets[count++] = system->nodes[NET].nodes[n].id;

分布式训练场景

python

# 在多机训练中,RoCE提供节点间高速通信
# Node1-GPU → RoCE网络 → Node2-GPU
# 实现高效的AllReduce、AllGather等集合操作

配置要求

硬件要求

  • 支持RoCE的网卡:如Mellanox ConnectX系列

  • 支持的网络交换机:需要支持无损以太网或PFC

  • 兼容的网卡驱动

网络配置

  • MTU设置:通常需要更大的MTU(如4096)

  • 优先级流控制

  • 无丢包网络环境

与相关技术对比

技术传输介质协议层次适用场景
RoCE以太网L2或L3通用数据中心
InfiniBandIB网络专用协议HPC集群
iWARPTCP/IPL4广域网场景

性能特点

  • 延迟:通常在微秒级别

  • 带宽:可达到100Gbps甚至更高

  • 扩展性:RoCE v2支持大规模集群部署

RoCE在现代AI训练基础设施中扮演着关键角色,为多机多卡训练提供了必要的高速网络支撑。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐