作者简介:王俊杰 盛科网络 系统工程师 专注在无损网络和边缘计算
伴随着移动互联网的发展,每年新增的网络流量达到ZB量级。基于网络承载的业务对于转发性能提出了更高的要求。从网络流量的类型来看,可以简单划分为:计算流量,存储流量,业务数据流量。在回顾这些年数据中心的计算和存储技术的发展时,我们发现存储介质已从机械硬盘演进到固态硬盘,计算已从CPU,GPU,再到专用的ASIC芯片,计算和存储性能提升了百倍以上,同时,网络时延在端到端时延中占比从10%增加到60%以上,网络性能再不提升就会成为计算和存储效率的进一步提升的瓶颈。
图1-1 网络性能分析示意图
如上图所示,网络指标可以从时延,丢包,吞吐三个方面具体分析。时延可以分为服务器侧处理时延,网络传输时延。丢包很大可能性是以太网拥塞导致的。吞吐量取决于两个方面,一是带宽,二是拥塞场景下的buffer利用率。
网络传输时延分析
所谓时延不仅仅是指网络轻负载情况下的单包测试时延,而是指满负载下的实际时延,即数据流的完成时间。详细分析网络时延构成可分为:静态时延和动态时延两类。
图1-2 网络时延分析示意图
如上图所示,静态时延包括数据串行时延、设备转发时延和光电传输时延。这类时延由交换芯片的转发能力和链路传输的距离决定,而这类时延具有确定的规格,目前普遍为ns级,在网络总时延占比小于1%。比如,芯片转发时延达到几百纳秒,就是指静态单包时延。但还要认识到对于网络性能影响更大的是动态时延,占比超过99%。
动态时延包括内部排队时延和丢包重传时延,这类时延由网络拥塞和丢包引起。一旦发生报文拥塞排队或者丢包,时延最差会达到秒级,所以关键在于降低动态时延。降低动态时延的关键在于更好的解决拥塞和丢包问题。
网络拥塞分析
网络产生拥塞的原因有很多,以数据中心场景为例,常见的网络拥塞原因说明如下:
图1-3 Incast流量转发示意图
如上图所示,当一个Parent Server向一组节点(服务器集群或存储集群)发起一个请求时,集群中的节点都会同时收到该请求, 并且几乎同时做出响应,很多节点同时向一台机器(Parent Server)发送TCP数据流,从而产生了一个Micro Burst,使得交换机上连接Parent Server的出端口缓存不足,造成拥塞。
网络丢包分析
以太网本质上是无连接的,无法保证报文传输的可靠性。在缓冲区拥塞而产生的丢包的情况下,报文无法转发到接收方,因此如果没有能提供流量控制的协议,就可能由于交换机缓冲区拥塞导致丢失过多的报文,带来业务质量严重下降。
网络吞吐量分析
数据中心网络交换机的接入端口带宽已经从1000Mb/s提升到25Gb/s,带宽增长了几十倍,但由于存在网络拥塞,单纯的增加带宽并不能提升应用性能,在带宽增长的同时保证链路吞吐量才是出路。
网络整体指标分析
图2-1 无损网络性能分析示意图
如上图所示,网络指标可以从时延,丢包,吞吐三个方面具体分析。时延可以分为服务器侧处理时延,网络传输时延。丢包很大可能性是因为以太网拥塞导致的。吞吐量取决于两个方面,一是带宽,二是拥塞场景下的buffer利用率。
RDMA技术
对于降低网络时延的追求是永无止境,如何突破网络时延瓶颈所在,就先从RDMA技术说起。要了解RDMA技术,先看一下RDMA背后的所支撑的存储和计算的发展。
图2-2 RDMA与TCP/IP模式示意图
如上图所示,相比传统的网络传输,RDMA又无需操作系统和TCP/IP协议栈的介入。RDMA的内核旁路机制,允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。同时,RDMA的内存零拷贝机制,允许接收端直接从发送端的内存读取数据,极大的减少了CPU的负担,提升CPU的效率。
图2-3 RDMA架构与报文封装格式示意图
如上图所示,由于RoCE在网络层还保留着IB的GRH,因此无法进行IP路由转发。因此,在2014年,IBTA又制定了RoCEv2,在RoCE的基础上将IB的网络层替换成IP。至此,IP网络承载RDMA的标准化也就完成了,基于传统的IP以太网络来承载RDMA,也是RDMA大规模应用的必然。
iWARP也是RDMA的可选方案之一,相关的标准化工作在IETF/IEEE开展。与RoCE不同,iWARP实现了基于TCP承载RDMA,将IB Protocol替换成iWARP Protocol,并将UDP传输层层替换成TCP。由于与TCP协议共享传输层端口号,也导致了很难区分数据流是传统TCP协议栈的还是iWARP协议的,以及缺乏对User-Level组播的支持。
当前,数据中心大规模应用的RDMA技术是基于RoCEv2协议。
图2-4 RDMA丢包率与吞吐率示意图
如上图所示,RDMA的提出之初承载在无损的InfiniBand网络中,因为缺乏完善的丢包保护机制,对于以太网丢包异常敏感,超过>10-3的丢包率将导致网络有效吞吐急剧下降。1%的丢包则使得RDMA的吞吐率下降为0,要使得RDMA吞吐不受影响,丢包率必须保证在十万分之一以下,最好为无丢包。
无损网络方案分析
图2-5 无损网络方案分析示意图
如上图所示,如果以太网需要实现无损,必须要优化这三个指标,具体实现原理如下:
当然,Buffer可视化技术有助于优化PFC,ECN水线,更开放的可视化技术给予用户想象空间。最终,期望在以太网实现无损网络,打造低时延,无丢包,高吞吐的开放网络。
无损网络技术方案介绍
图2-6 无损网络整体方案示意图
利用可视化技术将芯片的Buffer,Latency,Micro Burst等状态信息上报到SDN controller,充分发挥SDN controllor的智能分析能力,并通过标准的API接口完成整个网络的运维和优化。
无损网络组网架构:
针对数据中心设计的无损网络拓扑与技术应用如下图所示:
图2-7 无损网络架构简化示意图
无损网络标准化
感谢ODCC无损网络工作组在提升数据中心网络性能和引导无损网络标准化工作中付出的坚卓努力。
参考资料和文献说明:
本文涉及的DCQCN,RDMA等介绍参考了微软公司的相关文献,其他相关厂商这里不一一列举。