25

边缘计算的利器 — 进击的无损网络

 5 years ago
source link: https://www.sdnlab.com/23042.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

作者简介:王俊杰 盛科网络 系统工程师 专注在无损网络和边缘计算

03wusun680.jpg

1 无损网络从哪说起

1.1 名词介绍

03wusun0.JPG

1.2 网络发展与挑战

伴随着移动互联网的发展,每年新增的网络流量达到ZB量级。基于网络承载的业务对于转发性能提出了更高的要求。从网络流量的类型来看,可以简单划分为:计算流量,存储流量,业务数据流量。在回顾这些年数据中心的计算和存储技术的发展时,我们发现存储介质已从机械硬盘演进到固态硬盘,计算已从CPU,GPU,再到专用的ASIC芯片,计算和存储性能提升了百倍以上,同时,网络时延在端到端时延中占比从10%增加到60%以上,网络性能再不提升就会成为计算和存储效率的进一步提升的瓶颈。

1.3 网络性能分析

03wusun1.JPG

图1-1 网络性能分析示意图

如上图所示,网络指标可以从时延,丢包,吞吐三个方面具体分析。时延可以分为服务器侧处理时延,网络传输时延。丢包很大可能性是以太网拥塞导致的。吞吐量取决于两个方面,一是带宽,二是拥塞场景下的buffer利用率。

  • 无丢包:会抑制带宽,导致超低吞吐,反而增加了“大象流”的传输时延;
  • 低时延:意味着降低交换机队列排队,导致低吞吐;
  • 高吞吐:意味需要保持链路高利用率,会导致交换机的拥塞排队;

网络传输时延分析
所谓时延不仅仅是指网络轻负载情况下的单包测试时延,而是指满负载下的实际时延,即数据流的完成时间。详细分析网络时延构成可分为:静态时延和动态时延两类。

03wusun2.JPG

图1-2 网络时延分析示意图

如上图所示,静态时延包括数据串行时延、设备转发时延和光电传输时延。这类时延由交换芯片的转发能力和链路传输的距离决定,而这类时延具有确定的规格,目前普遍为ns级,在网络总时延占比小于1%。比如,芯片转发时延达到几百纳秒,就是指静态单包时延。但还要认识到对于网络性能影响更大的是动态时延,占比超过99%。

动态时延包括内部排队时延和丢包重传时延,这类时延由网络拥塞和丢包引起。一旦发生报文拥塞排队或者丢包,时延最差会达到秒级,所以关键在于降低动态时延。降低动态时延的关键在于更好的解决拥塞和丢包问题。

网络拥塞分析
网络产生拥塞的原因有很多,以数据中心场景为例,常见的网络拥塞原因说明如下:

  • 收敛比
    在进行数据中心网络架构设计时,从成本和收益两方面来考虑,多数会采取非对称带宽设计,即上下行链路带宽不一致,交换机的收敛比简单说就是总的输入带宽除以总的输出带宽。以10G网卡的服务器接入的TOR为例,下行可供服务器输入的带宽是4810G=480G,上行输出的带宽是640G=240G,整机收敛比为2:1。这里可以看出,当下联的服务器上行发包总速率超过上行链路总带宽时,就会在上行口出现拥塞。
  • Incast
    Incast是Many-to-one的通信模式,在高性能数据中心中,这种通信模式常常发生,尤其是那些以Scale-Out方式实现的分布式存储和计算应用,包括Hadoop,MapReduce,HDFS等。

03wusun3.JPG

图1-3 Incast流量转发示意图

如上图所示,当一个Parent Server向一组节点(服务器集群或存储集群)发起一个请求时,集群中的节点都会同时收到该请求, 并且几乎同时做出响应,很多节点同时向一台机器(Parent Server)发送TCP数据流,从而产生了一个Micro Burst,使得交换机上连接Parent Server的出端口缓存不足,造成拥塞。

网络丢包分析
以太网本质上是无连接的,无法保证报文传输的可靠性。在缓冲区拥塞而产生的丢包的情况下,报文无法转发到接收方,因此如果没有能提供流量控制的协议,就可能由于交换机缓冲区拥塞导致丢失过多的报文,带来业务质量严重下降。

网络吞吐量分析
数据中心网络交换机的接入端口带宽已经从1000Mb/s提升到25Gb/s,带宽增长了几十倍,但由于存在网络拥塞,单纯的增加带宽并不能提升应用性能,在带宽增长的同时保证链路吞吐量才是出路。

2 无损网络技术原理与方案

2.1 无损网络原理分析

网络整体指标分析

03wusun4.JPG

图2-1 无损网络性能分析示意图

