基于广域高性能计算网络的混合多流拥塞控制

2018-04-13 01:06赵高峰张孟康
计算机技术与发展 2018年4期
关键词:广域控制算法链路

赵高峰,冯 宝,李 洋,崔 林,张孟康

(1.南瑞集团有限公司(国网电力科学研究院有限公司),江苏 南京 211000;2.国网江苏省电力有限公司电力科学研究院,江苏 南京 211103;3.南京邮电大学 通信与信息工程学院,江苏 南京 210003)

0 引 言

目前高性能计算网络技术主要的应用场景是数据中心的计算机集群网络,在数据中心应用环境下可以充分发挥网络的高性能特点,高性能计算网络也是数据中心不可或缺的组成部分。高性能计算网络在数据中心的应用已经非常成熟,并且伴随着数据中心的发展不断进步。近年来,随着智能电网,特别是能源互联网的发展,电力需求急剧增长,跨大区互联和远距离输电系统相继出现。电力系统所承载的数据量越来越大,因此将高性能计算网络应用到电力系统,形成电力通信的广域高性能计算网络已迫在眉睫[1]。

随着计算机应用与智能电网日新月异的发展,用户对网络需求量的增大,对网络服务质量的要求也在不断提高,这些将会导致网络拥塞崩溃(congestion collapse)的发生[2]。多源和多路径是指分别使用多个源和多条路径到每个源,可以使网络运营商和终端用户受益。多源和多径统称为多流,通过在更多的链路和源之间传播流来提供负载平衡和更高的资源利用率。多流传输具有高性能、可靠性好和安全性高等优点[3],适用于广域高性能计算网络。多流传输主要是进行批量的数据传送,在此过程中会产生大量流量,容易引起网络拥塞,可能导致分组转发的数据包丢失,时延增加,网络吞吐量减少,甚至产生“拥塞崩溃”的严重后果,对网络性能影响非常大[4]。拥塞控制就是网络节点为了避免拥塞而采取相应的措施或对发生的拥塞做出反应。据目前统计,互联网上95%的数据流和90%的报文数使用的是TCP/IP协议,此外,由于当前网络拥塞控制的大部分工作是由TCP协议完成的,因此,基于互连的TCP/IP网络协议中的拥塞控制机制研究也就对控制网络拥塞有着特别重要的意义,并且它一直以来都是互联网拥塞控制问题的一个研究热点[5]。目前使用的TCP拥塞控制算法[6]主要由四个部分组成:慢启动、拥塞避免、快速重传和快速恢复。为了解决广域高性能计算网络中的网络拥塞问题,必须提出一种有效的多流拥塞控制机制。

1 研究现状

多流拥塞控制是广域高性能计算网络的主要研究课题之一。通过多流拥塞控制,可以实现多流中带宽利用的最大化,并且不影响单流传输的性能。当多流连接与单流连接竞争同一网络资源时,多流连接所获得的资源应该不多于单流连接,这表示为对于单流连接的兼容性。然而,这种兼容性会导致子流带宽不能充分利用,当每个子流所采用的路径不相交时,它们之间不能共享同一瓶颈链路,这会导致多流连接的性能下降。

文献[7]提出的拥塞控制算法基于TCP New Reno[8],对拥塞避免阶段做了修改,提出了一种“连接增加”(linked increased)的算法。该算法只能保证吞吐率达到多路径中在TCP下最佳链路状态下所能达到的吞吐率,并没有显著提高资源共享率。文献[9]研究了移动自组织网络中多径路由协议下TCP的性能,结果表明在大部分情况下,数据传输的性能会下降。文献[10]提出一种用于多径TCP的鲁棒性应答机制来提高性能,然而该研究成果并不显著。多径TCP协议(MPTCP)是IETF MPTCP工作组提出的新型传输层多径协议。它在兼容TCP协议的基础上,同时利用多条路径的传输能力进行数据传输,提高带宽利用率,增强连接的恢复能力,并且能够自适应地将数据从拥塞路径转移到非拥塞路径[11]。传统的TCP,如TCP Reno和SACK,当从汇点接收到三个重复的ACK时,源节点的拥塞窗口自动减半,这意味着丢包的发生[12]。MPTCP协议是TCP-Reno的演进,适用于每个子流的慢启动和拥塞避免部分,同时还能解决公平瓶颈共享、往返时间(RTT)不匹配和移动网络负载等问题。然而,由于广域高性能计算网络为分布式逐跳路由,不能使用传输协议检测传输路径是否重叠,其拥塞控制模块不能检测是否具有兼容性的问题,因此MPTCP的性能并不能达到最优,无法解决资源利用率和兼容性的权衡问题。一些应用层的解决方案试图通过端到端检测共享瓶颈[13-14],然而其效果并不明显。文献[14]提出了基于损失和延迟的相关技术,但基于损失的技术不可靠且收敛时间约为15 ms,对于通用多流协议不可能达到。基于延迟的方法获得准确结果的时间较长,性能较差。

