97国际

一机领航,向光而生 丨 97国际网络一机一网3.0秋季新品宣布会
预约直播
以AI为焦点,让资产可管可控,数据鲜活有用 丨 企业智能运维实践宣布会
预约直播
97国际·(中国区)集团官方网站
产品
< 返回主菜单
产品中心
产品
解决计划
< 返回主菜单
解决计划中心
行业
合作伙伴
返回主菜单
选择区域/语言
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站

202697国际官网
用户体验调研

马上加入
97国际·(中国区)集团官方网站

您订阅的产品有更新,请实时查阅

审查详情
97国际·(中国区)集团官方网站 97国际·(中国区)集团官方网站

如作甚RDMA构建无损网络

【RDMA】本文主要先容为什么我们需要RDMA?为什么我们需要无损网络?这些先进的手艺事实能给我们带来什么利益?并详细先容如作甚RDMA构建无损网络。

  • 97国际·(中国区)集团官方网站

    宣布时间:2018-09-12

  • 97国际·(中国区)集团官方网站

    点击量:

  • 97国际·(中国区)集团官方网站

    点赞:

分享至

97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站

我想谈论

我们为什么需要无损网络

看过前面几期的手艺文章,相信各人对RDMA(Remote Direct Memory Access,远程直接数据存取)和无损网络有了一定的熟悉,也许各人会问为什么我们需要RDMA?为什么我们需要无损网络?这些先进的手艺事实能给我们带来什么利益?

只从网络层面来看可能无法得出令人知足的谜底,下面划分以前端营业和后端应用,简朴枚举几个例子,相信各人可以从中解开疑惑。

首先想说的是互联网中大宗的在线营业,例如在线搜索、购物、直播等,它需要以非�?斓乃俾识愿咂德实挠没肭笞龀鲇Υ�,数据中心内任何一个环节导致延迟,都会对终端用户的会见体验造成极大的影响,从而影响其流量、口碑、活跃用户等。

 

尚有在机械学习和AI的手艺趋势下,对盘算能力的需求是呈几何级数上升的,为了知足日益重大的神经网络和深度学习模子,数据中心会保存大宗的漫衍式盘算集群,但大宗并行程序的通讯延迟,则会极大影响整个盘算历程的效率。

另外为相识决数据中心内爆炸式增添的数据存储和读取效率问题,使用以太网融合组网的漫衍式存储越来越受到欢迎。但由于存储网络中数据流以大象流为主,以是一旦因拥塞造成丢包,将会引发大象流重传,不但降低效率,还会加重拥塞。

以是以前端用户的体验和后端应用的效率来看,眼下关于数据中心网络的要求是:延迟越低越好,效率越高越好。

为了降低数据中心内部网络延迟,提高处置惩罚效率,RDMA手艺应运而生,通过允许用户态的应用程序直接读取和写入远程内存,而无需CPU介入多次拷贝内存,并可绕过内核直接向网卡写数据,实现了高吞吐量、超低时延和低CPU开销的效果。

目今RDMA在以太网上的传输协议是RoCEv2,RoCEv2是基于无毗连协议的UDP协议,相比面向毗连的TCP协议,UDP协议越发快速、占用CPU资源更少,但其不像TCP协议那样有滑动窗口、确认应答等机制来实现可靠传输,一旦泛起丢包,依赖上层应用检查到了再做重传,会大大降低RDMA的传输效率。

以是要想施展出RDMA真正的性能,突破数据中心大规模漫衍式系统的网络性能瓶颈,势须要为RDMA搭建一套不丢包的无损网络情形,而实现不丢包的要害就是解决网络拥塞。

 

为什么会爆发拥塞

爆发拥塞的缘故原由有许多,下面枚举了在数据中心场景里较量要害也是较量常见的三点缘故原由:

收敛比

举行数据中心网络架构设计时,从本钱和收益两方面来思量,大都会接纳非对称带宽设计,即上下行链路带宽纷歧致,交流机的收敛比简朴说就是总的输入带宽除以总的输出带宽。以97国际万兆交流机RG-S6220-48XS6QXS-H为例,下行可供服务器输入的带宽是48*10G=480G,上行输出的带宽是6*40G=240G,整机收敛比为2:1。而25G交流机RG-S6510-48VS8CQ,下行可供服务器输入的带宽是48*25G=1200G,上行输出的带宽是8*100G=800G,整机收敛比是1.5:1。

也就是说,当下联的服务器上行发包总速率凌驾上行链路总带宽时,就会在上行口泛起拥塞。

ECMP

目今数据中心网络多接纳Fabric架构,并接纳ECMP来构建多条等价负载平衡的链路,通过设置扰动因子并HASH选择一条链路来转发是简朴的,但这个历程中却没有思量到所选链路自己是否有拥塞。ECMP并没有拥塞感知的机制,只是将流疏散到差别的链路上转发,关于已经爆发拥塞的链路来说,很可能加剧链路的拥塞。

TCP Incast

TCP Incast是Many-to-One的通讯模式,在数据中心云化的大趋势下这种通讯模式经常爆发,尤其是那些以Scale-Out方法实现的漫衍式存储和盘算应用,包括Hadoop、MapReduce、HDFS等。
例如,当一个Parent Server向一组节点(服务器集群或存储集群)提倡一个请求时,集群中的节点都会同时收到该请求,并且险些同时做出响应,许多节点同时向一台机械(Parent Server)发送TCP数据流,从而爆发了一个“微突发流”,使得交流机上毗连Parent Server的出端口缓存缺乏,造成拥塞。

 

97国际·(中国区)集团官方网站

▲TCP Incast流量模子

 

正如前面所说,RDMA和TCP差别,它需要一个无损网络。关于通俗的微突发流量,交流机的Buffer缓冲区可以起到一定作用,在缓冲区将突发的报文举行排队期待,但由于增添交流机Buffer容量的本钱很是高,以是它所能起到的作用是有限的,一旦缓冲区排队的报文过多,仍然会爆发丢包。

为了实现端到端的无损转发,阻止由于交流机中的Buffer缓冲区溢出而引发的数据包丧失,交流机必需引入其他机制,如流量控制,通过对链路上流量的控制,镌汰对交流机Buffer的压力,来规避丢包的爆发。

 

PFC怎样实现流控

IEEE 802.1Qbb(Priority-based Flow Control,基于优先级的流量控制)简称PFC,是IEEE数据中心桥接(Data Center Bridge)协议族中的一个手艺,是流量控制的增强版。

 

说PFC之前,我们可以先看一下IEEE 802.3X(Flow Control)流控的机制:当吸收者没有能力处置惩罚吸收到的报文时,为了避免报文被扬弃,吸收者需要通知报文的发送者暂时阻止发送报文。

如下图所示,端口G0/1和G0/2以1Gbps速率转发报文时,端口F0/1将爆发拥塞。为阻止报文丧失,开启端口G0/1和G0/2的Flow Control功效。

97国际·(中国区)集团官方网站

▲端口爆发拥塞的打流模子

 

当F0/1在转发报文泛起拥塞时,交流机B会在端口缓冲区中排队报文,当拥塞凌驾一定阈值时,端口G0/2向G0/1发PAUSE帧,通知G0/1暂时阻止发送报文。

G0/1吸收到PAUSE帧后暂时阻止向G0/2发送报文。暂停时间是非信息由PAUSE帧所携带。交流机A会在这个超时规模内期待,或者直到收到一个Timeout值为0的控制帧后再继续发送。

IEEE 802.3X协议保存一个弱点:一旦链路被暂停,发送方就不可再发送任何数据包,若是是由于某些优先级较低的数据流引发的暂停,效果却让该链路上其他更高优先级的数据流也一起被暂停了,着实是得不偿失的。

如下图中报文剖析所示,PFC在基础流控IEEE 802.3X基础上举行扩展,允许在一条以太网链路上建设8个虚拟通道,并为每条虚拟通道指定响应优先级,允许单独暂停和重启其中恣意一条虚拟通道,同时允许其它虚拟通道的流量无中止通过。

 

97国际·(中国区)集团官方网站

▲PFC协议报文结构剖析

 

PFC将流控的粒度从物理端口细化到8个虚拟通道,划分对应Smart NIC硬件上的8个硬件发送行列(这些行列命名为Traffic Class,划分为TC0,TC1,...,TC7),在RDMA差别的封装协议下,也有差别的映射方法。

RoCEv1

这个协议是将RDMA数据段封装到以太网数据段内,再加上以太网的头部,因此属于二层数据包。为了对它举行分类,只能使用VLAN(IEEE 802.1q)头部中的PCP(Priority Code Point)域3 Bits来设置优先级值。

 

