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

一种基于服务器的流调度方法技术

技术编号:13252666 阅读:67 留言:0更新日期:2016-05-15 16:05
本发明专利技术公开了一种基于服务器的流调度方法,将流量控制与流调度相结合,以保持网络中交换机上的输出端口队列非常短,从而使得流调度的功能可以在服务器上实现。采用本发明专利技术后,数据中心的每个服务器保持各自最高优先级的流活动,暂停其它低优先级的流,所有的流按照优先级高低顺序完成以达到最小化流完成时间的目标。本发明专利技术包含两种新颖的技术。一、双向的流调度技术为每个服务器发送或接收它们当前最高优先级的流。二、最热流协调技术来处理发送方和接收方出现的优先级不一致问题。实验结果表明,本发明专利技术能有效加快数据中心网络中流的传输速度,与同样是基于服务器的方案DCTCP相比,我们的小流的完成速度可达它的四倍。

【技术实现步骤摘要】

本专利技术涉及数据中心网络中TCP流调度技术和拥塞控制技术。
技术介绍
最小化流完成时间(FlowCompletionTimes,简称FCT)是数据中心网络(DataCenterNetworks,简称DCN)中非常重要的一个问题。云服务往往在DCN中产生大量的TCP流,流的完成速度很大程度上决定了任务的完成时间。任何一个不能及时完成的流都会影响到任务最后的结果,降低用户体验或带来直接的经济损失。然而,在当前的DCN中,流经常需要很长时间才能完成传输,甚至超过其理论完成时间的十倍。其主要原因是数据包拥塞在网络中交换机的输出端口上形成很长的队列,在传输中经历了太久的排队时延。学者们已经提出了多种最小化FCT的方案,这些方法可以分为两类:速率控制类和流调度类。速率控制类工作(如DCTCP、D2TCP和HULL)一般是在发送端感知网络的拥塞状况,不断调整发送速率来保持网络中交换机输出端口队列尽量短,以减小数据包在传输中经历的排队时延。这类工作在一定程度上减少了排队时延,并且较容易部署,因为它们都是基于服务器的。但这类工作会让多个流同时传输,共享带宽,无法最小化FCT。最近的研究表明最小化FCT需要使用流调度的方法(如PDQ,pFabric,PASE和PIAS),也就是按照流的优先级顺序从高到低(一般采用小流优先的规则)让流一个接一个地完成。pFabric是一种基于交换机的流调度方案,它是流调度类工作中做得最好的。它在交换机的输出端口队列中按照数据包的优先级来推出数据包,使得小流中最慢的那个流都几乎能以其理论传输时间完成。然而,由于pFabric根本性地改变了交换机输出端口先进先出的数据包推出方式,要实现pFabric,必须对交换机做硬件上的改动。而DCN中有成千上万个交换机,部署pFabric可能会需要大量的费用。
技术实现思路
本专利技术所要解决的技术问题是,针对现有技术不足,提供一种基于服务器的流调度方法(Server-basedFlowScheduling,简称SFS),既容易部署,又能在最小化FCT上取得和pFabric相似的效果。为解决上述技术问题,本专利技术所采用的技术方案是:一种基于服务器的流调度方法,包括以下步骤:1)在发送方,TCP流从应用层获得优先级,再将优先级嵌入发送的SYN包和数据包中;在接收方,所述优先级被拷贝到相应的ACK包中;TCP的拥塞窗口固定为BDP,timeout值固定为500us,TCP的拥塞避免和快速重传功能被关闭;网络采用1比1收敛比的FatTree网络,并使用包喷射的路由方式将负载均匀地分配在多条等价路径上;2)在接收方的TCP/IP协议栈和网卡之间加入反向调度器,反向调度器通过释放/捕获ACK包来激活/暂停接收方收到的流来实现反向的流调度,同时通过释放ACK包控制网络中飞行的TCP数据包总量;反向调度器包含一个流表和一个流窗口,从TCP/IP协议栈传来的ACK包被推入流表中,流表内的流以优先级高低排列,流窗口限制活动的流数,网卡从在流窗口内的流表表项中抽取ACK包并发送到网络中;3)在发送方的TCP/IP协议栈和网卡之间加入正向调度器,正向调度器通过释放/捕获SYN包和数据包来激活/暂停其发送的流来实现正向的流调度;正向调度器包含一个流表,从TCP/IP协议栈传来的SYN包和数据包被推入到流表中,流表内的流以优先级高低排列,网卡总是从当前有数据包且优先级最高的表项中抽取数据包并发送到网络中;4)在所述反向调度器和所述正向调度器中加入协调模块,在发送方和接收方对于某个流的优先级判断不一致时,协调发送者和接收方,填充链路带宽。所述协调模块采用最热流协调方法,最热流协调方法包含以下三步,首先,当接收方当前接收的流被发送方中断时,发送方通知接收方当前传输已中断;然后,接收方激活最热的流以填充链路接收方;最后,接收方方激活最热的流转变回激活最高优先级的流。接收方通过流的温度来识别最热的流,流的温度用来衡量接收方在上一次收到此流的数据包后等待的时间,所述最热的流就是最近传输过的流。被接收方暂停住的流的发送方可以通过发送心跳包来刷新该暂停住的流在其接收方处的温度,所述心跳包是指TCP超时事件产生的重传包,如果所述暂停住的流在发送方有足够的优先级,那么该暂停住的流的心跳包被释放并刷新该暂停住的流在接收方处的温度,反之,该暂停住的流在接收方处的温度随时间推移下降为零度。若接收方收到发送方的传输中断通知时,接收方知道流窗口中的流已经被发送方暂停了,则接收方额外开启一个候选窗口来激活最热的流。接收方移动所述候选窗口,将激活最热的流向激活最高优先级流转化,这是因为激活最热的流可以有效填充网络链路,但无法最小化流完成时间;移动过程为:在任意时刻,如果接收方发现候选窗口左边的表项的流刚被刷新为最高温度时,接收方将会把候选窗口移动到这个流去,暂停原有的流,新激活了一个同温度但优先级更高的流。当接收方流窗口内的被发送方中断的流又开始传输时,接收方关闭候选窗口。与现有技术相比,本专利技术所具有的有益效果为:本专利技术可以通过软件实现流调度;本专利技术能有效加快数据中心网络中流的传输速度,与同样是基于服务器的方案DCTCP相比,我们的小流的完成速度可达它的四倍。附图说明图1是SFS的基本架构;图2是接收方流调度的示例;图3是接收方基于窗口的流调度模块的示意图;图4是发送方流调度的示例;图5是发送方基于优先级的流调度模块的示意图;图6(a)是优先级不一致初始状态图;6(b)是优先级不一致事件发生示意图;图7(a)是最热流协调技术初始状态图;图7(b)是流温度降低示意图;图7(c)是优先级不一致时间发生时,候选窗口开启示意图;图7(d)为被激活的流收到发送方的响应的示意图;图7(e)为优先级不一致事件再次发生时,候选窗口开启示意图;图7(f)为被激活的流收到发送方的响应的示意图;图7(g)为候选窗口移动示意图;图7(h)为候选窗口关闭示意图;图8(a)是SFS与DCTCP和pFabric在FatTree中采用网页搜索负荷时的小流的平均FCT;图8(b)是SFS与DCTCP和pFabric在FatTree中采用网页搜索负载时的最慢的小流的FCT;图8(c)是SFS与DCTCP和pFabric在FatTree中采用网页搜索负载时的大流的FCT;图9(a)是SFS与DCTCP和pFabric在FatTree中采用数据挖掘负荷时的小流的平均FCT;图9(b)是SFS与DCTCP和pFabric在FatTree中本文档来自技高网
...

【技术保护点】
一种基于服务器的流调度方法,其特征在于,包括以下步骤:1)在发送方,TCP流从应用层获得优先级,再将优先级嵌入发送的SYN包和数据包中;在接收方,所述优先级被拷贝到相应的ACK包中;TCP的拥塞窗口固定为BDP,timeout值固定为500us,TCP的拥塞避免和快速重传功能被关闭;网络采用1比1收敛比的FatTree网络,并使用包喷射的路由方式将负载均匀地分配在多条等价路径上;2)在接收方的TCP/IP协议栈和网卡之间加入反向调度器,反向调度器通过释放/捕获ACK包来激活/暂停接收方收到的流来实现反向的流调度,同时通过释放ACK包控制网络中飞行的TCP数据包总量;反向调度器包含一个流表和一个流窗口,从TCP/IP协议栈传来的ACK包被推入流表中,流表内的流以优先级高低排列,流窗口限制活动的流数,网卡从在流窗口内的流表表项中抽取ACK包并发送到网络中;在发送方的TCP/IP协议栈和网卡之间加入正向调度器,正向调度器通过释放/捕获SYN包和数据包来激活/暂停其发送的流来实现正向的流调度;正向调度器包含一个流表,从TCP/IP协议栈传来的SYN包和数据包被推入到流表中,流表内的流以优先级高低排列,网卡总是从当前有数据包且优先级最高的表项中抽取数据包并发送到网络中;3)在所述反向调度器和所述正向调度器中加入协调模块,在发送方和接收方对于某个流的优先级判断不一致时,协调发送者和接收方,填充链路带宽。...

【技术特征摘要】
1.一种基于服务器的流调度方法,其特征在于,包括以下步骤:
1)在发送方,TCP流从应用层获得优先级,再将优先级嵌入发送的SYN包和数据包中;在
接收方,所述优先级被拷贝到相应的ACK包中;TCP的拥塞窗口固定为BDP,timeout值固定为
500us,TCP的拥塞避免和快速重传功能被关闭;网络采用1比1收敛比的FatTree网络,并使
用包喷射的路由方式将负载均匀地分配在多条等价路径上;
2)在接收方的TCP/IP协议栈和网卡之间加入反向调度器,反向调度器通过释放/捕获
ACK包来激活/暂停接收方收到的流来实现反向的流调度,同时通过释放ACK包控制网络中
飞行的TCP数据包总量;反向调度器包含一个流表和一个流窗口,从TCP/IP协议栈传来的
ACK包被推入流表中,流表内的流以优先级高低排列,流窗口限制活动的流数,网卡从在流
窗口内的流表表项中抽取ACK包并发送到网络中;
在发送方的TCP/IP协议栈和网卡之间加入正向调度器,正向调度器通过释放/捕获SYN
包和数据包来激活/暂停其发送的流来实现正向的流调度;正向调度器包含一个流表,从
TCP/IP协议栈传来的SYN包和数据包被推入到流表中,流表内的流以优先级高低排列,网卡
总是从当前有数据包且优先级最高的表项中抽取数据包并发送到网络中;
3)在所述反向调度器和所述正向调度器中加入协调模块,在发送方和接收方对于某个
流的优先级判断不一致时,协调发送者和接收方,填充链路带宽。
2.根据权利要求1所述的基于服务器的流调度方法,其特征在于,所述协调模块采用最
热流协调方法,最热流协调方...

【专利技术属性】
技术研发人员:张大方张洁黄昆
申请(专利权)人:湖南大学
类型:发明
国别省市:湖南;43

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

1