如下图所示,在服务器内部,由于TCP协议栈在接收/发送报文,以及对报文进行内部处理时,会产生数十微秒的固定时延,这使得在AI数据运算和SSD分布式存储这些微秒级系统中,TCP协议栈时延成为最明显的瓶颈。另外,随着网络规模的扩大和带宽的提高,宝贵的CPU资源越来越地多被用于传输数据。
RDMA(Remote Direct Memory Access)允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。同时,RDMA允许接收端直接从发送端的内存读取数据,极大减少了CPU的负担。
RDMA与TCP的对比
根据业务的测试数据, 采用RDMA可以将计算的效率同比提升6~8倍;而服务器内1us的传输时延也使得SSD分布式存储的时延从ms级降低到us级成为可能,所以在最新的NVMe(Non-Volatile Memory express)接口协议中,RDMA成为主流的默认网络通信协议栈。因此,RDMA替换TCP/IP成为大势所趋。
在服务器之间的互联网络中,当前有两种方案来承载RDMA:专用InfiniBand网络和传统IP以太网络,然而,它们都存在不足:
InfiniBand网络:架构封闭,采用私有协议,难以与现网大规模的IP网络实现很好的兼容互通;运维复杂,专人运维,OPEX居高不下。
传统IP以太网:对于RDMA来说,大于10-3的丢包率,将导致网络有效吞吐急剧下降,2%的丢包则使得RDMA的吞吐率下降为0。要使得RDMA吞吐不受影响,丢包率必须保证在十万分之一以下,最好为无丢包。而拥塞丢包是传统IP以太网络的基本机制,传统IP以太网中会使用PFC和ECN机制来避免丢包,但其基本原理是通过反压降低发送端速度来保证不丢包,实际上并没有达到提升吞吐率的效果。
因此,RDMA的高效运行,离不开一个0丢包、高吞吐的开放以太网作为承载。
AI时代的变化3:分布式架构成为趋势,加剧网络拥塞,驱动网络变革
在企业的数字化转型中,以金融和互联网企业为代表,大量的应用系统迁移到分布式系统上:通过海量的PC平台替代传统小型机,带来了成本低廉、易扩展、自主可控等优势,同时也给网络互联带来了挑战:
分布式架构流量模型示意