97国际·(中国区)集团官方网站

▲二层以太网帧VLAN头部结构

 

RoCEv2

这个协议是将RDMA数据段先封装到UDP数据段内,加上UDP头部,再加上IP头部,最后再加上以太网头部,属于三层数据包。对它举行分类,既可以使用以太网VLAN中的PCP域,也可以使用IP头部的DSCP域。

 

97国际·(中国区)集团官方网站

▲三层IP报文头部结构

 

简朴来说,在二层网络的情形下,PFC使用VLAN中的PCP位来对数据流举行区分,在三层网络的情形下,PFC既可以使用PCP、也可以使用DSCP,使得差别数据流可以享受到自力的流控制。当下数据中心因多接纳三层网络,因此使用DSCP比PCP更具有优势。

 

PFC死锁

虽然PFC能够通过给差别行列映射差别优先级来实现基于行列的流控,但同时也引入了新的问题,例如PFC死锁的问题。

PFC死锁,是指当多个交流机之间因微环路等缘故原由同时泛起拥塞,各自端口缓存消耗凌驾阈值,而又相互期待对方释放资源,从而导致所有交流机上的数据流都永世壅闭的一种网络状态。

正常情形下,当一台交流机的端口泛起拥塞并触发XOFF水线时,数据进入的偏向(即下游装备)将发送PAUSE帧反压,上游装备吸收到PAUSE帧后阻止发送数据,若是其外地端口缓存消耗凌驾阈值,则继续向上游反压。云云一级级反压,直到网络终端服务器在PAUSE帧中指定Pause Time内暂停发送数据,从而消除网络节点因拥塞造成的丢包。

但在特殊情形下,例如爆发链路故障或装备故障时,BGP路由重新收敛时代可能会泛起短暂环路,会导致泛起一个循环的缓冲区依赖。如下图所示,当4台交流机都抵达XOFF水线,都同时向对端发送PAUSE帧,这个时间该拓扑中所有交流机都处于停流状态,由于PFC的反压效应,整个网络或部分网络的吞吐量将变为零。
 

 

97国际·(中国区)集团官方网站

▲PFC死锁示意图

 

纵然在无环网络中形成短暂环路时,也可能爆发死锁。虽然经由修复短暂环路会很快消逝,但它们造成的死锁不是暂时的,即便重启服务器中止流量,死锁也不可自动恢复。

为了扫除死锁状态,一方面是要杜绝数据中心里的环路爆发,另一方面则可以通过网络装备的死锁检测功效来实现。97国际RG-S6510-48VS8CQ上的Deadlock检测功效,可以检测到泛起Deadlock状态后的一段时间内,忽略收到的PFC帧,同时对buffer中的报文执行转发或扬弃的操作(默认是转发)。

例如,准时器的监控次数可设置设置检测10次,每次10ms内检测是否收到PFC Pause帧。若10次均收到则说明爆发Deadlock,对buffer中的报文执行默认操作,之后将设置100ms作为Recover时间后恢复再检测。下令如下:

priority-flow-control deadlock cos-value 5 detect 10 recover 100  //10次检测,100ms recover。

RDMA无损网络中使用PFC流控机制,实现了交流机端口缓存溢出前暂停对端流量,阻止了丢包征象爆发,但由于需要一级一级反压,效率较低,以是需要更高效的、端到端的流控能力。

 

使用ECN实现端到端的拥塞控制

目今的RoCE拥塞控制依赖ECN(Explicit Congestion Notification,显式拥塞通知)来运行。ECN最初在RFC 3168中界说,网络装备会在检测到拥塞时,通过在IP头部嵌入一个拥塞指示器和在TCP头部嵌入一个拥塞确认实现。

RoCEv2标准界说了RoCEv2拥塞管理(RCM)。启用了ECN之后,网络装备一旦检测到RoCEv2流量泛起了拥塞,会在数据包的IP头部ECN域举行标记。

 

97国际·(中国区)集团官方网站

▲IP报文头ECN字段结构

 

这个拥塞指示器被目的终端节点凭证BTH(Base Transport Header,保存于IB数据段中)中的FECN拥塞指示标识来诠释意义�;痪浠八�,当被ECN标记过的数据包抵达它们原本要抵达的目的地时,拥塞通知就会被反响给源节点,源节点再通过对有问题的Queue Pairs(QP)举行网络数据包的速率限制往返应拥塞通知。

 

