伴随着AI的热潮 ,深度学习服务器集群涌现,以及各种SSD等高性能新型存储介质的发展,对通信时延提出了更高的要求(us级)。服务器内部通信协议栈变革首当其冲,传统的TCP/IP协议栈已经不能满足高性能系统的要求。
下载链接:
1、面向分布式 AI智能网卡低延迟Fabric技术.pdf
2、RDMA参数选择.pdf
3、RDMA技术白皮书(中文版).pdf
4、RDMA技术在数据中心中的应用研究.pdf
5、华为面向AI时代的智能无损数据中心网络.pdf
RDMA替代TCP/IP成为大势所趋
传统TCP/IP网络虽然经过30年的发展技术日臻成熟,但与生俱来的技术特征限制了AI计算和分布式存储的应用。
限制一:TCP/IP协议栈处理带来数十微秒的时延
TCP协议栈在接收/发送报文时,内核需要做多次上下文切换,每次切换需要耗费5us~10us左右的时延,另外还需要至少三次的数据拷贝和依赖CPU进行协议封装,这导致仅仅协议栈处理就带来数十微秒的固定时延,使得在AI数据运算和SSD分布式存储-微秒级系统中,协议栈时延成为最明显的瓶颈。
限制二:TCP协议栈处理导致服务器CPU负载居高不下
除了固定时延较长问题,TCP/IP网络需要主机CPU多次参与协议栈内存拷贝。网络规模越大,网络带宽越高, CPU在收发数据时的调度负担越大,导致CPU持续高负载。按照业界测算数据:每传输1bit数据需要耗费1HzCPU,那么当网络带宽达到25G以上(满载),对于绝大多数服务器来说,至少1半的CPU能力将不得不用来传输数据。
RDMA规避了TCP的上述限制,将协议栈时延降低到接近1us
RDMA的内核旁路机制,允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。同时,RDMA的内存零拷贝机制,允许接收端直接从发送端的内存读取数据,极大的减少了CPU的负担,提升CPU的效率。
根据某知名互联网厂商的测试数据, 采用RDMA可以将计算的效率同比提升6~8倍,而服务器内1us的传输时延也使得SSD分布式存储的时延从ms级降低到us级成为可能,所以在最新的NVMe接口协议中,RDMA成为主流的默认网络通信协议栈。因此,RDMA在AI运算和SSD分布式存储追求极致性能的网络大潮中,替换TCP/IP成为大势所趋。
当前RDMA的两类网络承载方案均存在不足
InfifiniBand封闭架构,无法兼容现网
InfifiniBand交换机是特定厂家提供的专用产品,采用私有协议,而绝大多数现网都采用IP以太网络,所以对于需要广泛互联的AI计算和分布式存储系统,采用InfifiniBand无法满足互通性需求。同时封闭架构也存在厂商锁定的问题,对于未来需要大规模弹性扩展的业务系统如被一个厂商锁定则风险不可控。业界普遍将InfifiniBand用于小范围的传统HPC的独立集群中。
InfifiniBand作为专用的网络技术,无法继承用户在IP网络上运维的积累和平台,企业引入InfifiniBand需要重新招聘专门的运维人员,而且当前InfifiniBand只有很少的市场空间(不到以太网的1%)。
IP以太网络拥塞丢包,导致吞吐率极低
IP网络承载RDMA的标准化已经完成,基于传统的IP以太网络来承载RDMA,也是RDMA大规模应用的必然。然而,RDMA的提出之初承载在无损的InfiniBand网络中,缺乏完善的丢包保护机制,对于网络丢包异常敏感。2%的丢包则使得RDMA的吞吐率下降为0,要使得RDMA吞吐不受影响,丢包率必须保证在十万分之一以下,最好为无丢包。
而拥塞丢包是传统IP以太网络的基本机制,一旦流量模型复杂出现丢包势必导致吞吐率极低。很多厂家会采用PFCECN机制来避免丢包提升吞吐率,而现有的RDMA拥塞&调度算法,导致网络设备极易出现队列累积,从而触发PFC。网络中如果出现大量PFC,极有可能诱发网络死锁,导致网络系统性风险。
另外,PFCECN的基本原理是通过反压降低发送速度来保证不丢包,实际上并没有达到提升吞吐率效果。
总结:RDMA的高效运行,离不开一个0丢包、高吞吐的开放以太网作为承载。
分布式架构对网络的影响
分布式架构带来了服务器间大量的协作。对于分布式计算,协作的方式一般采用MAP/REDUCE过程。即在MAP阶段,把一个大的计算任务分解为多个子任务,每个子任务分发给计算节点处理;在REDUCE阶段,搜集多个计算节点的处理结果,进行汇总;循环往复这两个过程。
在REDUCE阶段,给网络带来两个变化,加剧网络拥塞:
变化1Incast流量特征
对应于传统流量特征(点对点流量称为unicast),点对多点流量称为broadcast/multicastincast对应多点对一点的流量,匹配REDUCE阶段;Incast会在接收端造成流量突发,瞬间超过接收端接口能力,造成拥塞丢包。
并且,在分布式架构中,每个服务器的角色都是对等的,同时作为发送端和接收端,也就是说,无法通过增加接收端的端口带宽解决incast突发问题。
变化2大包交互
大包意味着随着分布式计算复杂度的增加,服务器之间交互的消息长度越来越大;如在图像识别的分布式计算中,每次交互的模型达到G字节大小。对于分布式存储系统,也存在类似的阶段;比如在写阶段,把数据分发到多个存储节点,类似MAP过程;在读阶段,从多个存储节点读取数据,类似REDUCE过程。
综上所述,分布式架构造成的incast突发流量和大包特征,进一步加剧了网络拥塞。
无论是应用分布式架构,还是RDMA通信效率的角度,均呼吁数据中心网络发生变革。
2000年以来,数据中心网络带宽已经从100Mb/s提升到100Gb/s,带宽增长了1000倍,摩尔定律支撑了带宽的增长,网络带宽享受着摩尔定律带来的福利,但由于存在网络拥塞,单纯的增加带宽并不能提升应用性能,网络变革的方向正在从带宽转向时延,这是一个巨大的飞跃,既是AI时代高效数据处理的需求,也是IP网络技术发展的必由之路。
所谓时延不是指网络轻负载情况下的单包测试时延,而是指满负载下的实际时延,即流完成时间。详细分析网络时延构成可分为:静态时延和动态时延两类。
静态时延包括数据串行时延、设备转发时延和光电传输时延。这类时延由转发芯片的能力和传输的距离决定,而这类时延往往有确定的规格,目前业界普遍为ns级或者亚us级,在网络总时延占比小于1%。当前个厂家宣称的芯片转发时延达到几百纳秒,就是指静态单包时延;

