一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

拥塞位置可感知的低时延数据中心网络传输系统及方法与流程

2022-03-02 04:01:33 来源:中国专利 TAG:


1.本发明属于计算机网络领域,具体涉及数据中心网络传输系统。


背景技术:

2.近些年,互联网发展非常迅速,互联网应用和服务需要的物理资源不断增加,导致单台服务器逐渐难以满足业务在计算、存储以及网络等物理资源的需求。为此,各类互联网应用及服务通常采用分布式的部署方式协作完成某项任务,设备间的交互非常频繁。由于高时延不但会对应用的性能造成损失,同时也会使服务提供商蒙受收益损失,因此互联网服务及应用对低时延的有着极高的要求。在数据中心内,相较于网络硬件处理的时延,数据流的排队时间构成了传输时延的主要部分。数据中心作为应用部署的实际载体,实现数据流在数据中心内尽量快的完成传输,是设计传输策略最为重要的目标。
3.现有技术中的传输策略主要分为三大类包括发送端驱动、接收端驱动以及集中控制器驱动。基于发送端驱动的低时延传输方法如dctcp、l2dct、timely以及hpcc,相关策略是通过ecn、rtt或者int获取网络内的拥塞,在发送端对传输的速率或者窗口进行调节来降低数据包在网络经过的排队时延。基于接收端驱动的低时延传输方法如phost、expresspass、ndp以及homa,相关策略是根据接收端的接收能力,利用向发送端发送的credit、token或者grant,在packet的粒度上控制注入到网络内数据包的总量,依次减少数据流在网络上内的排队时延。对于集中控制器驱动的低时延传输方法如fastpass,相关策略是通过获取全局的网络拓扑以及流量信息,为每个packet进行传输路径和时间片的规划以实现网络内传输的无阻塞。
4.然而,无论发送端驱动、接收端驱动或者集中控制器来驱动的延传输策略对于流量的发送都太过谨慎。具体的来讲,网络流量的动态变化使得任何链路在任何时刻都有可能成为瓶颈链路,为了应对网络已经出现或者潜在的瓶颈链路,以上的传输策略通常采用让数据包在发送端等待的方法。数据包一直在源端保持等待直到接收到来自于驱动端开始发送的指令。一方面,这样做的确可以阻止更多的数据包发送到网络内,从而避免瓶颈链路变得更加拥塞。但另一方面,瓶颈链路存在于某一跳,由于无法得知拥塞的具体位置,以往做法暂停的是整个端到端的完整路径,这导致了源端到瓶颈链路带宽浪费。同时,网络拥塞存在于网络内,但是对于网络拥塞的调节点发生在远处的端设备,基于端驱动的传输策略无法随拥塞状态的改变最快的做出反应。


技术实现要素:

