当前位置: 首页 > 专利查询>中南大学专利>正文

一种用于DCN中任务传输的拥塞控制方法技术

技术编号:16001144 阅读:33 留言:0更新日期:2017-08-15 15:25
本发明专利技术公开了一种用于DCN中任务传输的拥塞控制方法,依据当前任务和流已发送的数据量,加速小任务和任务内拖尾流的发送速率。本发明专利技术避免了DCN网络中的大任务造成的阻塞现象和少数慢速流导致的任务拖尾现象,有效地减小了任务的平均完成时间,提升网络应用的整体性能。

A congestion control method for task transfer in DCN

The invention discloses a congestion control method for task transmission in DCN, which accelerates the sending speed of small tasks and trailing streams in a task according to the current task and the amount of data transmitted by the stream. The invention avoids the blocking caused by large tasks in the DCN network and the task tailing phenomenon caused by a small number of slow currents, thereby effectively reducing the average completion time of tasks and improving the overall performance of network applications.

【技术实现步骤摘要】
一种用于DCN中任务传输的拥塞控制方法
本专利技术设计一种用于DCN(数据中心网络,DataCenterNetwork)中任务传输的拥塞控制方法。
技术介绍
数据中心网络计算平台的出现给在线服务(比如网络搜索、在线零售、广告)带来了巨大的收益。这些数据密集的服务具有以下特点:每个查询都可以看作一个任务,每个查询分发给成千上万的叶子节点,最后叶子节点完成查询将结果返回给分发节点,只有所有流都完成任务才能够算是完成,即任务的完成需要每条流都完成。随着互联网应用变得高度多样化和复杂化,为了解决传统控制传输协议的不足,改善任务级别的完成时间,国内外许多学者为降低任务级别的完成时间做了很多研究,寻求一些切实可行的方法降低任务完成时间。DCTCP(DataCenterTCP)协议就是针对高带宽、高扇入应用的数据中心网络提出的替换传统TCP协议的改进传输协议。其利用显式拥塞通知(ExplicitCongestionNotification,ECN)来判断拥塞状态。DCTCP第一次全面讨论尾部延迟,在不更换低缓存的商业交换机的前提下,实现DCN(数据中心网络)的高突发容限、低延迟、高吞吐率。但是,DCTCP问题在于其不具有任务感知性。L2DCT(LowLatencyDataCenterTransport)通过提高短流的优先权减少短流的完成时间,进而降低平均流完成时间。在拥塞避免阶段,在每个包往返时间内短流的拥塞窗口增加1,而长流仅仅增加0.05。当探测到拥塞时,长流的拥塞窗口下降的多,而短流的拥塞窗口下降的少。L2DCT在降低短流的完成时间表现很好,但是损害了长流的吞吐量,同时也没有基于任务级别优化性能。Baraate是一个不需要网络中各个交换机进行太多合作的分布式任务敏感的调度系统,设计的目的在于实现FIFO-LM的分布式调度机制。Baraate为每个任务分发一个全局唯一的任务id,规定拥有更小id号的任务具有更高的优先权,而先到的任务分发更小的id号,即实现了先进先出的优先权控制。Baraate能降低平均任务完成时间,但是可部署性较差。Varys协议旨在数据密集的数据中心网络中减少任务的通信时间。Varys是一个数据密集型的框架,保持高的网络利用率并且保证任务不会被饥饿。Varys借鉴了的调度策略是基于coflow的,但是Varys关于coflow的划分不清晰,其实现和部署存在困难。因此,提出有效降低平均任务完成时间且具有可部署性的数据中心网络传输层协议,成为了一个亟待解决的问题。
技术实现思路
本专利技术所要解决的技术问题是,针对现有技术的不足,提供一种用于DCN中任务传输的拥塞控制方法,该方法能有效降低数据中心网络中数据任务的平均完成时间。专利技术的技术解决方案如下:一种用于DCN中任务传输的拥塞控制方法,包括以下步骤:步骤一:参数初始化;初始化发送窗口大小cwnd、发送数据包的拥塞标志位(即CE位);小任务数据量阈值taskmin,大任务数据量阈值taskmax;步骤二:判断当前工作端是接收方还是发送方,如果是接收方转向步骤八否则转向步骤三;步骤三:发送方接收ACK包(确认包);当收到当前发送窗口内的全部ACK包之后,判断全部ACK包中是否有ACK包的拥塞标志位被置为1,如果有ACK包的拥塞标志位被置为1,则依据拥塞标志位被置为1的ACK包的数量计算当前数据包往返周期的拥塞程度αn并转向步骤四;否则判断是否处于慢启动阶段,如处于慢启动阶段则更新cwnd为2×cwnd,否则更新cwnd为cwnd+1,并转向步骤七;步骤四:发送方依据ACK包附加字段中返回的当前任务已接收数据量St以及大、小任务数据量阈值计算任务因子β,并转向步骤五;步骤五:发送方更新当前流已发送的数据量Sf,结合当前任务已接收数据量St和当前任务中流的数目n计算流拖尾因子γ,并转向步骤六;步骤六:发送方根据步骤三、四、五计算得到的αn、β、γ更新发送窗口大小cwnd并转向步骤七;步骤七:发送方在数据包往返时延内发送cwnd个数据包,并判断数据是否发送完毕,如果没有发送完毕则返回步骤三,否则结束数据传输;步骤八:接收方接收数据包并查看数据包包头的拥塞标志位是否被置为1,如果是则将其对应的ACK包的拥塞标志位置为1,否则置为0,转向步骤九;其中数据包包头的拥塞标志位由交换机进行设置,交换机监控当前队列长度,若队列长度超过设定阈值时,立即将当前进入队列的数据包的拥塞标志位置为1;步骤九:接收方更新当前任务已接收数据量St和当前任务中流的数目n,并存入对应ACK包中的附加字段;然后将ACK包发送给发送方,并转向步骤八。所述步骤三中当前数据包往返周期的拥塞程度αn的计算公式为:其中,m是当前发送窗口内所有ACK包中拥塞标志位被置为1的ACK包的数量,αn-1表示上一个数据包往返周期的拥塞程度,g表示滑动平均权值。所述滑动平均权值g设置为0.625。所述步骤四中任务因子β的计算公式为:其中,St为当前任务已接收数据量,taskmin为小任务数据量阈值,taskmax为大任务数据量阈值。所述步骤五中拖尾因子γ的计算公式为:其中,Sf为当前流已发送的数据量,St为当前任务已接收数据量(即任务已发送数据量),n为当前任务中流的数目。所述步骤六中:发送方根据步骤三、四、五计算得到的αn、β、γ更新发送窗口大小cwnd的公式为:该公式不仅可以根据拥塞程度调整发送窗口的大小,还可以加速小任务的发送速率,避免大任务传输造成的阻塞现象,同时能够加速任务内部拖尾流的发送速率,降低了平均任务完成时间。所述步骤一中初始化包括将发送窗口大小cwnd设置为2,将所发送数据包的拥塞标志位设置为0,将小任务数据量阈值taskmin设置为100KB,大任务数据量阈值taskmax设置为1MB。有益效果:本专利技术依据当前任务和流已发送的数据量优化任务平均完成时间。在发生拥塞时,通过对不同的任务依据已发送大小的不同实行不同的惩罚措施,在任务内部对拖尾流采取更轻的惩罚措施,加速小任务和任务内拖尾流的发送速率,避免了DCN网络中的大任务造成的阻塞现象和少数慢速流导致的任务拖尾现象,有效地减小了任务的平均完成时间,提升网络应用的整体性能。实测表明本方法能有效提高平均任务完成时间,详见实施例。附图说明图1为本专利技术的流程图。图2为一简单的数据中心网络拓扑示意图。图3为本专利技术方法(TL2DCT)、DCTCP、L2DCT改变任务大小(任务内部流大小不变,改变任务中流的数目n)的平均任务完成时间。图4为本专利技术方法(TL2DCT)、DCTCP、L2DCT改变任务内部流开始时间的平均任务完成时间。图5为本专利技术方法(TL2DCT)、DCTCP、L2DCT在大规模环境下归一化的平均任务完成时间;图5(a)为不同分位数任务完成时间,图5(b)为不同类型任务平均任务完成时间。具体实施方式以下将结合附图和具体实施例对本专利技术做进一步详细说明:实施例1:参见图1,图1为本专利技术的流程图:一种用于DCN中基于多级拥塞反馈的传输控制方法,过程如下:发送方将初始发送窗口cwnd大小设置为2,交换机将队列长度阈值设置为65,将拥塞标志位即CE位设置为0,将小任务数据量阈值taskmin设置为100KB,大任务数据量阈值taskmax设置本文档来自技高网
...
一种用于DCN中任务传输的拥塞控制方法

