RoCE

一文读懂RoCE

RoCE(RDMA over Converged Ethernet。基于融合以太网的RDMA)

  1. 传统应用的局限

传统方式:OS封装TCP/IP,经过主缓存和网卡缓存,最终到达另一端。

局限性:TCP/IP协议栈在传输报文的过程中涉及内核的多次上下文切换,每次切换耗费5-10微秒,导致每次传输都有数十微秒的延迟。此外,会涉及至少3次的数据拷贝,同时依赖CPU进行数据处理。如果要传输的数据越大,CPU的负载就会越高。

  1. RDMA(Remote Direct Memory Access,远端内存直接访问技术)

Remote:数据直接在两个节点上传输

Direct:无需内核参与,将数据传输的功能交给NIC硬件

Memory:只需要在两个节点的应用程序的虚拟内存间传输,无需额外的复制和缓存

Access:支持send/recieve,以及read/write。

  1. RoCE是什么

RoCE就是让两台服务器的内存“直接对话”,不用经过操作系统和CPU,通过网卡直接传数据,降低CPU的负载。主要用在需要快速传大量数据的地方,比如AI模型训练中GPU之间频繁同步参数,或者分布式存储、高性能数据库节点间快速交换数据。

  1. 禁用RoCE后

(1)会造成什么样的后果

  • AI/GPU训练性能下降:GPU节点间通信从低延迟的RDMA模式退化为传统TCP/IP模式。

  • 分布式存储性能下降:如Ceph、Lustre等依赖RoCE实现高速数据同步的系统,吞吐降低、延迟升高,影响读写性能。

  • 基于RDMA的通信失效:所有依赖RDMA协议的应用(如MPI、NVMe-oF、SR-IOV+RDMA)将无法正常工作,可能导致服务启动失败或降级运行。

(2)根据客户场景有什么建议

  • 如果客户场景只涉及Web服务器、普通业务,也就是仅依赖标准TCP/IP通信,不使用RDMA的话,可以禁用,无影响。

  • 如果客户场景涉及AI训练、HPC以及分布式存储等需要大量计算资源的高性能场景,不建议禁用。这些场景高度依赖 RoCE 提供的低延迟、高吞吐能力。禁用将严重影响性能,甚至导致业务不可用。应优先修复驱动问题,而非规避。

posted @ 2025-08-15 17:58  midorii  阅读(51)  评论(0)    收藏  举报