如上图所示,网络指标可以从时延,丢包,吞吐三个方面具体分析。时延可以分为服务器侧处理时延,网络传输时延。丢包很大可能性是因为以太网拥塞导致的。吞吐量取决于两个方面,一是带宽,二是拥塞场景下的buffer利用率。

  • 无丢包:会抑制带宽,导致超低吞吐,反而增加了大流的传输时延;
  • 低时延:意味着降低交换机队列排队,导致低吞吐;
  • 高吞吐:意味需要保持链路高利用率,会导致交换机的拥塞排队;

RDMA技术
对于降低网络时延的追求是永无止境,如何突破网络时延瓶颈所在,就先从RDMA技术说起。要了解RDMA技术,先看一下RDMA背后的所支撑的存储和计算的发展。

  • RDMA工作原理
    RDMA(Remote Direct Memory Access)技术是一种直接在内存和内存之间进行资料互传的技术,在数据中传输的过程中,CPU不必做操作,完全实现了Kernel Bypass。这就是为什么RDMA能带来低时延,降低CPU消耗的原因。

03wusun5.JPG

图2-2 RDMA与TCP/IP模式示意图

如上图所示,相比传统的网络传输,RDMA又无需操作系统和TCP/IP协议栈的介入。RDMA的内核旁路机制,允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。同时,RDMA的内存零拷贝机制,允许接收端直接从发送端的内存读取数据,极大的减少了CPU的负担,提升CPU的效率。

  • RDMA技术标准
    2010年,IBTA制定了RoCE(RDMA over Converged Ethernet),使用以太网替代IB的链路层,保留了网络层以及传输层对RDMA的支持。

03wusun6.JPG

图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协议。

03wusun7.JPG

图2-4 RDMA丢包率与吞吐率示意图

如上图所示,RDMA的提出之初承载在无损的InfiniBand网络中,因为缺乏完善的丢包保护机制,对于以太网丢包异常敏感,超过>10-3的丢包率将导致网络有效吞吐急剧下降。1%的丢包则使得RDMA的吞吐率下降为0,要使得RDMA吞吐不受影响,丢包率必须保证在十万分之一以下,最好为无丢包。

2.2 无损网络技术方案

无损网络方案分析

03wusun8.JPG

图2-5 无损网络方案分析示意图

如上图所示,如果以太网需要实现无损,必须要优化这三个指标,具体实现原理如下:

  • RDMA技术降低了服务器侧的处理时延,提升了计算和存储的效率,也减少了CPU资源的消耗。但是,带来了新的问题,加剧了网络的拥塞。
  • 拥塞会带来两个严重的影响,一是拥塞使得网络处理时延增大,二是会导致业务丢包,业务因为丢包重传又增加了时延,拥塞问题会严重影响计算和存储效率。
  • 通过PFC解决拥塞场景下的丢包和重传时延,提高计算和存储的效率。如果网络中出现大量PFC Pause,不但会降低吞吐量,还有可能诱发PFC Dead-lock。
  • 在涉及RDMA,PFC等技术的低时延,无丢包网络中,如何提高吞吐量,就需要进一步使用ECN,DCQCN。ECN可以感知设备内部的队列拥塞,并配合DCQCN调整发送端的速率。

当然,Buffer可视化技术有助于优化PFC,ECN水线,更开放的可视化技术给予用户想象空间。最终,期望在以太网实现无损网络,打造低时延,无丢包,高吞吐的开放网络。

无损网络技术方案介绍

03wusun90.JPG

图2-6 无损网络整体方案示意图

利用可视化技术将芯片的Buffer,Latency,Micro Burst等状态信息上报到SDN controller,充分发挥SDN controllor的智能分析能力,并通过标准的API接口完成整个网络的运维和优化。

无损网络组网架构:
针对数据中心设计的无损网络拓扑与技术应用如下图所示:

03wusun10.JPG

图2-7 无损网络架构简化示意图
  • 组网架构:典型的Leaf/Spine组网,服务器双上联;
  • 为了避免拥塞丢包,需要在Leaf与Spine之间部署PFC流控技术,同时,Spine设备也需要支持基于拥塞的ECN标记;
  • Leaf作为服务器网关,支持和服务器之间基于PFC的流量控制,同时支持拥塞ECN标记;为了提高吞吐量,需要在服务器网卡支持DCQCN,将发送速率调整到最优;
  • 全网设备部署PFC,ECN,基于业务特征配合可视化技术,SDN控制器根据业务流量特征实现水线调优,为网络的稳定运行提供无损保障;

无损网络标准化
感谢ODCC无损网络工作组在提升数据中心网络性能和引导无损网络标准化工作中付出的坚卓努力。

参考资料和文献说明:
本文涉及的DCQCN,RDMA等介绍参考了微软公司的相关文献,其他相关厂商这里不一一列举。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK