数据中心网络中一种基于任务流量特性的传输控制方法与流程

文档序号:13882527阅读:233来源:国知局
数据中心网络中一种基于任务流量特性的传输控制方法与流程
本发明涉及数据中心网络(datacenternetwork,dcn)中一种基于任务流量特性的传输控制方法。
背景技术
:随着在线搜索、社交网络、电子商务等网络应用的飞速发展和普及,数据中心网络得到越来越广泛的应用,全球对数据中心网络的研究已经越来越受重视。数据中心网络应用的基本特点是划分聚合,其结构是三层的树形结构,因此,为了满足用户的体验,需要减少平均流完成时间,从而减少响应时间。dctcp协议就是针对高带宽、高扇入应用的数据中心网络提出的替换传统tcp协议的改进传输协议。其利用显式拥塞通知(explicitcongestionnotification,ecn)来判断拥塞状态,在交换机端设置阈值k,当交换机缓存区占用超过阈值k,则对后续到达的数据包设置ce标记,接收方收到设置了ce标记的数据包之后,在向发送方反馈的ack中设置ecn-echo标记。发送方根据收到的设置了ecn-echo标记的ack的比例,评估当前网络拥塞程度,从而调节拥塞窗口的大小。dctcp在拥塞发生之前提前降低发送速率,大幅降低了交换机队列长度。dctcp第一次全面讨论尾部延迟,在不更换低缓存的商业交换机的前提下,实现数据中心网络的高突发容限、低延迟、高吞吐量。但是,dctcp协议是一种基于拥塞窗口的传输协议。而且当并发度较小时,交换机依然会出现部分流拥塞发生丢包产生超时现象,dctcp流在极小拥塞窗口下,更容易发生整个拥塞窗口的包全部丢失从而导致rto超时。l2dct是以减少流完成时间为目标。它基于发送方已发出的数据量以及网络中的拥塞程度来调整拥塞窗口,这使得l2dct能够根据传输过程中由发送方统计的已发送数据量来进行增减窗,很快适应拥塞窗口的大小,并且不需要事先知道流的大小信息,l2dct基于拥塞程度和已发送数据量权重值调整每条流的拥塞窗口。但是,l2dct也存在一些不足,例如对于小流的增窗太激进,以及使用las(最少获得服务原则)时,在一开始大流与小流等同处理,使大流占据更多的带宽,这样提高了平均流完成时间。varys提出了最小瓶颈优先调度算法和madd带宽分配算法,是一个近乎“完美”的调度系统。但是,varys有一个很强的前提,需要知道网络中与任务相关的所有信息:任务和流的大小、任务的宽度、倾斜度以及每条流属于哪个任务,并且varys采取中央调度的方法,而中央调度有个明显的缺点:对于延时敏感的任务或流有很差的影响。varys使用了庞大的系统来保证精准的控制,但是增大了计算开销和传输延迟,同时由于对现有的数据中心网络改动较大,失去了普适性。baraat是一种在交换机上进行分布式调度的策略,成功避免集中控制器与交换机之间的计算和通信延迟,从而减少任务完成时间。但这些交换机只是在本地进行调度策略,没有依据整个任务的全局信息。所以,当一个任务的某些流在某个交换机上调度,而其余的流在其他的交换机上被阻塞,那么这个任务的平均完成时间不会被减少。aalo采用clas的调度原则,调度时不需要先验知识,根据已发送的任务总字节数来进行调度。它通过避免协调开销对于小任务的性能有很大的提升。它根据clas的调度原则,分配每个任务一个优先级,根据任务已发送的总字节数来进行降优先级,从而减少平均任务完成时间。但是该方法会在刚开始时将大任务误判为小任务发送,大大增加了任务的平均完成时间。baraat和aalo等方法使用了灵活的部署和简单的机制来保证快速响应,但是结果也往往不准确,没有办法减少任务的平均完成时间以及用户的等待时间。因此,针对数据中心网络中,现有的传输控制方法存在的缺陷,如何设计一个轻量级的、有效的、可兼容的基于任务的数据中心网络传输控制方法,在减少任务平均完成时间的同时,也不增加计算和传输开销,从而减少用户的等待时间,是一个亟待解决的问题。技术实现要素:本发明所要解决的技术问题是,针对现有技术的不足,提供了数据中心网络中一种基于任务流量特性的传输控制方法。该方法能够在保证大任务平均吞吐率的同时,有效降低数据中心网络中任务的平均完成时间,从而提升了用户体验。本发明解决上述技术问题的技术方案为:数据中心网络中一种基于任务流量特性的传输控制方法,包括以下步骤:步骤1:参数初始化;步骤2:发送方在数据包往返时延内发送cwnd个数据包,cwnd是当前拥塞窗口大小(初始化为2),数据包的拥塞标志位为0;当数据包经过交换机的时候,交换机判断当前队列长度是否超过预设的阈值,若超过,则先将数据包的拥塞标志位设置为1,再转发给接收方,若没有超过则直接将数据包转发给接收方;步骤3:接收方接收到发送方发送的数据包后,先将该数据包的拥塞标志位复制到相应ack包的拥塞标志位;然后更新当前任务已接收字节数st(通过累计当前任务中每条流的已接收字节数得到)、当前任务的宽度n以及当前任务已完成的小流数目fs,并将这三个参数存入ack包的附加字段;再将ack包发送给发送方;步骤4:发送方判断数据是否发送完毕,如果没有发送完毕则根据以下步骤更新拥塞窗口大小cwnd并返回步骤2,否则结束数据传输;发送方更新拥塞窗口大小cwnd的步骤为:步骤4.1:发送方接收到当前拥塞窗口所有的ack包后,根据所有ack包中拥塞标志位为1的ack包数目计算网络拥塞因子αk;若αk为0,则更新拥塞窗口大小为cwnd+1;否则转向步骤4.2;步骤4.2:发送方首先根据最近接收到的一个ack包的附加字段中返回的当前任务已接收字节数st计算该任务的实际大小因子β;然后基于从任务流量特性中拟合得到的任务宽度和任务为大任务的概率这两者之间的关联关系,依据接收方在ack附加字段中捎带的任务的宽度n,计算当前任务为大任务的概率,作为该任务的预估大小因子γ;再结合当前任务已接收字节数st和当前任务中已完成的小流数目fs对任务大小权重v进行调整;最后更新拥塞窗口大小为cwnd×(1-αk×v/2)。由数据中心网络中普遍适用的任务流量特性(由mosharafchowdhury于2015年在aalo方法中提出)可以发现在数据中心网络中窄任务的平均字节数占比小,即窄任务是大任务的概率小;而宽任务的平均字节数占比大,即宽任务是大任务的概率大,因此根据任务的宽度n可以预估任务为大任务的概率;但是,根据任务的宽度n预估得到的任务为大任务的概率,可能针对窄长流和宽短流存在误判。因此本发明首先根据任务的宽度n预估任务为大任务的概率,得到任务的预估大小因子γ;然后在发送过程中根据当前任务已接收字节数st和当前任务中已完成的小流数目fs不断修正对任务大小的判断,并对任务大小权重v进行调整。进一步地,所述步骤4.1中,网络拥塞因子αk的计算公式为:其中,m是当前发送窗口内拥塞标志位为1的ack包数目,αk表示当前数据包往返周期的拥塞度,αk-1表示上一个数据包往返周期的拥塞度,g用于平滑拥塞因子,设置为0.625。进一步地,所述步骤4.2中,任务的实际大小因子β的计算公式为:β=β*/2.5其中,taskmin为小任务数据量下限阈值,taskmax为小任务数据量上限阈值。进一步地,在步骤1中,将小任务数据量下限阈值taskmin设置为1mb,小任务数据量上限阈值taskmax设置为5mb。进一步地,所述步骤4.2中,计算该任务的预估大小因子γ的公式如下:γ=γ*/1.5其中,wmax为小任务的最大宽度,wmin为小任务的最小宽度。进一步地,在步骤1中,将小任务的最大宽度wmax设置为50,小任务的最小宽度wmin设置为15。进一步地,所述步骤4.2中,对任务大小权重v进行调整的公式如下:其中,p=fs/n;即分为四种情况:1)当任务的宽度n小于等于wmax并且任务已接收字节数st不大于taskmin时(n≤wmin且st≤taskmin)时,认定该窄短任务为小任务,由于数据量小,实际大小因子β不准确,所以将任务大小权重v设为γ。2)当任务的宽度n小于等于wmax并且任务已接收字节数st大于taskmin时,认定该窄长任务为大任务,任务大小权重v会随字节数的发送不断调整,将v设为max(β,γ)。3)当任务的宽度n大于wmax并且任务中已完成的小流数所占比例p达到阈值pthresh时,认定该宽短任务为小任务,同时需要根据已发送字节数st进行追踪,所以将任务大小权重v设为max(γ·(1-p),β)。4)当任务的宽度n大于wmax并且任务中已完成的小流数所占比例p小于pthresh(n>wmax且p<pthresh)时,认为该宽长任务为大任务,即任务中已完成的小流占比p非常小时,认为该任务为大任务,v设为γ。进一步地,阈值pthresh设置为30%。进一步地,所述步骤4.2中,当前任务的宽度n根据该任务中流的syn报文数获取,接收方统计该任务中流的syn报文数目,并将syn报文数作为任务宽度存入ack包中的附加字段。进一步地,所述步骤4.2中,当前任务中已完成的小流数目fs等于接收方收到的字节数小于阈值taskmin的流数。接收方每收到一条流的fin报文后,判断该流所发送的字节数sf是否小于阈值fmin,若是,则令fs=fs+1;其中fmin设置为100k。本发明的有益效果在于:在保证吞吐率的同时,优化数据中心网络中的任务平均完成时间。当网络发生拥塞时,数据中心网络中不同的任务依据拥塞因子αk、任务的预估大小因子γ和实际大小因子β进行调窗,由此提高了任务的平均完成时间,从而提升了网络性能。附图说明图1为本发明的流程图。图2为本发明的数据中心网络拓扑示意图。图3为在模拟测试环境下,本发明(wacs)与其他方法改变不同参数下的测试结果。图3(a)为本发明(wacs)与其他方法改变宽窄任务比例下的平均任务完成时间的情况;图3(b)为本发明(wacs)与其他方法在保证任务宽窄比例不变,改变长短比例的平均任务时间的情况;图3(c)为本发明(wacs)与其他方法在不同负载下的平均任务完成时间的情况。图4为在模拟测试环境下,在不同任务个数下应用该任务流量特性,本发明与其他方法针对不同指标的测试结果。本发明命名为wacs,图4(a)为不同方法在不同任务个数下,小任务平均完成时间变化图;图4(b)为不同方法在不同任务个数下,大任务的平均吞吐率变化图。图5为在模拟测试环境下,应用该任务流量特性,本发明与其他方法在不同任务个数下针对不同类别的任务的测试结果。本发明命名为wacs。图5(a)为不同方法在不同任务个数下,窄短任务(sn)的平均完成时间变化图;图5(b)为不同方法在不同任务个数下,窄长任务(ln)的平均完成时间变化图;图5(c)为不同方法在不同任务个数下,宽短任务(sw)的平均完成时间变化图;图5(d)为不同方法在不同任务个数下,宽长任务(lw)的平均完成时间变化图。具体实施方式下面结合附图对本发明作进一步的说明。参见图1,图1为本发明的流程图:用于数据中心网络中一种基于任务流量特性的传输控制方法,过程如下:在连接建立后,发送端在每次发送之间判断是否数据已经发送完毕。若发送完毕则结束;若没有发送完毕,则会在发送的传输层报文头部加入任务id信息。发送端所发送的数据报文,在经过交换机的时候,交换机会根据队列长度是否超过预设的阈值来对发送端的报文进行标记。若超过则对(拥塞标志位)ecn位进行设置然后转发,若没有超过则直接转发。发送方收到当前发送窗口内的全部ack确认包之后,依据被设置了拥塞标志位的ack包的数量计算拥塞因子αk:其中,m是当前发送窗口内拥塞标志位为1的ack包数目,αk表示当前数据包往返周期的拥塞度,αk-1表示上一个数据包往返周期的拥塞度,g用于平滑拥塞因子,设置为0.625。发送方根据ack报文反馈回来的任务已发送字节数st,计算实际大小因子β:β=β*/2.5发送方根据数据中心网络中普遍适用的任务流量特性拟合得到的任务宽度和任务为大任务的概率这两者之间的关联关系,结合收到ack包的附加字段中返回的当前任务的宽度n,计算当前任务为大任务的概率,作为该任务的预估大小因子γ,γ计算公式如下:γ=γ*/1.5当网络拥塞因子αk为0,则进行增窗操作,更新窗口大小cwnd=cwnd+1;否则,根据实际大小因子β以及预估大小因子γ,并依据任务中已完成的小流数目fs和任务已接收字节数st对该任务的性质进行判别,从而进行增减窗操作。综上所述,采用本发明方法可以在不改变现有网络拓扑结构的同时,把传输控制的单元由流变为任务,从而根据任务宽度预测任务性质,以此对其进行增减窗操作,可大幅减少任务完成时间和用户等待时间。采用图2的拓扑结构,在ns2网络仿真平台上进行了性能测试。在图2所示的拓扑中,采用30个tor交换机,所有tor交换机开启ecn功能。发送方到tor交换机和tor交换机到汇聚交换机的链路带宽都为1gbps,汇聚交换机到接收端的链路带宽为30gbps,交换机的缓存大小设置为250pkts,ecn标记阈值设置为65pkts。图3为本方法(wacs)和其他方法在改变不同参数下的对比情况。图3(a)显示了本方法(wacs)和其他方法在改变任务宽窄比例的情况下的平均任务完成时间。在该实验中,宽任务有8个,窄任务分别为12、16、20个,宽窄比例分别为2:3,2:4,2:5。其中,每个宽任务中包含60条流,每个窄任务中包含10条流,每条流大小为100kb,每个主机至少发一条流。因为wacs方法加速窄任务的发送速率,减慢宽任务的发送速率,达到了降低平均任务完成时间的效果。图3(b)显示了本方法(wacs)和其他方法在保证任务宽窄比例不变的情况下,改变任务长度比例的平均任务完成时间。其中宽任务为8个,窄任务为16个,改变任务中长短流比例,使得短长流流数比例为3:1、2:1、3:2。当任务中短流数较多时,本方法(wacs)的收益明显;当长流数不断增多时,本方法在长短流比例为2:3的情况下仍有5%的收益。图3(c)显示了本方法(wacs)和其他方法在不同网络负载下的平均任务完成时间。验证拥塞度因子的效果。在该实验中,有30个tor交换机,每个tor交换机下有20台主机。网络中任务数从12个到36个不断递增,从实验结果看,本方法(wacs)有很好的收益,虽然在网络中有30个任务时,wacs相对于aalo的优势不断减少,但是相比于dctcp和l2dct,还是有很大的优势。表1所示的数据中心网络中典型的任务流量特性,该任务流量特性从facebook的一个3000台机器,150个机器的hive/mapreduce的数据仓库收集的日志文件中提取出来,从数据中心网络的任务流量特性,可以发现在数据中心网络中窄任务的字节数占总字节数0.68%,窄任务数目占到68%,宽任务字节数占总字节数99.32%,宽任务的数目只占到32%;即数据中心网络中窄任务的字节数占比小,即窄任务是大任务的概率小;而宽任务的字节数占比大,即宽任务是大任务的概率大;进一步对收集的日志文件中进行分析,拟合得到任务宽度和任务为大任务的概率这两者之间的关联关系。表1数据中心网络中典型的任务流量特性任务类型1(窄短)2(窄长)3(宽短)4(宽长)长度短长短长宽度窄窄宽宽任务数占比52%16%15%17%字节数占比0.01%0.67%0.22%99.10%图4,图5是本方法(wacs)和其他方法在该任务流量特性下,实验场景如下:有30个tor交换机,每个tor交换机下至少有10台主机,具体的主机数随网络中的流数的增加而增加。根据任务流量特性设置6、12、18、24、30、36个任务,分别对应300、450、600、750、900条流,每个tor交换机下的主机数设置为10、15、20、25、30个,保证平均每个主机发送1条流。图4显示了本方法(wacs)和其他方法在不同任务个数下针对不同指标的测试结果。图4(a)为针对小任务平均完成时间的测试结果,从图4(a)中可以看出,因为wacs加速了近半的窄任务的速率,这其中绝大部分为小任务,避免了大任务传输造成的阻塞现象,最终降低任务平均完成时间。其中,wacs的小任务平均完成时间相比于dctcp、l2dct、aalo,提升了近40%、38%、25%。图4(b)为针对大任务平均吞吐率的测试结果,从图4(b)中可以看出,虽然wacs的大任务平均吞吐率略小于aalo,但是可认为用这些大任务的平均吞吐率的损失换取任务平均完成时间的大幅提升是值得的。图5显示了本方法(wacs)和其他方法在不同任务个数下针对不同类别的任务的测试结果。该任务流量特性中窄短(sn)、窄长(ln)、宽短(sw)、宽长(lw)任务的数目比例近似3:1:1:1,图5(a)为sn类任务的平均任务完成时间,图5(b)为ln类任务的平均任务完成时间,图5(c)为sw类任务的平均任务完成时间,图5(d)为lw类任务的平均任务完成时间。因为本方法是提高窄任务的发送速率,减少宽任务的发送速率的,所以与基于任务的传输控制方法aalo相比,sn类任务的平均任务完成时间会大大提升,ln类任务的平均任务完成时间略微好于aalo,sw类任务和lw类任务的平均完成时间会比aalo的差一些。本方法相比于基于流的传输控制方法dctcp和l2dct来说,大大减少了平均任务完成时间。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1