但真正对于网络性能影响比较大的是动态时延,占比超过99%。动态时延包括内部排队时延和丢包重传时延,这类时延由网络拥塞和丢包引起。AI时代流量在网络中的冲突越来越剧烈,报文排队或者丢包成为常态,一旦发生则时延往往达到亚秒级,所以低时延网络的关键在于低动态时延。
动态时延强调是单流时延或者多流时延;也就是说,一条流必然包括多个包,流的完成时间取决于最后一个包的完成时间;即任何一个包被拥塞,都会导致流的完成时间增大;
而对于分布式架构,一个任务包括多流,任务完成时间取决于最后一条流的完成时间,即任何一个流被拥塞,都会导致任务完成时间增大;
为了满足AI时代的数据高效处理诉求,应对分布式架构挑战,0丢包、低时延、高吞吐成为下一代数据中心网络的三个核心诉求。
AI Fabric独创算法,保证0丢包的基础上实现吞吐最高,时延最低
“0丢包”,“低时延”和“高吞吐”是AI Fabric的三个核心特征;区别于业界通用的无损网络技术,华为的AI Fabric能够同时在这三个指标达到最优,而不是部分满足。我们知道,这三个核心指标是互相影响,有跷跷板效应,同时达到最优有很大的挑战:
同时满足“0丢包”,“低时延”和“高吞吐”,背后的核心技术是拥塞控制算法。
通用的无损网络的拥塞控制算法DCQCN,需要网卡和网络进行协作,每个节点需要配置数十个参数,全网的参数达到组合达到几十万;为了简化配置,只能采用通用的配置,导致针对不同的流量模型,无法同时满足这三个核心指标。
下载链接:
1、面向分布式 AI智能网卡低延迟Fabric技术.pdf
2、RDMA参数选择.pdf
3、RDMA技术白皮书(中文版).pdf
4、RDMA技术在数据中心中的应用研究.pdf
5、华为面向AI时代的智能无损数据中心网络.pdf
总线级数据中心网络技术白皮书
1、掘金云数据中心白盒化趋势.pdf
2、商用交换芯片SDN支持现状分析.pdf
3、未来网络白皮书——白盒交换机技术白皮书.pdf
4、协议无关交换机架构技术与应用白皮书.pdf
5、中国联通开放硬件网络设备白皮书.pdf
6、中兴通讯CO重构技术白皮书.pdf
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。
内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“IT技术全店资料打包汇总(全)电子书资料详情

继续阅读
阅读原文