一文读懂RDMA、RoCE与NVMe-oF的奥秘

RDMA(远程直接内存访问)

RDMA(Remote Direct Memory Access)诞生于高性能计算(HPC)领域,旨在解决传统TCP/IP网络协议栈的瓶颈。在传统网络中,数据需经过发送端CPU封装协议头、接收端CPU解析协议头,导致延迟高、CPU占用率高、带宽利用率低三大问题。RDMA通过绕过操作系统内核(Kernel Bypass)零拷贝(Zero-Copy)机制,实现了两点间内存直接读写,彻底解放了CPU资源。

RDMA是一种网络协议,允许计算机通过网络直接读写另一台计算机的内存空间,无需对方CPU参与数据搬运,仅通过网卡(RNIC)完成数据传输。其核心标准由IBTA(InfiniBand Trade Association)制定,支持InfiniBand、RoCE、iWARP三种传输层协议。

核心原理与架构

(1)工作流程

  1. 建立连接:通过QP(Queue Pair,队列对)建立通信上下文,包括发送队列(SQ)和接收队列(RQ)。
  2. 内存注册:预先将目标内存区域注册为RDMA可访问区域,生成物理地址与密钥(Key)。
  3. 数据传输 发送端:应用直接向SQ提交工作请求(Work Request),包含操作类型(Send/Write/Read)和内存地址。接收端:网卡硬件解析请求,直接读写目标内存,完成后通过CQ(完成队列)通知应用。

(2)关键技术特性

  • 零拷贝(Zero-Copy):数据不经过内核缓冲区,直接从用户内存到网卡。
  • 内核旁路(Kernel Bypass):用户态驱动(如Verbs API)直接控制网卡,避免系统调用开销。

(3)性能指标

  • 延迟:亚微秒级(InfiniBand可达0.5μs,RoCE v2约1-3μs)
  • 吞吐量:100Gbps网络可达90%以上带宽利用率
  • CPU占用:接近0%,仅需处理完成事件

RoCE(RDMA over Converged Ethernet)

技术背景与定义

InfiniBand虽性能优异,但需专用交换机与网卡,成本高昂。RoCE(RDMA over Converged Ethernet)由Mellanox(现NVIDIA)于2010年提出,旨在通过以太网承载RDMA,降低部署成本。RoCE分为两个版本:

  • RoCE v1:基于以太网链路层(Layer 2),依赖无损网络(PFC+ECN)
  • RoCE v2:基于UDP/IP(Layer 3),支持路由与跨子网通信

RoCE是以太网上实现RDMA的协议标准,通过将InfiniBand传输语义映射到以太网帧,复用现有网络基础设施提供RDMA能力。

核心原理与实现

(1)协议栈对比

关键技术

  • 流量控制(PFC):基于优先级的暂停帧(Pause Frame),防止缓冲区溢出
  • 拥塞控制(DCQCN):通过ECN(Explicit Congestion Notification)标记与速率调整避免拥塞

 优点分析

  • 成本低:复用以太网交换机(数据中心级交换机
  • 兼容性强:支持标准IP路由与VXLAN隧道
  • 性能接近InfiniBand:RoCE v2延迟仅比InfiniBand高10-20%

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值