一种云数据中心网络中混合数据流协同调度方法与流程

文档序号:13142007阅读:372来源:国知局
本发明涉及云计算技术,具体地,涉及一种云数据中心网络中混合数据流协同调度方法。
背景技术
::随着云计算技术的迅猛发展,数据中心的规模及支撑业务数量都在成倍地增长,由此推动了数据中心基础设施的不断整合,支撑系统、资源虚拟化、动态迁移、业务信息系统等技术的不断发展,与此同时,在数据中心中扮演着核心角色的数据中心网络也在不断的演进。数据中心的不同网络应用的负载的差异很大,在实际网络中导致不同方面的问题。许多分布式系统,例如mapreduce,hadoop和tritonsort对网络带宽资源的需求很大,通常这部分应用都会在中间环节传输并处理超过百兆甚至千兆字节的数据,这类应用的高负载会导致数据中心带宽分配的问题。另一方面,一些由分层组件构成的现代网络服务(bigtable,memcached),需要通过远程过程调用协议进行通信,需要频繁访问许多节点来分发状态数据到整个数据中心。这些服务通常会严重地提高整个数据中心网络的传输,造成网络延迟的性能低下。数据中心的这两类应用的工作负载可以被划分为延迟敏感和吞吐量密集的工作负载。具体来看,数据中心的网络问题中,高延迟问题通常是由于网络拥塞引起的。如果延迟敏感的应用程序(如ptpd,memcached,和naiad)资源长时间与吞吐量密集型应用程序(如mapreduce,hadoop和tritonsort)的任务共享网络资源,延迟敏感任务通常会遇到不能容忍的传输延迟。其原因是,吞吐量密集的应用程序在占用网络资源时,会尽可能产生和传输大量数据包,这些数据包会占用网络设备中绝大多数的缓冲区空间,挤压侵占延迟敏感任务的流量传输,造成明显的网络拥塞。更严重地,延迟敏感数据包将长时间在队列中排队,甚至踢出缓冲区队列。丢弃的数据包必须通过重新传输才能完成任务,而整个重传过程将产生至少200ms的额外延迟。值得注意地,数据中心的网络延迟与收入和利润是呈负相关的,比如amazon研究发现每增加100毫秒的延迟,利润就相应地减少1%。高传输延迟的问题是数据中心运营商和网络服务的用户都决不能接受的。此外,网络拥塞的问题可能会严重地导致吞吐量的下降。许多分布式应用的实际工作任务会涉及到不同集群的多台服务器,当某一个客户端需要发送数据包时,其他相关的服务器也需要同时响应并产生许多数据流,但这些流在传输路径上可能共享一个或多个交换机资源。不同数据节点产生的多个数据流在较短时间内集中到达共享交换机时,就会对交换机出端口资源进行竞争,交换机缓存区的队列中会拥塞大量数据包等待被分配交换机出端口资源。这种交换机缓存队列过长甚至发生数据包溢出的问题被称为tcpincast,一些被丢弃的数据包也只能通过重传来完成任务。大量重传发生时,数据中心的网络带宽就无法被充分利用,数据中心整体能力和表现将因为网络吞吐量下降而受到影响如何在数据中心网络中同时满足对高吞吐量和低延迟的要求,是网络数据中心网络的设计师一直以来非常关注的问题。很多解决方案主要关注了如何消除网络拥塞。例如,hull(highbandwidth超低延迟)架构提供了一个基于预测性低延迟和高带宽利用率的数据中心网络,但hull存在一个问题,其网络设计不能避免交换机的缓冲区溢出问题,无法保证所有延迟敏感数据流的传输准确率。另一成功的实现是qjump。qjump主要采用优先级队列和速度约束技术,能限制每个应用程序都有一定的延迟的下限。但是,qjump会明显牺牲数据中心网路中吞吐量密集型数据流的吞吐量指标。技术实现要素:针对现有技术中的缺陷,本发明的目的是提供一种云数据中心网络中混合数据流协同调度方法,解决在数据中心网络中同时满足对高吞吐量和低延迟的要求,保证所有延迟敏感数据流的传输准确率。。为达到上述目的,本发明所采用的技术方案如下:一种云数据中心网络中混合数据流协同调度方法,包括两个主要方面:针对延迟敏感流的基于时间触发调度算法和针对吞吐量密集型流的基于事件触发调度算法,其中,时间触发调度算法确保延迟敏感数据流能够被分配到具有最高的传输优先级的传输时间段,事件触发调度算法采用非拥塞的调度原则,充分利用整个数据中心的带宽资源,在保证延迟敏感数据流的传输性能的前提之下,根据吞吐量密集型任务的出现为数据流分配网络传输带宽。所述时间触发调度算法具体是,将延迟敏感的数据流视为一组周期性地传输的数据包的集合,并且把这样的传输周期称为基础周期,所有的延迟敏感数据流的基本周期的最小公倍数被称为最长通信周期,时间触发调度将被设定在一个最长通信周期内周期性地执行,时间触发调度中,每个延迟敏感流的数据包的开始时间都会被调度器重新协调,调度器可以在一个最长通信周期之内计算并产生一个记录所有延迟敏感流的开始传输的时刻表,并根据这个时刻表,控制每个延迟敏感流中所有数据包的具体发送时间。支持时间触发调度借助ieee1588精密时钟同步协议,以保证时间触发调度的结果的准确性,同时保证每个数据流传输时间的确定性和可预测性。所述时间触发调度算法主要包括:流级传输延迟最优化问题建模,即最小化所有延迟敏感流中时间触发的数据包的端到端的传输延迟,实现延迟敏感流中数据包的最优化的时间触发式调度策略:任务级传输延迟最优化问题建模,针对数据中心中的计算任务来进行;系统级传输延迟最优化问题建模,结合流级、任务级的传输延迟建模得出,以实现全局最优的延迟敏感数据流的调度。所述任务级传输延迟最优化问题建模,针对数据中心中的计算任务来进行,具体是:一个计算任务的数据源往往是一个或多个主机,主机将计算任务需要的数据打包进数据包,然后发送给计算节点,计算节点从接收到的数据包中提取出需要的数据,当计算任务依赖的数据集齐后,即进行一定时间的计算,计算的结果会被打包进数据包,最后发送给目的主机,计算任务中一个数据包总的传输延迟为:在最长通信周期l内一个任务的传输延迟可以表示为:同时,可以计算得到整个数据中心范围内的任务级传输延迟:系统级传输延迟包括了流级传输延迟和任务级传输延迟:mindsys=dflows+dtasks由于计算任务可以被认为是流级别传输任务加上计算时间,所以系统级延迟也可以被改写为:在事件触发调度算法中,若某一个吐量密集型流的数据包需要占用出端口进行传输,基于事件触发调度原则的调度器就需要判断在未来传输数据包的这段时间内,是否有任意一个延迟敏感流的数据包需要占用相同的交换机的出端口资源;若有,那么调度器就不会让这个吐量密集型流数据包占用该出端口,若没有,则允许这个吐量密集型数据包发送出去。与现有技术相比,本发明具有如下的有益效果:本发明主要涉及的hybridpass数据中心网络调度算法包括两个主要方面:针对延迟敏感流的基于时间触发调度算法和针对吞吐量密集型流的基于事件触发的调度算法。总体来看,时间触发调度在优化延迟敏感数据流的传输延迟的性能方面展现出了非常出色的表现,延迟敏感数据流的传输延迟可以平均被提高28.65%,最高提高40%以上,同时延迟敏感数据流的吞吐量也表现出了非常明显的优势。基于事件触发的调度在处理吞吐量密集型数据流的传输问题时,可以在不影响到延迟敏感数据流的前提下,尽可能地利用网络中剩余的带宽。尽管系统会带给吞吐量密集型数据流大约0.77%的吞吐量性能下降,但这部分的性能下降是完全可以接受的。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:图1为hybridpass数据中心网络调度图;图2为hybridpass仿真实验拓扑图;图3为数据包的端到端传输延迟在有无调度优化情况下的对比图;图4为任务级传输延迟在有无协调调度情况下的对比图;图5为流τ15~τ18传输10000mb数据量的过程;图6为流τ15~τ18的总吞吐量随时间变化的折线图;图7为整个网络中总吞吐量随时间变化的折线图。具体实施方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。数据中心里的数据流大致可以分为查询流(2kb到20kb),延迟敏感的短流(100kb到1mb)和吞吐密集型的长流(1mb到100mb),相比于长流,查询流和短流对延迟更为敏感,这些流通常由用户的交互操作产生,如提交搜索查询,获取订单列表等等操作。而长流可以是下载大数据量的文件,磁盘备份等等操作。用户下载文件时一般不会介意多等几秒钟,但对于查询,他们往往更希望能得到及时的响应。但是,数据中心网络中通常混合了短流和长流,由于长流需要发送更多的数据包,往往会占用尽可能多的网络带宽,造成交换机缓存中等待传输的数据包的队列过长(bufferpressure),从而导致短流传输延迟的急剧增大。针对不同数据流的情况,本发明设计了hybridpass,一种时间触发调度和事件触发调度的协同调度的数据中心网络调度策略。hybridpass的整体架构如图1所示。其中,时间触发调度,其最主要的功能是确保延迟敏感数据流能够被分配到具有最高的传输优先级的传输时间段(timeslot)。具体来说,将延迟敏感的数据流视为一组周期性地传输的数据包的集合,并且把这样的传输周期称为基础周期(baseperiod)。所有的延迟敏感数据流的基本周期的最小公倍数被称为最长通信周期(lcp,longestcommunicationperoid),时间触发调度将被设定在一个最长通信周期内周期性地执行。时间触发调度中,每个延迟敏感流的数据包的开始时间都会被调度器重新协调,调度器可以在一个最长通信周期之内计算并产生一个记录所有延迟敏感流的开始传输的时刻表,并根据这个时刻表,控制每个延迟敏感流中所有数据包的具体发送时间。支持时间触发调度借助了ieee1588精密时钟同步协议,以保证时间触发调度的结果的准确性,同时也保证了每个数据流传输时间的确定性和可预测性。此外,为吞吐量密集数据流设计了事件触发调度机制,具体设计了一套非拥塞的调度原则,从而尽可能充分利用整个数据中心的带宽资源。事件触发调度会在保证了延迟敏感数据流的传输性能的前提之下,根据吞吐量密集型任务的出现尽可能及时地为这些数据流流分配网络传输带宽。时间触发调度:时间触发调度的算法主要包括流级(flow-level)传输延迟最优化问题、任务级(task-level)传输延迟最优化问题和系统级(system-level)传输延迟最优化问题。首先,流级(flow-level)传输延迟最优化问题的建模主要考虑数据包在链路上的传播时间,在网络设备端口之间的传输时间以及在网络设备缓存中的排队等待时间,可以被简要地表示为:·和发送主机直接相连的边缘交换机(edgeswitch);·数据包τ从发送主机到接收主机传输路径上的,除去switchk1的所有交换机的集合;·数据包τ从发送主机网卡发送出去的传输时间·数据包τ在交换机缓存中的排队等待时间;·数据包τ在交换机之间总的传输时间;·数据包τ在传输路径上所有交换机缓存中排队等待时间的总和;·数据包τ从和接收主机直接相连的边缘交换机出端口发送到接收主机的传输时间。流级传输延迟最优化模型,即最小化所有延迟敏感流中时间触发的数据包的端到端的传输延迟,可以实现延迟敏感流中数据包的最优化的时间触发式调度策略:τ∈flows,表明τ是所有延迟敏感流中的一个延迟敏感数据流。l是时间触发调度的周期。qτ表示一个调度周期l中的第qτ个周期。qτ表示每个延迟敏感数据流的传输周期。表示延迟敏感流中第qτ个周期的数据包的传输延迟。其次,任务级(task-level)传输延迟最优化问题建模,是针对数据中心中的计算任务来进行的。一个计算任务的数据源往往是一个或多个主机,主机将计算任务需要的数据打包进数据包,然后发送给计算节点,计算节点从接收到的数据包中提取出需要的数据,当计算任务依赖的数据集齐后,即进行一定时间的计算,计算的结果会被打包进数据包,最后发送给目的主机。计算任务中一个数据包总的传输延迟为:·数据包τ从发送主机到计算节点传输路径上的所有交换机的集合;·数据包τ从计算节点到接收主机传输路径上的所有交换机的集合;·数据包τ从发送主机网卡发送出去的传输时间;·数据包τ在发送主机到计算节点路径上交换机之间传输时间的总和;·数据包τ在发送主机到计算节点路径上所有交换机缓存中排队等待时间的总和;·数据包τ从与计算节点相连的交换机出端口发送出去的传输时间;·等待计算节点空闲的时间;·计算任务的计算时间;·数据包τ从计算节点网卡发送出去的传输时间;·数据包τ在计算节点到接收主机路径上所有交换机缓存中排队等待时间的总和;·数据包τ在计算节点到接收主机路径上交换机之间传输时间的总和;数据包τ从与接收主机直接相连的边缘交换机出端口发送到接收主机的传输时间。同时,可以计算得到整个数据中心范围内的任务级传输延迟:τ∈tasks,表明τ是所有延迟敏感的计算任务中的一个延迟敏感计算任务。l是时间触发调度的周期。表示一个调度周期l中的计算任务的第个周期。表示延迟敏感的计算任务的传输周期。表示延迟敏感计算任务中第个周期的数据包的传输延迟。最后,结合流级、任务级的传输延迟建模,可以得出系统级的传输延迟模型,来实现全局最优的延迟敏感数据流的调度。系统级传输延迟包括了流级传输延迟和任务级传输延迟:mindsys=dflows+dtasks由于计算任务可以被认为是流级别传输任务加上计算时间,所以系统级延迟也可以被改写为:事件触发调度:为了保证吞吐量密集型数据流的高吞吐量性能,设计了基于事件触发的调度策略。在事件调度触发调度的策略中,会优先保证时间触发数据流的传输性能,不会有吞吐量密集型流的数据包阻塞延迟敏感流数据包的传输。若某一个吐量密集型流的数据包需要占用出端口进行传输,基于事件触发调度原则的调度器就需要判断在未来传输数据包的这段时间内,是否有任意一个延迟敏感流的数据包需要占用相同的交换机的出端口资源;若有,那么调度器就不会让这个吐量密集型流数据包占用该出端口,若没有,则允许这个吐量密集型数据包发送出去。下面将结合附图及具体实施例对本发明作进一步地详细描述。在系统的性能测试实验中,使用的网络仿真工具ns-3v3.26。图2为hybridpass性能测试的实验拓扑图,分为三层(core、aggregation和topofrack),其中第二层和第三层的链路带宽设置为1gbps,core层的链路带宽设置为1.5gbps。●流级最优化调度效果分析第一组仿真实验定义了12个时间触发式流τ1~τ12,参数配置如表1所示,由此可知这12个流的最长通信周期l为12ms。表1时间触发式流的参数配置table1theparameterconfigurationoftime-triggeredflows图3所示为各个流中数据包的端到端传输延迟的对比图,可以看出在不执行调度优化时,数据包的端到端传输延迟是不确定的,而执行了本文的时间触发式优化调度策略后,数据包的端到端传输延迟是固定的,体现了调度的确定性和可预测性。此外,hybridpass的时间调度触发调度对于延迟敏感数据流的延迟的减少的优化是非常明显的,经测试,时间触发调度最高可以降低40.71%的传输延迟,平均可以降低28.65%的延迟水平。●认为级和系统级最优化调度效果分析这里进行第二组仿真实验,在第一组实验的基础上增加了三个计算任务,设定计算节点分别为host16、host7和host11,其中第一个计算任务依赖于τ1和τ10,τ1的周期改为2ms,三个计算任务的参数配置如表2所示,其中表示计算任务所依赖的数据流,τc表示计算任务,ct表示计算任务需要的计算时间,表中的两个长度分别指被依赖的数据包的字节长度和包含计算结果的要发送给接收主机的数据包字节长度。表2任务流的参数配置table2theparameterconfigurationoftaskflows可以看出,在有计算任务的网络环境中,延迟敏感任务的数据流在时间触发的调度算法的作用下,同样可以被明显地优化。同时,整个网络环境中,所有的任务的数据流都被能固定在一个较低的水平,延迟敏感数据流的网络传输延迟的确定性和可预测性仍然可以得到保证。●流传输吞吐量分析在保证时间触发式流的低延迟传输前提下,设计实验检测了hybridpass的架构下吞吐量密集型数据流的传输吞吐量性能是否收到了影响。进行了对比实验,第一次实验不进行区分延迟敏感流和吞吐量密集的数据流,所以数据流τ15~τ18和τ1~τ14都在同一时刻开始发送并且互相阻塞以抢占网络资源;第二次实验引入hybridpass的调度控制延迟敏感流和吞吐量密集流的传输。实验将记录流τ15~τ18完成传输的时间,及传输过程中,流τ15~τ18总的吞吐量。从图5可以看出,不采用hybridpass的(a)和采用hybridpass(b),四个流τ15~τ18完成10000mb数据传输总共都需要375秒,对于四个流传输完成的平均时间,不采用hybridpass时需要355秒,而采用hybridpass需要359秒,只相差4秒的时间,对于传输将近40gb数据来说,相差的这一点时间显得微不足道。图6所示为吞吐量密集型流τ15~τ18在前200秒内,总的吞吐量随时间变化的折线图。由于“bulk-send-application”数据流产生器会贪心地发送尽可能多的数据流量,这样极易造成网络拥塞,所以总的吞吐量会多次出现急剧下降的锯齿曲线。前200秒内,不采用hybridpass所获取的总吞吐量平均为881.785mbits/sec,采用hybridpass所获取的总吞吐量平均为874.9735mbits/sec,相差甚微。图7是整个网络带宽的利用率情况,可以看出,整个网络带宽的利用率都已经达到了网络链路设计的1gbps的上限,整个网络的综合吞吐量是没有下降的。综上,可以看出hybridpass在保证时间触发式流低延迟传输的同时,能够实现best-effort流差不多达到不采用hybridpass时能够达到的吞吐量。综合以上所有实验,可以证明,在hybridpass的调度控制之下,尽管吞吐量密集型数据流会有大约0.77%的传输吞吐量下降,可以大幅度提高延迟敏感数据流的传输延迟性能。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1