RDMA是一种让服务器之间直接进行高速数据传输的网络技术。它可以减少CPU参与网络数据处理的工作,同时降低通信延迟和CPU开销。对于需要大量GPU协同工作的AI算力中心来说,RDMA已经成为高速网络的重要技术。
传统网络通信中,一台服务器发送数据时,数据通常需要经过操作系统网络协议栈、CPU以及网卡等多个环节。数据到达另一台服务器后,还需要经过相应的处理流程。普通业务场景下,这种方式完全够用,但AI训练的数据通信量非常大,频率也非常高,如果所有数据都依赖CPU处理,就容易产生较大的系统开销和通信延迟。
RDMA的核心特点,就是允许网卡直接把数据写入目标服务器的内存,减少操作系统和CPU对数据传输过程的干预。这样一来,数据传输路径更短,CPU需要处理的网络任务更少,同时能够降低延迟和提高吞吐能力。
这对AI算力中心为什么特别重要?
因为现在的大模型训练,很少是一台服务器单独完成的。一个AI训练任务可能同时使用几十台、几百台甚至更多GPU。不同服务器上的GPU需要持续交换模型参数、梯度、激活数据以及其他训练信息。
比如进行分布式训练时,GPU之间需要频繁进行All-Reduce等集合通信操作。如果服务器之间的网络速度不够,GPU就可能出现等待通信的情况。GPU本身算力再强,如果大量时间消耗在等待数据传输上,整体训练效率依然会受到影响。
RDMA能够提供低延迟、高吞吐的服务器间通信能力,因此特别适合AI集群这种高频、大规模的数据交换场景。
目前AI算力中心常见的RDMA技术主要包括InfiniBand和基于以太网的RoCE。InfiniBand通常用于高性能计算和AI集群网络;RoCE则是在以太网上实现RDMA,可以结合现有以太网基础设施进行部署。
不过,RDMA并不是简单换一块网卡就结束了。AI算力中心还需要对交换机、网卡、网络流控、拥塞控制以及通信软件栈进行整体优化,否则RDMA的性能优势很难充分发挥出来。
所以,AI算力中心大量使用RDMA,本质上是因为GPU集群对服务器之间的通信提出了更高要求。GPU负责计算,RDMA高速网络负责让GPU之间快速交换数据,两者需要同时具备足够高的性能,才能提高整个AI集群的利用率和训练效率。