【技术保护点】
一种用于DCN中任务传输的拥塞控制方法,其特征在于,包括以下步骤:步骤一:参数初始化;初始化发送窗口大小cwnd、发送数据包的拥塞标志位;小任务数据量阈值taskmin,大任务数据量阈值taskmax;步骤二:判断当前工作端是接收方还是发送方,如果是接收方转向步骤八否则转向步骤三;步骤三:发送方接收ACK包;当收到当前发送窗口内的全部ACK包之后,判断全部ACK包中是否有拥塞标志位被置为1的ACK包,如果有ACK包的拥塞标志位被置为1,则依据拥塞标志位被置为1的ACK包的数量计算当前数据包往返周期的拥塞程度αn并转向步骤四;否则判断是否处于慢启动阶段,如处于慢启动阶段则更新cwnd为2×cwnd,否则更新cwnd为cwnd+1,并转向步骤七;步骤四:发送方依据ACK包附加字段中返回的当前任务已接收数据量St以及大、小任务数据量阈值计算任务因子β,并转向步骤五;步骤五:发送方更新当前流已发送的数据量Sf,结合当前任务已接收数据量St和当前任务中流的数目n计算流拖尾因子γ,并转向步骤六;步骤六:发送方根据步骤三、四、五计算得到的αn、β和γ更新发送窗口大小cwnd并转向步骤七;步骤七:发送方在数据包往返时延内发送cwnd个数据包,并判断数据是否发送完毕,如果没有发送完毕则返回步骤三,否则结束数据传输;步骤八:接收方接收数据包并查看数据包包头的拥塞标志位是否被置为1,如果是则将其对应的ACK包中的拥塞标志位置为1,否则置为0,转向步骤九;步骤九:接收方更新当前任务已接收数据量St和当前任务中流的数目n,并存入对应ACK包中的附加字段;然后将ACK包发送给发送方,并转向步骤八。...

【技术特征摘要】
1.一种用于DCN中任务传输的拥塞控制方法,其特征在于,包括以下步骤:步骤一:参数初始化;初始化发送窗口大小cwnd、发送数据包的拥塞标志位;小任务数据量阈值taskmin,大任务数据量阈值taskmax;步骤二:判断当前工作端是接收方还是发送方,如果是接收方转向步骤八否则转向步骤三;步骤三:发送方接收ACK包;当收到当前发送窗口内的全部ACK包之后,判断全部ACK包中是否有拥塞标志位被置为1的ACK包,如果有ACK包的拥塞标志位被置为1,则依据拥塞标志位被置为1的ACK包的数量计算当前数据包往返周期的拥塞程度αn并转向步骤四;否则判断是否处于慢启动阶段,如处于慢启动阶段则更新cwnd为2×cwnd,否则更新cwnd为cwnd+1,并转向步骤七;步骤四:发送方依据ACK包附加字段中返回的当前任务已接收数据量St以及大、小任务数据量阈值计算任务因子β,并转向步骤五;步骤五:发送方更新当前流已发送的数据量Sf,结合当前任务已接收数据量St和当前任务中流的数目n计算流拖尾因子γ,并转向步骤六;步骤六:发送方根据步骤三、四、五计算得到的αn、β和γ更新发送窗口大小cwnd并转向步骤七;步骤七:发送方在数据包往返时延内发送cwnd个数据包,并判断数据是否发送完毕,如果没有发送完毕则返回步骤三,否则结束数据传输;步骤八:接收方接收数据包并查看数据包包头的拥塞标志位是否被置为1,如果是则将其对应的ACK包中的拥塞标志位置为1,否则置为0,转向步骤九;步骤九:接收方更新当前任务已接收数据量St和当前任...

【专利技术属性】
技术研发人员:黄家玮李又明王建新
申请(专利权)人:中南大学
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1