5.本发明旨在设计一种拥塞位置可感知的低时延数据中心网络传输方法,利用瓶颈链路的前一跳进行调度与源端控制相结合的方法,实现了高效的低时延传输。
6.本发明通过以下技术方案实现:
7.一种拥塞位置可感知的低时延数据中心网络传输系统,该系统包括发送端10、交换机20和接收端30;其中:
8.所述发送端10进一步包括探测包生成模块101、数据流on-off速率调节模块102、数据流可发送表103以及被暂停数据流表104;所有初始状况下的数据流都保存在数据流可发送表103中、并根据数据流的大小划分优先级以及由发送端10按照最小剩余优先原则以线速发送;所述探测包生成模块101负责在每个rtt为每条数据流生成一个在网络内拥有最高优先级的用以探测传输路径上的拥塞状况的探测包;所述数据流on-off速率调节模块102负责在当前数据流瓶颈链路拥塞严重时暂停相应数据流的发送,并将其从所述数据流可发送表103转移到所述被暂停数据流表104,直至严重的拥塞被缓解;
9.所述交换机20进一步包括数据包标记模块201和利它流调度模块202;所述数据包标记模块201负责利用可编程交换机普遍支持的int技术将数据包经过端口的队列长度等相关信息打入到int包头,对接收端30返回的pack的int包头相关字段进行动态操作,用以与交换机20动态交互相关信息;所述利它流调度模块202负责数据包的调度,利用p4支持的recycle机制将不能发往下一跳的数据包放到其他负载低的端口给暂存,等需要的时候再拿回来;
10.所述接收端30进一步包括拥塞解析模块301和ack生成模块302;所述拥塞解析模块301负责分析携带着每一跳链路拥塞信息的探测包中的int包头具体数值,找出该链路路径上最大的拥塞点,判断是否存在瓶颈链路,获得该链路拥塞的等级,同时计算从接收端到瓶颈链路的距离;ack生成模块302负责分别给数据包和探测包返回ack消息以及数据包。
11.一种拥塞位置可感知的低时延数据中心网络传输方法,该方法包括以下流程:
12.步骤1:发送端判断被暂停数据流表和数据流可发送表这两个表的数据流是否需要发送探测包;
13.步骤2:当探测包其离开交换机的输出端口时,交换机把当前端口的队列长度信息写入到探测包的int包头;
14.步骤3:接收端收到探测包后,提取int包内的队列长度信息,找到最拥堵的点,并根据拥塞阈值判断属于轻度拥塞还是重度拥塞;
15.步骤4:当数据包原路返回给接收端的过程中,交换机寻找瓶颈链路,从而告知瓶颈链路前一跳的交换机对相应的数据流进行利它流调度;
16.步骤5:当交换机通过与pack包的int包头交互知晓本跳为瓶颈链路的前一跳,在此跳的对应端口进行利它流调度算法;
17.步骤6:ack和pack包最后被反馈给发送端,发送端根据反馈包携带的信息进行状态信息的更改。
18.与现有技术相比,本发明在源端以线速发送数据流实现传输速率的快速收敛,而当瓶颈链路拥塞较重时,利用源端直接对数据流进行控制;而当瓶颈链路轻度拥塞时,通过将数据包推送到临近瓶颈链路的前一跳进行网络调度,既可以最大程度利用源端到瓶颈链路的带宽,又不会加重瓶颈链路的拥塞。
附图说明
19.图1是本发明的一种拥塞位置可感知的低时延数据中心网络传输系统架构图;
20.图2是本发明的传输策略流程图;
21.图3是本发明的瓶颈链路识别机制流程图。
具体实施方式
22.以下结合附图和具体实施例对本发明的技术方案进行详细说明。
23.如图1所示,是本发明的一种拥塞位置可感知的低时延数据中心网络传输系统架构图。该系统包括发送端10、交换机20和接收端30。其中:
24.发送端10包括探测包生成模块101(probe packet generation,缩写为ppg)、数据流on-off速率调节模块102(on-offrate control,缩写为rc)102、数据流可发送表103(transmission flow list,缩写为tfl)以及被暂停数据流表104(suspended flow list,缩写为sfl)组成。初始状况下,所述发送端10的所有数据流都保存在数据流可发送表103中、并根据数据流的大小划分优先级以及由发送端10按照最小剩余优先原则以线速发送。探测包生成模块101负责在每个rtt(往返时延)为每条数据流生成一个在网络内拥有最高优先级的用以探测传输路径上的拥塞状况的探测包。根据返回的包含探测包的数据包(pack)判断,若当前数据流瓶颈链路拥塞较严重,数据流on-off速率调节模块102将暂停相应数据流的发送,并将其从数据流可发送表103转移到被暂停数据流表104直至严重的拥塞被缓解。在发送端10,数据流on-off速率调节模块102始终以线速向网络发送数据流可发送表103中的数据流以最大化链路利用率。
25.交换机20包括数据包标记模块201(packet tagging,缩写为pt)和利它流调度模块202(altruistic scheduling,缩写为as)。数据包标记模块201负责利用可编程交换机普遍支持的int技术将数据包经过端口的队列长度等相关信息打入到int包头,对接收端30返回的pack的int包头相关字段进行动态操作,用以与交换机20动态交互相关信息。利它流调度模块202负责数据包的调度,是交换机模块工作的重点,其核心思想在于让下一跳要经历瓶颈链路的数据包让路给其他下一跳不拥塞的包,具体实现是利用p4支持的recycle机制将不能发往下一跳的数据包放到其他负载低的端口给暂存着,等需要的时候再拿回来。本发明中的交换机20根据需要可采用多个交换机设备串联形式。串联的交换机设备连接于所述发送端20和所述接收端30之间。
26.接收端30包括拥塞解析模块301(congestionparsing,缩写为cp)和ack生成模块302(ack generation,缩写为ag)。对于,拥塞解析模块301分析携带着每一跳链路拥塞信息的探测包中的int包头具体数值,找出该链路路径上最大的拥塞点,判断是否存在瓶颈链路,获得该链路拥塞的等级,同时计算从接收端到瓶颈链路的距离。ack生成模块302负责分别给数据包和探测包返回ack消息以及数据包,ack生成模块302在生成及数据包时,会将拥塞解析模块301分析出的瓶颈链路状况以及距离瓶颈链路的长度写入到数据包的int包头内,从而告知交换机设备或者发送端该条数据流经历的网络状况。
27.上述的数据包类型主要有data、probe、ack以及pack,分别表示数据包、探测包、数据包的确认包以及探测包的确认包。瓶颈链路在这里被定义为每条数据流在传输路径上最拥塞且超过一定拥塞阈值的链路。本发明中的交换机采用支持p4语言的商用可编程交换机,并按照严格优先级的调度策略转发数据包。
28.如图2所示,是本发明的一种拥塞位置可感知的低时延数据中心网络传输方法流程图。本发明通过栈网协同方法,实现了数据中心网络内数据流的低时延传输。具体的实施方案如下:
29.步骤1:发送端判断被暂停数据流表和数据流可发送表这两个表的数据流是否需
要发送探测包,判断规则是:距离上次发送探测包是否超过一个rtt;若需要,则为对应的数据流分别发送一个探测包,然后依照最小剩余流优先的原则从数据流可发送表中选取要发送的数据流进行发送;
30.步骤2:探测包在网络上中传输,当其离开交换机的输出端口时(egress port),交换机把当前端口的队列长度信息写入到探测包的int包头;对于其他类型数据包,交换机不做写入此类信息的操作;
31.步骤3:接收端收到探测包后,提取int包内的队列长度信息,找到最拥堵的点,并根据拥塞阈值判断属于轻度拥塞还是重度拥塞。本发明重定义了int包头的剩余跳数字段(remaining hop count,缩写为rhc),利用此字段的前2位(congestion level,缩写为cl)表示拥塞类型,后6位(remaining hop-to-bottleneck,缩写为rhb)来表示瓶颈链路前一跳距离接收端的距离,对于瓶颈链路拥塞程度的定义为:
32.不拥塞:00
33.轻度拥塞:01
34.重度拥塞:10
35.步骤4:当数据包原路返回给接收端的过程中,交换机根据以上重定义的字段寻找瓶颈链路,从而告知瓶颈链路前一跳的交换机对相应的数据流进行利它流调度。寻找瓶颈链路的具体操作如下:
36.a.若cl域为“10”且rhb域大于1,说明尚未到达瓶颈链路前一跳,交换机将rhb做减1操作;
37.b.若cl与为“10”且rhb域为1,说明处于瓶颈链路,交换机将rhb做减1操作的同时将当前跳正在发送的优先级写入到int包头的优先级字段;
38.c.若cl域为“10”且rhb域为0,说明已经到达瓶颈链路前一跳,交换机将cl重置为“00”。
39.d.若cl域为“00”或“10”则不做处理;
40.如图3所示,是本发明的瓶颈链路识别机制流程图。瓶颈链路识别机制流程实现了瓶颈链路的发现过程,当某探测包代表的数据流传输过程遇到的瓶颈链路被认定为是轻度拥塞时,因此从接收端发出的pack包中int包头的cl域被置为“01”。假设switch c是瓶颈链路,则接收端与瓶颈链路的前一跳中间相隔2个交换机,故rhb域被设置为2。经过switch d后,交换机对rhb做减1操作,故cl和rhb分别为“01”和1。当pack继续前往下一跳,switch c通过以上两个字段的值判断出自身是瓶颈链路,需要把自身正在发送的优先级写入到int包头的优先级字段。而到达switch b时,cl和rhb分别为“01”和0,即switch b为此流瓶颈链路的前一跳,需要对此数据流做出利它流调度并将pack的cl字段改为“00”。switcha不再对cl为“00”的pack做进一步判断而只是进行转发的操作。当源端收到此pack时,由于cl域不为“10”,因此保持数据流的线速发送而无需做出暂停操作。
41.步骤5:当交换机通过与pack包的int包头交互知晓本跳为瓶颈链路的前一跳,需要在此跳的对应端口进行本发明提出的利它流调度算法。利它流调度策略的主要流程如下:
42.a.交换机由int包头获取到瓶颈链路正在发送的优先级,若发往瓶颈链路数据流的优先级低于瓶颈链路正在发送数据流的优先级,则对遇到处于当前发送优先级的此类数
据包进行recycle;
43.b.在完成recycle后重新选择端口时,as将这些数据包转发到当前交换机上负载最低的端口进行暂存;
44.c.若下一跳正在发送的优先级低于被暂存到其他端口的数据流或者下一跳不再拥塞时,则再次利用recycle取回这些优先级更高的数据包;
45.步骤6:ack和pack包最后被反馈给发送端,发送端根据反馈包携带的信息进行状态信息的更改,具体规则如下:
46.a.若pack包状态为“00”,且此pack包对应的数据流在sfl表,则将此流从sfl表转移到tfl表;
47.b.若pack包状态为“10”,则暂停此pack包对应的数据流的发送,由tfl表转移到sfl表;
48.c.若ack的序列号不为期望的序号,则发送端利用sack机制对其进行重传;
49.d.其他情况保持继续发送当前流。
50.综上所述,数据流从发送端开始,经交换机到达接收端,再由接收端经交换机向发送端反馈相关信息的全过程,当网络不是那么拥塞时并不在源端做出减速调节,而是在网络设备与端设备的交互配合下继续保持线速发送,直到把数据发送到最近邻瓶颈链路的前一跳,这样在不加重瓶颈链路拥塞的同时,最大化源端到瓶颈链路间的网络带宽利用率。
51.以上对本发明做了示例性的描述,应该说明的是,在不脱离本发明的核心的情况下,任何简单的变形、修改或者其他本领域技术人员能够不花费创造性劳动的等同替换均落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献