文中提出了一种混合多流拥塞控制方案,既可以提高资源利用率,又不影响兼容性。该方案是一种端到端的多流感知算法(NMCC),虽然该算法十分简洁,但与MPTCP算法相比,其兼容性和资源利用率等均有所提升。

2 混合多流拥塞控制

2.1 路径形成

当所有的通信路径不相交即不共享同一链路或路由器时,为多流传输的最佳情况。在这种情况下,每个多流连接可以使用与单流连接相同的拥塞控制算法。然而,这会导致对于单流连接资源分配的不合理,使得兼容性较差,因此必须对多流连接加以限制,降低其攻击性。文中使用同一个ID组来标记共享至少一个链路(不一定是相同的链路)的所有路径。

图1给出了路径组合的三个示例以及相应的ID组代码。在图1(a)中,三条路径是不相交的,因此每条路径用不同的ID组标记;而在图1(b)中,路径A和B共享一条链路,因此它们具有相同的ID组;在图1(c)中,路径A和B共享链路,路径B和C共享另一条链路,它们仍然使用相同的ID组,以确保每条路径属于单个组。

图1 路径组成的三种不同情况及其相应的ID组代码

2.2 窗口管理

路径具有不同的ID组时,它们不共享任何链路,此时窗口管理不需要考虑兼容性的问题。每条路径具有单个拥塞窗口变量(congestion window,cwnd),使用基于RTT的丢失检测机制和重传机制,以及慢启动和拥塞避免算法。文中分别为每条路径创建不同的类TCP子流,在此基础上,窗口管理类似于MPTCP的解耦合拥塞控制方案。路径具有相同的ID组时,NMCC算法可以保证兼容性。NMCC在两个方面不同于MPTCP的耦合拥塞控制算法,一方面耦合的MPTCP仅在拥塞避免部分对多流连接中的子流限制攻击性,而NMCC则同时考虑拥塞避免和慢启动两个部分。另一方面,NMCC算法比耦合的MPTCP操作简单。耦合的MPTCP算法通过降低每个RTT的拥塞窗口的增长速率来限制攻击性。然而,当路径具有不同的RTT和移动网络负载时,这种方法会增加复杂性,这是通过使用单流解决方案解决多流问题所导致的。对于TCP来说,为了保证其兼容性,具有较大RTT的连接通常具有较低的攻击性[15]。NMCC利用这一点,通过增大RTT来控制拥塞窗口。这降低了算法复杂性,简化了慢启动状态达到兼容性的过程,并且避免了由于RTT不匹配和突发负载以及拥塞移位导致的相关多流问题。文中将从拥塞避免和慢启动两个部分讨论NMCC算法。

(1)

使其达到公平瓶颈共享的两个目标:(1)共享一个链路的所有子流的增长速率应该比单流连接的增长速率小;(2)总体的增长速率应该比最具有攻击性的单流连接的增长速率大。由于最有攻击性的单流连接具有最小的RTTi=RTTmin,并且在拥塞避免期间,单流连接的增长速率是每个RTTi增加一个数据包,所以拥塞避免期间的速率增加间隔必须满足:

(2)

其中,N为共同控制的子流的数量。

因此,可以使用以下等式估计m:

(3)

将m引入到所有子流中,可以适应所有路径的增长速率,此时不能忽略传输较慢的路径。因此,NMCC不需要检测未使用路径上的变化,能够快速适应路径故障和拥塞突发的情况。

(2)慢启动:对于大部分多流传输,仅需要考虑拥塞避免部分,而忽略慢启动部分的情况。然而对于NMCC,当内容相对较小并且路径非常拥挤时,兼容性就变得相当差。在慢启动期间,具有N个子流的多流连接获得带宽的速度几乎是单流连接的N倍,即使满足了兼容性,其攻击性依然很强。为了解决这一问题,重新引入m。

(4)

其中,N为共同控制的子流个数。

m计算如下:

(5)

3 仿真结果与分析

为了评估提出的多流拥塞控制的性能,对系统进行了仿真。将仿真场景布置在Blackadder环境下,把100 Mbit交换机和工作站作为网络节点。所有节点之间的传输延迟为0.2~0.3 ms,每条链路的带宽为11.7 MB/s。在所有仿真期间转移的持续时间为20 s。

