数据中心网络如何发展成为无损数据中心网络?

数据中心网络如何发展成为无损数据中心网络?

作者:袁冬至
公众号:救命的药
研究方向:数据中心网络
欢迎交流,学习!

数据中心网络如何实现无丢包、低时延、高吞吐的能力?

为解决上述问题,传统原生TCP/IP协议栈网络又遇到哪些问题,急需解决?

0 自己的理解及概括

为了建设高性能数据中心,计算和存储都发展很好,但是网络发展不好。传统TCP/IP网络在数据中心里有2个大问题:1TCP/IP协议栈处理时延大,2 服务器CPU负载高;为了解决这个问题,RoCE技术诞生了。RoCE它的发展过程是远程直接内存访问(RDMA)技术可以解决网络延迟,CPU负载高的问题;RDMA最初用在Infiniband网络中,Infiniband网络里面一切都是专用的,无丢包的无损网络;当RDMA技术应用在以太网中就不行了,因为以太网缺乏完善的丢包保护机制,所以有丢包RDMA就不好用了;为了能用RDMA把原生以太网通过PFC,ECN,DCBX,ETS技术改造成为无丢包的网络;RoCE是基于以太网的RDMA技术。

当然无损网络还有许多其它的问题需要解决,比如:线头阻塞,死锁等!

1 传统TCP/IP网络发展困境

​ 建设高性能数据中心的传统思路,一方面是推动数据中心网络带宽升级进而带动组网架构升级(即10G/40G模型向25G/100G组网模型演进,进而向100G/400G模型演化);另外一方面则是引入基于SDN Telemetry等智能管理技术使数据中心网络实现自动化、智能化运维管理,最终实现数据中心网络“管控析”业务融合升级。

​ 数据中心基础设施三大件:计算、存储和网络。计算和存储技术近些年都有长足的进步。

计算:在CPU基础上,出现了像GPU、TPU等为特定场景、特定业务而生的处理器芯片,计算效率成百上千的提升。

存储:在HDD机械硬盘的基础上,出现了SSD全闪存产品,存取效率也得到质的飞跃。

网络:虽然出现了SDN技术,但其内核本质还是TCP/IP技术,而TCP/IP处理机制是“尽力而为”,涉及“TCP/IP协议栈处理时延大”和“因协议栈处理机制带来的CPU负载居高不下的问题”,并没有太大的改进;

  • TCP/IP协议栈处理时延大:
  1. TCP协议栈在收/发报文时,需要做多次上下文切换,每次切换需耗费5μs~10μs左右时延;
  2. 以及至少三次的数据拷贝,严重依赖CPU进行协议封装,协议栈本身就有数十微秒的固定时延,使得在AI人工智能和SSD分布式存储-微秒级系统中,协议栈时延成为最明显的瓶颈;
  • 服务器CPU负载高:
  1. 除固定时延问题,TCP/IP还需主机CPU多次参与协议栈内存拷贝。网络规模越大,网络带宽越高, CPU在收发数据时的调度负担越大,导致CPU持续高负载。
  2. 按照业界测算数据:每传输1bit数据需要耗费1Hz的CPU资源;当网络带宽达到25G以上(满载),绝大多数服务器,至少50% CPU资源将不得不用来传输数据。

传统TCP/IP网络面对新业务时候自身瓶颈被无限放大,导致CPU资源被无限消耗,难道就没有技术能解决这个问题吗?有没有可以解放CPU资源,又能兼顾网络的实现方案呢?

2 RoCE技术适时而生

RoCE(RDMA over Converged Ethernet)是一种允许通过以太网使用远程直接内存访问(RDMA)的网络协议。

传统TCP/IP技术在数据包处理过程中,需要首先经过软件应用和操作系统的处理,需要占用大量的服务器资源和内存总线带宽资源,这一过程中存在多次数据拷贝、中断处理以及处理复杂的TCP/IP协议处理等问题,从而无可避免地就会带来网络时延过大的结果。

RDMA(Remote Direct Memory Access)技术全称“远程直接内存访问”,是为了解决网络传输中服务器端数据处理的延迟而产生的技术,该技术支持将用户应用中的数据直接传入服务器存储区,通过网络将数据从一个系统快速传输至远程系统的存储中。

img

(图:TCP/IP和RDMA协议栈处理流程对比)

RDMA技术实现了在网络传输过程中两个节点之间数据缓冲区数据的直接传递,在本节点可以直接将数据通过网络传送到远程节点的内存中,绕过操作系统内的多次内存拷贝,相比于传统的网络传输,RDMA无需操作系统和TCP/IP协议栈的介入,可以轻易的实现超低延时的数据处理、超高I/O吞吐量的传输,基本不需要远程节点CPU等资源的介入,不必因为数据的处理和迁移耗费过多的资源

RDMA技术最早出现在Infiniband网络,用于HPC高性能计算集群的互联。传统的基于Socket套接字(TCP/IP协议栈)的网络通信,需要经过操作系统软件协议栈,数据在系统DRAM、处理器Cache和网卡Buffer之间来回拷贝搬移,因此占用了大量的CPU计算资源和内存总线带宽,也加大了网络延时。

img

(图:RDMA协议的技术优势)

**举个栗子:**40Gbps的TCP/IP流能耗尽主流服务器的所有CPU资源,RDMA技术则很好地解决了传统TCP/IP通信的技术痛点。在40Gbps场景下,采用RDMA技术的服务器,CPU占用率会从100%下降到5%,网络延时从ms级降低到10μs以下,极端场景下甚至会更多,所以RDMA技术带来的优势是显而易见的,同时RDMA技术又可以在数据中心几乎所有业务流量场景都可以采用,比如应用到应用、计算到计算、计算到存储和存储到存储四类场景,并且对于数据中心数据读取效率的提升也是显而易见的。