ECN交互历程

 

97国际·(中国区)集团官方网站

▲ECN交互历程示意图

 

• 发送端发送的IP报文标记支持ECN(10);

• 交流机在行列拥塞情形下收到该报文,将ECN字段修改为11并发出,网络中其他交流机将透传;

• 吸收端收到ECN为11的报文发明拥塞,正常处置惩罚该报文;

• 吸收端爆发拥塞通告,每ms级发送一个CNP(Congestion Notification Packets)报文,ECN字段为01,要求报文不可被网络扬弃。吸收端对多个被ECN标记为统一个QP的数据包发送一个单个CNP即可(名堂划意见下图);

• 交流机收到CNP报文后正常转发该报文;

• 发送端收到ECN标记为01的CNP报文剖析后对响应的流(对应启用ECN的QP)应用速率限制算法。

RoCEv2的CNP包名堂如下:

 

97国际·(中国区)集团官方网站

▲CNP报文结构

 

值得注重的是,CNP作为拥塞控制报文,也会保存延迟和丢包,从发送端到吸收端经由的每一跳装备、每一条链路都会有一定的延迟,会最终加大发送端吸收到CNP的时间,而与此同时交流机端口下的拥塞也会逐步增多,若发送端不可实时降速,仍然可能造成丢包。建议拥塞通告域的规模不要过大,从而阻止由于ECN控制报文交互回路的跳数过多,而影响发送端无法实时降速,造成拥塞。

 

 

总结

RDMA网络正是通过在网络中安排PFC和ECN功效来实现无损包管。PFC手艺让我们可以对链路上RDMA专属行列的流量举行控制,并在交流机入口(Ingress port)泛起拥塞时对上游装备流量举行反压。使用ECN手艺我们可以实现端到端的拥塞控制,在交流机出口(Egress port)拥塞时,对数据包做ECN标记,并让流量发送端降低发送速率。

从充分验展网络高性能转发的角度,我们一样平常建议通过调解ECN和PFC的buffer水线,让ECN快于PFC触发,即网络照旧一连全速举行数据转发,让服务器自动降低发包速率。若是还不可解决问题,再通过PFC让上游交流机暂停报文发送,虽然整网吞吐性能降低,可是不会爆发丢包。

在数据中心网络中应用RDMA,不但要解决转发面的无损网络需求,还要关注细腻化运维,才华应对延迟和丢包敏感的网络情形。有关MMU的细腻化管理手艺以及基于INT的网络可视化手艺可参考往期文章。

 

97国际25G/100G数据中心解决计划

即将亮相2018杭州 · 云栖大会,等你来撩!

97国际·(中国区)集团官方网站

 

本期作者:赵爽

97国际网络互联网系统部行业咨询

97国际·(中国区)集团官方网站

 

往期精彩回首  

  • 【第一期】浅谈物联网手艺之通讯协议的纷争
  • 【第二期】怎样通过网络遥测(Network Telemetry)手艺实现细腻化网络运维?
  • 【第三期】泛论数据中心网络运维自动化
  • 【第四期】基于Rogue AP反制的无线清静手艺探讨
  • 【第五期】流量可视化之ERSPAN的宿世今生
  • 【第六期】怎样实现数据中心网络架构“去”堆叠
  • 【第七期】运维可视化之INT功效详解
  • 【第八期】浅析RDMA网络下MMU水线设置
  • 【第九期】第七代无线手艺802.11ax详解
  • 【第十期】数据中心自动化运维手艺探索之交流机零设置上线
  • 【第十一期】 手艺盛宴 | 浅谈数据中心100G光�?�
  • 【第十二期】数据中心网络等价多路径(ECMP)手艺应用研究

 

相关推荐:

更多手艺博文

任何需要,请联系97国际

97国际·(中国区)集团官方网站

返回顶部

收起
97国际·(中国区)集团官方网站 文档AI助手
97国际·(中国区)集团官方网站 文档评价
资料内容是否对您有资助?
您对目今页面的知足度怎样?
不咋滴
很是好
您知足的缘故原由是(多选)?
您对文档是否尚有其它的问题或建议?
为尽快解决问题,请您留下联系方法以便回复
邮箱
手机号
谢谢您的反响!
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反响 意见反响
意见反响
更多联系方法
网站地图