方案简介
产生背景
2016年人机围棋大战Alpha Go的胜利向全世界强势宣告,以AI(Artificial Intelligence)为代表的第四次工业革命来临了。越来越多的企业将AI视为数字化转型的下一站,AI时代数据中心的使命正在从聚焦业务快速发放向聚焦数据高效处理进行转变。为了提升数据处理的效率,HPC高性能计算、分布式存储、AI人工智能等当今热门应用要求数据中心网络具有零丢包、低时延、高吞吐的能力。然而传统的基于TCP/IP协议栈的网络通信由于在数据拷贝等关键环节资源消耗较大并且时延过高,无法满足对网络性能的高要求。
RDMA(Remote Direct Memory Access,远程直接内存访问功能)利用相关的硬件和网络技术,使服务器的网卡之间可以直接读内存,最终达到高带宽、低时延和低资源消耗率的效果。如下图所示,在服务器内部,由于TCP协议栈在接收/发送报文,以及对报文进行内部处理时,会产生数十微秒的固定时延,这使得在AI数据运算和SSD分布式存储这些微秒级系统中,TCP协议栈时延成为最明显的瓶颈。另外,随着网络规模的扩大和带宽的提高,宝贵的CPU资源越来越地多被用于传输数据。
RDMA(Remote Direct Memory Access)允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。同时,RDMA允许接收端直接从发送端的内存读取数据,极大减少了CPU的负担。
根据业务的测试数据, 采用RDMA可以将计算的效率同比提升6~8倍;而服务器内1us的传输时延也使得SSD分布式存储的时延从ms级降低到us级成为可能,所以在最新的NVMe(Non-Volatile Memory express)接口协议中,RDMA成为主流的默认网络通信协议栈。因此,RDMA替换TCP/IP成为大势所趋。
在服务器之间的互联网络中,当前有两种方案来承载RDMA:专用InfiniBand网络和传统IP以太网络。
对于InfiniBand网络,存在一些不足,例如:架构封闭,采用私有协议,难以与现网大规模的IP网络实现很好的兼容互通;运维复杂,专人运维,OPEX居高不下。
RoCE(RDMA over Converged Ethernet)技术的出现有效解决了这些难题。RoCE即使用以太网承载RDMA的网络协议,有两个版本:RoCEv1是一种链路层协议,不同广播域下无法使用;RoCEv2是一种网络层协议,由UDP封装,可以实现路由功能。
然而,由于RDMA的提出之初是承载在无损的InfiniBand网络中,RoCEv2协议缺乏完善的丢包保护机制,对于网络丢包异常敏感。同时,这些分布式高性能应用的特征是多对一通信的Incast流量模型,对于以太交换机,Incast流量易造成交换机内部队列缓存的瞬时突发拥塞甚至丢包,带来应用时延的增加和吞吐的下降,从而损害分布式应用的性能。据测算,RDMA的承载网如果大于10-3的丢包率,将导致网络有效吞吐急剧下降,2%的丢包则使得RDMA的吞吐率下降为0。要使得RDMA吞吐不受影响,丢包率必须保证在十万分之一以下,最好为无丢包。而拥塞丢包是传统IP以太网络的基本机制,传统IP以太网中会使用PFC和ECN机制来避免丢包,但其基本原理是通过反压降低发送端速度来保证不丢包,实际上并没有达到提升吞吐率的效果。
因此,RDMA的高效运行,离不开一个零丢包、高吞吐的开放以太网作为承载。
解决思路
华为抓住AI时代数据中心RDMA代际切换机遇,创新地基于独创的iLossless算法打造了下一代智能无损数据中心网络解决方案,依靠独特的智能拥塞调度算法,真正解决传统以太网络拥塞丢包的问题,实现RDMA业务流的零丢包、高吞吐和超低时延,加速AI时代的计算和存储效率,满足RoCEv2应用的高性能需求。最终获得专网的性能、以太网的价格,整体ROI达到45倍,为未来的数据中心构建一个统一融合的高效数据中心网络。