img

(图:RDMA技术在四类场景流量模拟)

现阶段,RDMA网络技术主要为Infiniband、RoCE和iWARP。

1 Infiniband网络主要出现在HPC高性能计算场景,因为其自身技术特点的因素,该技术采用的一切都是专用的,包括应用程序、编程接口、网络协议、网卡、网络设备和硬件接口形式乃至管理软件都是专用的。

2 iWARP基于TCP/IP协议的RDMA技术,由IETF标准定义发布,本文受制于篇幅所限,重点介绍RoCE技术。

3 RoCE技术基于以太网的RDMA技术,Emulex联合IBTA(InfiniBand Trade Association, InfiniBand行业协会)共同宣布推出,发展至今已经发布两个版本,最新RoCEv2版本,将IB的GRH(Global Routing Header)换成UDP Header + IP Header。 RoCE v2工作在UDP之上,采用UDP 4791端口进行传输,支持路由,所以有时又会称为可路由的RoCE,简称RRoCE。

img

(图:主流RDMA技术演化与对比)

出现新的RDMA技术后,如何实现在以太网上运行的呢?

3 RoCE:RDMA技术在以太网落地生根

RDMA的提出之初是被承载于无损的InfiniBand网络中,Infiniband网络提供完善的丢包重传机制,对于InfiniBand架构,接收端仅可接收有序报文,如果有丢包发生,会引起流中断;当有丢包发生时, 接收端会发送带有PSN (packet sequence number报文序列号) 的NACK (not ACK否认字符) 控制报文到发送端,来重传丢失报文及后续报文。

img

图1:基于InfiniBand的重传机制

但是当RDMA技术应用在以太网中时候,以太网本质是“尽力而为”的网络,因为以太网缺乏完善的丢包保护机制,对于丢包异常敏感,超过0.1%(千分之一)的丢包率将导致网络有效吞吐急剧下降至75%;而1%的丢包则使得网络有效吞吐率几乎下降为0;所以要使得RDMA吞吐不受影响,丢包率最好保证在万分之一(0.1‰)甚至是十万分之一(0.01‰)以下,即最好无丢包。

img

图2:传统以太网缺少完善的丢包保护机制

而原生以太网的设计理念是“尽力而为”的网络,并不是无损网络,因此无损以太网络则需要PFC基于优先级的流量控制(Priority-based Flow Control,IEEE802.1Qbb)、ECN显示拥塞通知(Ethernet Congestion Notification,IEEE802.1Qau)、DCBX数据中心桥能力交换协议(Data Center Bridging Exchange Protocol,IEEE802.1Qaz)和ETS增强传输选择(Enhanced Transmission Selection,IEEE802.1Qaz)四个技术配合完成,其中以太网层主要是PFC、ETS、DCBX;IP层主要是ECN;IB传输层主要是ECN,业务处理流程大致如下:

img

图3:RDMA无损以太网计算场景技术全景图

构建无损以太网,必须支持以下关键特性:

  • **数据缓冲区管理和监控:**根据流量特点调整端口、队列能够使用的缓冲区大小,并通过命令行方式或gRPC上报缓冲区使用情况。数据缓冲区大小调整请根据需要在专业人士指导下进行,数据缓冲区监控建议配置。
  • **(必选)PFC(Priority-based Flow Control,基于优先级的流量控制):**逐跳提供基于优先级的流量控制,能够实现在以太网链路上运行多种类型的流量而互不影响。
  • **(必选)ECN(Explicit Congestion Notification,显示拥塞通知):**设备发生拥塞时,通过对报文IP头中ECN域的标识,由接收端向发送端发出降低发送速率的CNP(Congestion Notification Packet,拥塞通知报文),实现端到端的拥塞管理,减缓拥塞扩散恶化。
  • **(建议)DCBX(Data Center Bridging Exchange Protocol,数据中心桥能力交换协议):**使用LLDP自动协商DCB能力参数,包括PFC和ETS等。一般用在接入交换机连接服务器的端口,与服务器网卡进行能力协商。
  • **(可选)ETS(Enhanced Transmission Selection,增强传输选择):**将流量按服务类型分组,在提供不同流量的最小带宽保证的同时提高链路利用率,保证重要流量的带宽百分比。需要逐跳提供。

其中PFC和ECN是其中两个必选技术,一般情况推荐使用。虽然PFC是二层技术,ECN是网络层和传输层技术,但是PFC与ECN能够同时使能,并且推荐在RoCE环境中同时使能,以保证RoCE报文无丢包并且网络带宽得到保证。从充分发挥网络高性能转发角度,一般建议通过调整ECN和PFC的buffer水线,让ECN快于PFC触发,即网络还是持续全速进行数据转发,让服务器主动降低发包速率。若还不能解决问题,再通过PFC让上游交换机暂停报文发送,虽然整网吞吐性能降低,但是不会产生丢包,两大技术相互配合以期最终实现网络无损。

4 参考文献

1 智能联接丨AD-DC SeerFabric智能无损数据中心网络(一)

https://zhuanlan.zhihu.com/p/396579324

2 智能联接丨AD-DC SeerFabric智能无损数据中心网络(二)RoCE技术

https://zhuanlan.zhihu.com/p/399051879

3 智能联接丨AD-DC SeerFabric智能无损数据中心网络(三)

https://zhuanlan.zhihu.com/p/401776533

(二)RoCE技术

https://zhuanlan.zhihu.com/p/399051879

3 智能联接丨AD-DC SeerFabric智能无损数据中心网络(三)

https://zhuanlan.zhihu.com/p/401776533

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值