首先,对共享路径进行了仿真。对于共享路径,使用如图2所示的拓扑结构,发送源和接收端通过共享链接的路径连接。部署了从用户S1到接收端P1和P2的多源连接,从用户S1到接收端P1以及从用户S2到接收端P2的1,2,4和9个单流连接,这些连接在两个路径之间均匀分布。

图2 共享路径的拓扑结构

(a)NMCC和所有单流连接的带宽份额

(b)NMCC和平均单流连接的传输速率

图3 仿真结果

图3(a)描述了NMCC和所有单流连接获得的平均带宽百分比,当NMCC分别与1、2、4和9个单流连接竞争时,其分别获得51.1%、35.5%、21.5%和10.8%的瓶颈链路带宽,略高于最优分配比例50%、33.3%、20%和10%。图3(b)描述了通过NMCC和平均单流连接实现的平均传输速率。仿真结果表明,NMCC使得多流连接与单流连接的资源分配更加合理,单流连接的带宽利用率和资源利用率均有所增加,达到了兼容性目标。同时,多流连接比单流连接的传输速率略高,NMCC提高了多流连接的性能。

对于慢启动状态,考虑短传输,仍使用如图2所示的路径拓扑结构。图4给出了当兼容的慢启动打开或关闭时由NMCC获取的总带宽的百分比。仿真结果表明,当慢启动具有兼容性时,NMCC对于拥塞控制更有效,带宽分配更加合理。

图4 有无兼容慢启动短传输的带宽百分比

4 结束语

提出了一种基于广域高性能计算网络的混合多流拥塞控制机制。该机制对共享链路瓶颈进行适当的检测并对子流的攻击性进行管理,通过引入参数来控制所有子流的增长间隔和增长速率,解决多流连接中的兼容性与资源利用率权衡问题。仿真结果表明,该方案有效地控制了网络拥塞,提高了广域高性能计算网络的资源利用率和带宽分配的合理性,同时保证了兼容性。

参考文献:

[1] 刘 洋,谢开贵,周家启,等.大电力系统可靠性评估高性能计算平台设计与实现[J].电力系统自动化,2006,30(18):89-93.

[2] 孔金生,任平英.TCP网络拥塞控制研究[J].计算机技术与发展,2014,24(1):43-46.

[3] 孟宪晴.多径并行数据传送的拥塞控制机制研究[J].计算机技术与发展,2011,21(10):99-102.

[4] 马翔宇.基于多路径TCP拥塞控制的研究[D].西安:西安电子科技大学,2014.

[5] 江 艳,李宝林.TCP/IP拥塞控制算法研究[J].计算机技术与发展,2015,25(1):119-122.

[6] ALLMAN M,PAXSON V,STEVENS W.TCP congestion control[S].[s.l.]:[s.n.],1999.

[7] 王 毅,廖晓菊,潘泽友.多路径传输控制协议技术综述[J].信息与电子工程,2011,9(1):7-11.

[8] 武航星,慕德俊,潘文平,等.网络拥塞控制算法综述[J].计算机科学,2007,34(2):51-56.

[9] LIM H,XU K,GERLA M.TCP performance over multipath routing in mobile ad hoc networks[C]//IEEE international conference on communications.[s.l.]:IEEE,2003:1064-1068.

[10] LIU Y,WANG B,XU K,et al.PACC:a path associativity congestion control and throughput model for multi-path TCP[J].Procedia Computer Science,2011,4:1278-1287.

[11] 薛开平,陈 珂,倪 丹,等.基于MPTCP的多路径传输优化技术综述[J].计算机研究与发展,2016,53(11):2512-2529.

[12] 马 矿,何加铭,郑紫微,等.基于MPTCP的自适应拥塞控制算法[J].移动通信,2013,37(20):55-60.

[14] JIANG Ming,YANG Qiang,WU Chunming,et al.End-to-end congestion control for TCP-friendly flows with variable data rates[J].Chinese Journal of Electronics,2012,21(3):541-546.

[15] 李士宁,官骏鸣,覃 征.KIR:一种TCP拥塞避免阶段的公平性算法及在GEO卫星环境下的仿真[J].计算机研究与发展,2006,43(12):2048-2055.

猜你喜欢
广域控制算法链路
一种移动感知的混合FSO/RF 下行链路方案*
基于凸优化的FSO/RF 自动请求重传协议方案
基于模型预测控制算法的智能密度控制系统在选煤厂的应用
面向广域电力光网络业务的信令优化研究
天空地一体化网络多中继链路自适应调度技术
基于Backstepping的非线性无人船航向控制算法
航天技术落地交通大场景广域雷达
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
广域后备保护原理与通信技术研究
ABS自动优化控制算法及应用