CN109257302B - 一种基于分组排队时间的包散射方法 - Google Patents
一种基于分组排队时间的包散射方法 Download PDFInfo
- Publication number
- CN109257302B CN109257302B CN201811092380.0A CN201811092380A CN109257302B CN 109257302 B CN109257302 B CN 109257302B CN 201811092380 A CN201811092380 A CN 201811092380A CN 109257302 B CN109257302 B CN 109257302B
- Authority
- CN
- China
- Prior art keywords
- packet
- arrival
- current
- time
- queuing time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于分组排队时间的包散射方法,交换机根据每条流上一个到达分组的剩余排队时间为该流当前到达分组选择出端口队列,在保证当前到达分组的排队时间大于或等于上一个到达分组剩余排队时间的情况下,选择缓存队列长度最小的出端口。相比于现有技术,本发明避免了分组的乱序,有效的减少了流的完成时间,提升了用户的体验。
Description
技术领域
本发明涉及数据中心网络(DCN,Data Center Network)一种基于分组排队时间的包散射方法。
技术背景
近年来,随着云计算和大数据技术的迅速发展,网页搜索、社交网络、在线零售等越来越多的分布式应用部署到数据中心中运行。这些应用在数据中心网络中产生大量流量,为了提升用户的体验和服务的质量,需要尽可能的减少这些流的完成时间。现代数据中心网络通常使用Fat-tree和Leaf-Spine等拓扑结构提供多条等价路径。如何有效地利用这些多路径传输流量直接影响到数据中心网络中应用的性能。
等价多路径路由策略(Equal-Cost Multi Path,ECMP)是目前数据中心网络中应用最为广泛的路由策略。ECMP采取流级别的传输机制,依据包头的五元组信息,利用哈希函数将同一条流的分组在同一条路径上传输。ECMP实现简单,但是ECMP是一种静态路由的方式,缺乏灵活性,当多条流被哈希到同一条路径上时,会造成“热点”问题。
随机包散射(Random Packet Spraying,RPS)是一种简单的包级别多路径传输机制,在交换机上随机选择出端口转发分组。RPS可以充分使用多路径,提高网络的利用率。但同时会引起严重的分组乱序,造成发送端降低发送速率,导致流完成时间增加,网络性能降低。
LetFlow提出使用flowlet为粒度的传输机制,以减少分组乱序。如果一条流的两个连续分组到达交换机的时间间隔大于设定的超时阈值时,则认为这两个分组不属于同一个 flowlet。但是超时阈值的取值直接影响到网络的性能。当超时阈值过大时,不易形成flowlet,不能及时感知网络的拥塞,网络利用率不高。当超时阈值过小时,容易出现和 RPS一样的严重分组乱序的情况。
因此,避免分组的乱序,同时提高网络利用率,有效降低数据流的完成时间,是一个亟待解决的问题。
发明内容
本发明所解决的技术问题是,针对上述数据中心网络中包散射负载均衡策略导致的分组乱序的问题,本发明提供一种基于分组排队时间的包散射方法,使得同一条流的分组有序的到达接收端,避免分组乱序和降窗。
本发明的技术方案包括以下步骤:
一种基于分组排队时间的包散射方法,包括以下步骤:
一种基于分组排队时间的包散射方法,其特征在于,包括以下步骤:
步骤一:初始化队列长度阈值S、往返时间RTT、各个数据流的生存时间age、各个数据流的上一个到达分组的剩余排队时间RQD、各个数据流的当前到达分组的排队时间 QD和各个数据流的当前到达分组的到达时间t;将各数据流的信息保存在交换机流表中;
步骤二:遍历交换机流表,依次判断其中各个数据流的生存时间age是否为0,删除生存时间age为0数据流的信息,转步骤三;
步骤三:交换机监听是否有新分组到达,若有新分组到达,转步骤四,否则转步骤二;
步骤四:获取交换机各个出端口当前的缓存队列长度k,转步骤五;
步骤五:判断当前到达分组是否属于新数据流,如是,则在交换机各个出端口中选择缓存队列长度k最小的出端口转发该当前到达分组,并对当前到达分组所属的数据流,记录其当前到达分组的到达时间t,并计算其当前到达分组的排队时间QD,设置其生存时间age为2RTT,设置其上一个到达分组的剩余排队时间RQD为该数据流当前到达分组的排队时间QD,将该数据流的信息保存在交换机流表中,再转步骤二;否则转步骤六;
步骤六:对当前到达分组所属的数据流,更新其当前到达分组的到达时间t和上一个到达分组的剩余排队时间RQD,为当前到达分组选择能使其排队时间QD大于或等于该数据流的上一个到达分组的剩余排队时间RQD的出端口,重置该数据流的生存时间为 2RTT,转步骤七;
步骤七:判断所选择的出端口的缓存队列长度k是否超过队列长度阈值S,若超过,则使用缓存队列长度最小的出端口转发当前到达分组,同时重新设置其上一个到达分组的剩余排队时间RQD为该流当前到达分组的排队时间QD,转步骤二;否则,将该数据流上一个到达分组的剩余排队时间RQD更新为该数据流当前到达分组的排队时间QD,使用步骤六中选择出端口转发当前到达分组,转步骤二。
进一步地,所述队列缓存大小K设置为交换机出端口缓存大小,链路带宽C设置为交换机出端口的带宽值。
进一步地,所述步骤一中:RTT设置为100μs,所有数据流的生存时间age都设置为2RTT;所有数据流上一个到达分组的剩余排队时间RQD、当前到达分组的排队时间QD 和当前到达分组的到达时间t都设置为0。
进一步地,所述步骤五中:判断当前到达分组是否属于新数据流的方法是,如果交换机流表中未保存该数据流的上一个到达分组的到达时间和剩余排队时间RQD,则判断当前到达分组属于新数据流。
进一步地,所述步骤五和六中:当前到达分组的排队时间QD计算方式如下:
其中,M为分组大小,ki为所选择用于转发当前到达分组的出端口的缓存队列长度, C为链路带宽。
进一步地,所述分组大小M设置为1500字节。
进一步地,所述步骤六中:更新当前到达分组的到达时间t和上一个到达分组的剩余排队时间RQD时,首先提取t和RQD的值分别赋给临时变量t′和rqd,然后将当前到达分组的到达交换机的时间赋值给t,上一个到达分组的剩余排队时间RQD更新为 RQD=rqd+′t-。t
进一步地,所述步骤六中:为当前到达分组选择出端口时,首先在交换机所有出端口中选出满足以下条件的出端口:若将当前到达分组从该端口转发,则其排队时间QD大于或等于上一个到达分组的剩余排队时间RQD;然后,从选出的出端口中选择缓存队列长度最小的出端口。
有益效果:
本发明中交换机会记录一条数据流上一个到达分组的剩余排队时间,为该数据流当前到达分组选择出端口,在保证当前到达分组的排队时间大于上一个到达分组的剩余排队时间的情况下,选择缓存队列长度最小的出端口,使分组有序的到达接收端,避免分组乱序和降窗,有效地减少了流完成时间,提升了网络性能和用户体验。
附图说明
图1为本发明的流程图。
图2为测试场景拓扑图。
图3为在对称场景下每条流的性能测试图,其中,3(a)为分组乱序的示意图,3(b)为每条流平均窗口大小的示意图。其中本发明命名为QDAPS。
图4为真实场景下性能测试图,其中,4(a)为web-search场景下流平均完成时间示意图,4(b)为data-mining场景下流平均完成时间示意图。本发明命名为QDAPS。
图5为非对称拓扑下性能测试图,其中,5(a)为延时非对称拓扑下流平均完成时间示意图,5(b)为带宽非对称拓扑下流平均完成时间示意图。本发明命名为QDAPS。
图6为在mininet测试环境中对称场景的CPU和内存开销图,其中6(a)为CPU占用率示意图,6(b)为内存占用率示意图。本发明命名为QDAPS。
具体实施方式
下面结合附图对本发明作进一步的说明。
参见图1,图1为本发明的流程图。过程如下:
首先初始化;将交换机所有出端口对应的缓存队列长度k都设置为0;将链路带宽C设置为交换机出端口的带宽值;将分组大小M设置为1500字节;将队列缓存大小K设置为交换机出端口缓存大小;将队列长度阈值S设置为将数据流的生存时间age设置为2RTT;将各数据流上一个到达分组的剩余排队时间RQD、当前到达分组的排队时间QD和当前到达分组的到达时间t都设置为0。遍历交换机流表判断各数据流的生存时间age是否为0;删除生存时间为0的数据流的信息。
交换机监听是否有新分组到达,若有新分组到达,获取交换机各个出端口当前的缓存队列长度k。否则继续监听是否有数据流生存时间age为0。
判断该分组是否属于新数据流,如果交换机未保存该数据流的上一个到达分组的到达时间t和剩余排队时间RQD,则判断该到达分组属于新数据流。
如属于新数据流,则选择缓存队列长度最小的出端口转发该当前到达分组,并对当前到达分组所属的数据流记录其当前到达分组的到达时间t,计算其当前到达分组需要的排队时间(M为分组大小,ki为所选择用于转发当前到达分组的出端口的缓存队列长度,C为链路带宽),设置该数据流的生存时间age为2RTT,设置其上一个到达分组的剩余排队时间RQD为该数据流当前到达分组的排队时间QD,将该数据流的信息保存在交换机流表中。继续监听是否有数据流生存时间age为0。
若不属于新数据流,对当前到达分组所属的数据流更新其当前分组到达交换机的时间 t和上一个到达分组的剩余排队时间RQD,为当前到达分组选择合适的出端口,方法为:首先在交换机所有出端口中选出满足以下条件的出端口:若将当前到达分组从该端口转发,则其排队时间QD大于或等于上一个分组的剩余排队时间RQD,然后,从选出的出端口中选择具有最小缓存队列长度的出端口,并重置该数据流的生存时间age为2RTT;判断当前选择的出端口的缓存队列长度ki是否超过队列长度阈值S,若超过,则使用具有最短缓存队列长度的出端口转发当前到达分组,同时重新设置其上一个到达分组的剩余排队时间RQD为该流当前到达分组的排队时间QD,若没超过,则将RQD更新为QD,使用当前选择的出端口转发当前到达分组。继续监听是否有数据流生存时间age为0。
本发明利用NS2.35网络仿真平台和mininet测试平台来实现,并进行了性能测试。
实验设置如下:采用Leaf-Spine网络拓扑结构,其中,两个Leaf交换机之间提供4条等价路径,图2为测试场景拓扑图。网络传播延时为100μs,链路带宽为1Gbps。实验生成流量大小服从重尾分布的30条50KB到200KB的流,其发送时间服从泊松分布。
图3为对称场景下每条流的性能测试图。图3(a)为分组乱序率的示意图,从图中可以看出,RPS的分组乱序率为40%左右,原因是RPS为每个分组随机选择一个出端口,导致大量的乱序。ECMP避免了分组乱序,因为ECMP是流级别的多路径传输机制,一条流的所有分组都通过同一条路径到达接收端。LetFlow的乱序率很低,因为超时阈值设置的足够大,很少触发重路由。QDAPS的乱序率接近于0,其原因是分组在交换机上根据排队时间调度。图3(b)为平均窗口的示意图,从图中可以看出,因为RPS有严重的分组乱序问题,RPS的平均窗口低于其他机制。由于ECMP采取静态路由的方式,不能感知路径的拥塞,会出现丢包降窗的问题。因为QDAPS根据排队时间调度分组,避免了乱序导致降窗的问题,其平均窗口最大。
图4为真实场景下的性能测试图。实验设置如下:采取Leaf-Spine拓扑结构,其中包括8个Leaf交换机和8个Spine交换机。每个Leaf交换机连接32台主机,超额订购比为 4:1。链路带宽设置为1Gbps,网络传播延时设置为100μs。在实验时,负载从0.1增加到0.8。
图4(a)和图4(b)分别为web-search和data-mining场景下的平均流完成时间比较。从图中可以看出,在轻负载下,RPS和ECMP表现得很好,平均流完成时间接近于LetFlow和QDAPS。但是在高负载下,QDAPS表现的好的多,因为QDAPS根据排队时间调度分组,避免了分组的乱序。在web-search场景中,相比ECMP,LetFlow和RPS,QDAPS 分别减少了约为50%,30%,40%的流平均完成时间。
图5为非对称场景下的性能测试图。实验环境如下:在mininet测试平台下,搭建Leaf-Spine网络拓扑,其中包括2个Leaf交换机和4个Spine交换机。链路带宽设置为20Mbps,传播延时设置为1ms,交换机缓存设置为250个分组。实验使用web Server的流量,测试了不同程度的网络非对称导致的完成时间的变化。实验中改变一条链路的带宽或延时产生不对称场景。
图5(a)和图5(b)分别为在延时不对称场景和带宽不对称场景中的流完成时间的比较。由图5(a)和图5(b)可以看出在不同非对称场景中流完成时间呈现相似的趋势。当非对称程度越高时,RPS会出现更多的乱序甚至降窗,导致流完成时间增加。在ECMP中,当一条流被哈希到高延时或者低带宽路径上时,会一直在这条路径上传输,导致完成时间增加。由于LetFlow和QDAPS能够根据网络的拥塞调度分组,所以在非对称场景中能够实现比较好的性能。
图6为在mininet测试环境中对称场景的CPU和内存开销图。图6(a)为Leaf交换机的CPU开销。由于RPS在交换机所有出端口中随机散射分组,其CPU开销最小。与其他方案相比,QDAPS不会产生过多的CPU开销,因为计算开销只会产生很小的CPU负载。从图6(b)可以看出,QDAPS造成了Leaf交换机上大约0.5%的内存利用率。与在延迟性能方面增加的收益相比,这样的系统开销是可以接受的。
Claims (8)
1.一种基于分组排队时间的包散射方法,其特征在于,包括以下步骤:
步骤一:初始化队列长度阈值S、往返时间RTT、各个数据流的生存时间age、各个数据流的上一个到达分组的剩余排队时间RQD、各个数据流的当前到达分组的排队时间QD和各个数据流的当前到达分组的到达时间t;将各数据流的信息保存在交换机流表中;
步骤二:遍历交换机流表,依次判断其中各个数据流的生存时间age是否为0,删除生存时间age为0的数据流的信息,转步骤三;
步骤三:交换机监听是否有新分组到达,若有新分组到达,转步骤四,否则转步骤二;
步骤四:获取交换机各个出端口当前的缓存队列长度k,转步骤五;
步骤五:判断当前到达分组是否属于新数据流,如是,则在交换机各个出端口中选择缓存队列长度k最小的出端口转发该当前到达分组,并对当前到达分组所属的数据流,记录其当前到达分组的到达时间t,并计算其当前到达分组的排队时间QD,设置其生存时间age为2RTT,设置其上一个到达分组的剩余排队时间RQD为该数据流当前到达分组的排队时间QD,将该数据流的信息保存在交换机流表中,再转步骤二;否则转步骤六;
步骤六:对当前到达分组所属的数据流,更新其当前到达分组的到达时间t和上一个到达分组的剩余排队时间RQD,为当前到达分组选择能使其排队时间QD大于或等于该数据流的上一个到达分组的剩余排队时间RQD的出端口中缓存队列长度最小的出端口,重置该数据流的生存时间为2RTT,转步骤七;
步骤七:判断所选择的出端口的缓存队列长度k是否超过队列长度阈值S,若超过,则使用缓存队列长度最小的出端口转发当前到达分组,同时重新设置其上一个到达分组的剩余排队时间RQD为该流当前到达分组的排队时间QD,转步骤二;否则,将该数据流上一个到达分组的剩余排队时间RQD更新为该数据流当前到达分组的排队时间QD,使用步骤六中选择出端口转发当前到达分组,转步骤二。
3.根据权利要求2所述的基于分组排队时间的包散射方法,其特征在于,所述队列缓存大小K设置为交换机出端口缓存大小,链路带宽C设置为交换机出端口的带宽值。
4.根据权利要求1所述的基于分组排队时间的包散射方法,其特征在于,所述步骤一中:RTT设置为100μs,所有数据流的生存时间age都设置为2RTT;所有数据流上一个到达分组的剩余排队时间RQD、当前到达分组的排队时间QD和当前到达分组的到达时间t都设置为0。
5.根据权利要求1所述的基于分组排队时间的包散射方法,其特征在于,所述步骤五中:判断当前到达分组是否属于新数据流的方法是,如果交换机流表中未保存该数据流的上一个到达分组的到达时间和剩余排队时间RQD,则判断当前到达分组属于新数据流。
7.根据权利要求6所述的基于分组排队时间的包散射方法,其特征在于,所述分组大小M设置为1500字节。
8.根据权利要求1所述的基于分组排队时间的包散射方法,其特征在于,所述步骤六中:更新当前到达分组的到达时间t和上一个到达分组的剩余排队时间RQD时,首先提取t和RQD的值分别赋给临时变量t′和rqd,然后将当前到达分组的到达交换机的时间赋值给t,上一个到达分组的剩余排队时间RQD更新为RQD=rqd+t′-t。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811092380.0A CN109257302B (zh) | 2018-09-19 | 2018-09-19 | 一种基于分组排队时间的包散射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811092380.0A CN109257302B (zh) | 2018-09-19 | 2018-09-19 | 一种基于分组排队时间的包散射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109257302A CN109257302A (zh) | 2019-01-22 |
CN109257302B true CN109257302B (zh) | 2021-08-24 |
Family
ID=65047300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811092380.0A Active CN109257302B (zh) | 2018-09-19 | 2018-09-19 | 一种基于分组排队时间的包散射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109257302B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116708280B (zh) * | 2023-08-08 | 2023-10-24 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种基于乱序度容忍的数据中心网络多路径传输方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7310339B1 (en) * | 1999-03-31 | 2007-12-18 | British Telecommunications Public Limited Company | Packet messaging method and apparatus |
CN107078967A (zh) * | 2014-09-16 | 2017-08-18 | 华为技术有限公司 | 调度器、发送器、接收器、网络节点及其方法 |
CN108282402A (zh) * | 2018-01-24 | 2018-07-13 | 中南大学 | 数据中心网络中基于编码的包散射方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8923270B2 (en) * | 2011-10-04 | 2014-12-30 | The Chinese University Of Hong Kong | Method for link buffer size and queue length estimation for bandwidth-varying mobile data networks |
-
2018
- 2018-09-19 CN CN201811092380.0A patent/CN109257302B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7310339B1 (en) * | 1999-03-31 | 2007-12-18 | British Telecommunications Public Limited Company | Packet messaging method and apparatus |
CN107078967A (zh) * | 2014-09-16 | 2017-08-18 | 华为技术有限公司 | 调度器、发送器、接收器、网络节点及其方法 |
CN108282402A (zh) * | 2018-01-24 | 2018-07-13 | 中南大学 | 数据中心网络中基于编码的包散射方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109257302A (zh) | 2019-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7675857B1 (en) | Method and apparatus to avoid network congestion | |
CN110351187B (zh) | 数据中心网络中路径切换粒度自适应的负载均衡方法 | |
CN113728592A (zh) | 促进采用端点拥塞检测和控制的数据驱动智能网络的系统和方法 | |
Escudero-Sahuquillo et al. | Combining congested-flow isolation and injection throttling in hpc interconnection networks | |
US20180077064A1 (en) | Methods and systems for data center load balancing | |
Zarifis et al. | DIBS: Just-in-time congestion mitigation for data centers | |
Raghuvanshi et al. | On the effectiveness of CoDel for active queue management | |
CN111585911B (zh) | 数据中心网络流量负载的均衡方法 | |
Sharma et al. | Congestion control techniques in MANET: a survey | |
CN111224888A (zh) | 发送报文的方法及报文转发设备 | |
CN109039941B (zh) | 数据中心网络中基于路径分类的自适应包散射方法 | |
CN109257302B (zh) | 一种基于分组排队时间的包散射方法 | |
CN110324255B (zh) | 一种面向数据中心网络编码的交换机/路由器缓存队列管理方法 | |
Hertiana et al. | A joint approach to multipath routing and rate adaptation for congestion control in openflow software defined network | |
Cheng et al. | Isolating mice and elephant in data centers | |
CN115134302A (zh) | 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法 | |
CN114785743A (zh) | 一种增强red稳定性的主动式队列管理算法 | |
Almomani et al. | Simulation Based Performance Evaluation of Several Active Queue Management Algorithms for Computer Network | |
Chawla et al. | Performance evaluation of droptail and random early detection | |
Mahida et al. | A comparative analysis of queue management techniques using NS-2 simulator | |
Singh et al. | Comparing different active queue management techniques | |
Agarwal et al. | BCON: Back pressure based congestion avoidance model for Named Data Networks | |
Li et al. | Data Center Traffic Rescheduling Algorithm Based on Ant Colony Optimization Algorithm | |
CN116346726B (zh) | 一种自适应突发流量的主机端负载均衡方法 | |
Wu et al. | Flow-Level Rerouting in RDMA-Enabled Dragonfly Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |