ai-infra-interview-305

第 291 题:TCP和RDMA的对比?为什么AI训练需要RDMA?

题目

TCP和RDMA的对比?为什么AI训练需要RDMA?


完整讲解

一、TCP 与 RDMA 对比

TCP:内核协议栈、需多次拷贝(用户态↔内核↔网卡)、CPU 参与每包处理,延迟与 CPU 占用较高,但通用、易部署。RDMA(Remote Direct Memory Access):零拷贝内核旁路,网卡直接读写本端/对端用户态内存,CPU 仅投递/回收描述符,低延迟、高带宽、低 CPU,需专用网卡(InfiniBand 或 RoCE)与驱动。

二、AI 训练为何需要 RDMA

分布式训练中 all-reduce 等集合通信带宽敏感、延迟敏感,且数据量大、持续时间长。TCP 的拷贝与协议栈开销会占大量 CPU、成为瓶颈;RDMA 把数据从 GPU/内存直接经网卡到对端内存,减少 CPU 与拷贝,提高通信效率,缩短每 step 时间。多机多卡训练里,通信常是瓶颈,RDMA 能显著提升扩展性与吞吐。

三、选型注意

RDMA 需硬件与网络支持(IB 或 RoCE、PFC/ECN 等);部署与排障复杂。TCP 无特殊硬件、易运维。小规模或无 RDMA 环境可用 TCP + 优化(如 GPU Direct RDMA 的替代方案);大规模训练集群普遍采用 RDMA。


面试要点


记忆要点

  1. TCP = 内核、多拷贝;RDMA = 零拷贝、内核旁路、低 CPU。
  2. 训练通信带宽/延迟敏感;RDMA 提升通信效率与扩展性。
  3. 大规模集群多用 RDMA;小规模或无硬件可用 TCP。
返回模块 返回总览