一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于高性能网络的数据中心间多类别混合流带宽调度方法

2022-11-28 14:40:42 来源:中国专利 TAG:


1.本发明属于计算机网络技术领域,涉及带宽调度,具体涉及一种基于高性能网络的数据中心间多类别混合流带宽调度方法。


背景技术:

2.时至今日,大多数服务于人们的流量包括各类应用和业务服务源于世界各地分布的数据中心。随着云计算规模的日益发展,跨数据中心间的流量呈现越来越复杂的趋势。为了确保数据传输的可靠性和服务质量(quality of service,qos),大多数大型云服务提供商(cloud service provider,csp)(如谷歌,微软,亚马逊等)会在不同的地理区域部署多个数据中心,数据中心之间的网络传输相比数据中心内请求数量会更多,成本和难度也会更大,因此有效利用骨干网络的高速链路和带宽资源对于csp来说至关重要。
3.近来,软件定义网络(software defined network,sdn)技术逐渐应用于数据中心之间的网络流调度之中,相对于传统方法,基于sdn的解决方案将数据平面功能与控制/管理平面的数据包转发分离,通过整个网络的集中控制,统筹分配网络资源。基于sdn的高性能网络(high performance network,hpns)是一种具有集中式控制和可进行带宽预留的网络,在科研和生产环境中已经被广泛的使用。
4.由于数据中心之间流量的复杂性,以往的带宽调度研究中在应对大数据时代的流量时缺少对不同特征流量的综合考虑。


技术实现要素:

5.针对现有技术存在的不足,本发明的目的在于,提供一种基于高性能网络的数据中心间多类别混合流带宽调度方法,以解决现有技术中的调度方法的调度成功率有待进一步提升的技术问题。
6.为了解决上述技术问题,本发明采用如下技术方案予以实现:
7.一种基于高性能网络的数据中心间多类别混合流带宽调度方法,该方法包括以下步骤:
8.步骤一,在高性能网络上传输给定的批量数据中心之间的多个请求,这些请求按流量标准分为不同类别的请求并标识;
9.所述的不同类别的流量标准分为交互式流量、弹性流量和背景流量;所述的交互式流量对应的请求为int请求,所述的弹性流量对应的请求为ela请求,所述的背景流量对应的请求为bac请求;
10.步骤二,对于步骤一中得到的所述的多个请求按照基于截止时间的任务循环机制排序算法进行排序,最终得到所有任务循环输出的排序好的请求序列q1,q2,

qi,
…qn

11.式中:
12.n表示请求的总数;
13.qi表示为(vs,vd,ts,te,d,b
max
,κ),i=1,2,

n;
14.vs表示该请求的源节点;
15.vd是目的节点;
16.ts是最早开始时隙;
17.te是截止时隙;
18.d是数据量;
19.b
max
是请求传输数据过程中的最大带宽限制;
20.κ∈{int,ela,bac},表示根据持续时间(t
e-ts)划分的三种请求类别;
21.所述的基于截止时间的任务循环机制排序算法包括以下步骤:
22.步骤201,将根据表达式κ∈{int,ela,bac}分类的请求分别按照其截止时间进行排序;
23.步骤202,按截止时间从当前开始是否有bac请求类别,如果有以bac请求的一次调度为任务循环,当前请求为此次任务循环的起始点,将后面每个bac请求当作一次循环,依次执行所有任务循环;如果没有则将所有的请求当作一次任务循环即可;
24.步骤203,在执行一次任务循环中,查看上述bac请求的截止日期前是否有ela请求类别,如果有则以ela请求的一次调度当作当前bac请求中的一次内部任务循环,当前请求为此次内部任务循环的起始点,在此次bac请求的截止日期前,将后面每个ela请求当作一次内部循环,依次执行所有的内部任务循环,如果没有ela请求则将当前bac请求截止日期前的所有请求当作一次内部任务循环即可;再执行完当前任务循环后,最后执行当前任务循环的bac请求;
25.步骤204,在执行一次内部的任务循环中,查看上述ela请求的截止日期前是否有int请求类别,如果有则依次执行内部任务循环中所有的int请求,执行到没有int请求时,最后执行当前内部任务循环的ela请求;
26.步骤205,当任务循环都执行完成且每个任务循环中的内部任务循环也都执行完成时,基于截止时间的任务循环机制排序算法结束;
27.步骤三,将步骤二得到的每个任务循环中的所有请求按照以下公式进行计算;
28.minimize
29.subject to
[0030][0031][0032]
式中:
[0033]
i表示请求;
[0034]
t表示时隙;
[0035]
p表示路径;
[0036]il,p
表示当前链路l是否为传输路径p,1表示是,0表是否;
[0037]bl,t
表示当前链路l在时隙t的可用带宽;
[0038]bmax
表示请求的最大带宽限制;
[0039]di
表示请求i的总数据量大小;
[0040]fi,t,p
表示请求i在时隙t和路径p上分配的流大小;
[0041]
表示当前链路l根据时隙t的权值分配;
[0042]
计算得到每个任务循环完成的最短时隙,即每次任务循环中调度完成交互流量和弹性流量的最早时隙,并统计各个类别请求成功的数量,如果距离下一轮任务循环的请求最早开始时间,不能完全调度当前任务循环的背景流量时,求出所有背景流量请求中最大的调度比率α;
[0043]
步骤四,将步骤三得到的调度成功请求数量和调度比率α,根据调度算法和用户满意度计算公式得到用户满意度。
[0044]
本发明还具有如下技术特征:
[0045]
步骤一中,所述的流量标准为:
[0046]
交互式流量:这类流量需要严格截止时间,持续时间为100ms以内;
[0047]
弹性流量:这类流量需要严格截止时间,持续时间为100ms~10s;
[0048]
背景流量:这类流量允许一定时间限制的截止时间,持续时间大于10s。
[0049]
步骤四中,所述的用户满意度计算公式为
[0050]
式中:
[0051]
usd表示用户满意度;
[0052]
κ表示三种类别的请求;
[0053]
ssr表示请求的成功率;
[0054]
α表示调度比率,当κ=ins或κ=ela时α=1;当κ=bac时,0≤α≤1。
[0055]
本发明与现有技术相比,具有如下技术效果:
[0056]
(ⅰ)本发明的关键点就是设计有效的调度策略来实现在各类请求截止时间之前,尽可能公平地考虑到各类流量的调度顺序,在不降低吞吐量的情况下,最大化各类流量中最小的调度成功比率,实现了对不同类别流量的公平性调度,同时提高总体调度成功率,从而提升用户的满意度。
[0057]
(ⅱ)在跨数据中心的高性能网络大数据传输的场景下,本发明将各种不同参数的混合流量(inter-data center,idc)进行调度,而传统的调度方法在调度过程中没有考虑到不同种类流量的特点。
[0058]
(ⅲ)在跨数据中心的高性能网络大数据传输的场景下,本发明尽可能合理的考虑到各类流量在截止日期之前的调度顺序,不至于总是数据量小的流优先调度和数据量大的流“饿死”现象。
[0059]
(ⅳ)在跨数据中心的高性能网络大数据传输的场景下,本发明在高性能网络中的对全局网络的控制的前提下,设计出一种流量传输策略可以在不降低吞吐量和不超出截止日期的情况下,实现了对不同类别流量的公平性调度,同时提高总体调度成功率,从而提升用户的满意度。
附图说明
[0060]
图1为高性能网络基本架构图。
[0061]
图2为本发明的基于截止时间的任务循环机制排序算法的流程图。
[0062]
图3为esnet5的拓扑图。
[0063]
图4为本发明的基于高性能网络的数据中心间多类别混合流带宽调度方法与对比例1、对比例2中的minbp、maxbp、sossdp三个算法在esnet5网络中用户满意度usd的对比图。
[0064]
图5为本发明的基于高性能网络的数据中心间多类别混合流带宽调度方法与对比例1、对比例2中的minbp、maxbp、sossdp三个算法在esnet5网络中调度成功率ssr的对比图。
[0065]
以下结合实施例对本发明的具体内容作进一步详细解释说明。
具体实施方式
[0066]
需要说明的是,本发明中的所有的设备、模型和算法,如无特殊说明,全部均采用现有技术中已知的设备、模型和算法。
[0067]
遵从上述技术方案,以下给出本发明的具体实施例,需要说明的是本发明并不局限于以下具体实施例,凡在本技术技术方案基础上做的等同变换均落入本发明的保护范围。
[0068]
实施例:
[0069]
本实施例给出一种基于高性能网络的数据中心间多类别混合流带宽调度方法,本实施例采用任务循环调度算法作为基于高性能网络的数据中心间多类别混合流带宽调度方法,所述的任务循环调度算法,即tca(task cycle schedule algorithm)。
[0070]
具体的,该方法包括以下步骤:
[0071]
步骤一,在如图1表示的高性能网络上传输给定的批量数据中心之间的多个请求,这些请求按流量标准分为不同类别的请求并标识。
[0072]
所述的不同类别的流量标准分为交互式流量(interactive,int)、弹性流量(elastic,ela)和背景流量(background,bac);所述的交互式流量对应的请求为int请求,所述的弹性流量对应的请求为ela请求,所述的背景流量对应的请求为bac请求。
[0073]
步骤一中,所述的流量标准为:
[0074]
交互式流量:面向用户的数据中心应用程序中交互操作(网络搜索、社交网络、零售、推荐系统等)通常具有严格的延迟要求,并在严格的期限内生成流。这类流量需要严格截止时间,持续时间为100ms以内。
[0075]
弹性流量:一些对最终用户体验不太重要但仍需要及时交付的应用程序或服务流程,截止日期通常比较长,但同时希望更短的完成时间。这类流量需要严格截止时间,持续时间为100ms~10s。
[0076]
背景流量:后台服务会产生巨大的流量,但对延迟不敏感,可以容忍几分钟到几小时的交付延迟。这类流量允许一定时间限制的截止时间,持续时间大于10s。
[0077]
本实施例中生成的请求数量从100开始每次递加100到1000,分别为[100,200,300,400,500,600,700,800,900,1000]。
[0078]
步骤二,对于步骤一中得到的所述的多个请求按照基于截止时间的任务循环机制排序算法进行排序,最终得到所有任务循环输出的排序好的请求序列q1,q2,

qi,
…qn

[0079]
式中:
[0080]
n表示请求的总数;
[0081]
qi表示为(vs,vd,ts,te,d,b
max
,κ),i=1,2,

n;
[0082]vs
表示该请求的源节点;
[0083]
vd是目的节点;
[0084]
ts是最早开始时隙;
[0085]
te是截止时隙;
[0086]
d是数据量;
[0087]bmax
是请求传输数据过程中的最大带宽限制;
[0088]
κ∈{int,ela,bac},表示根据持续时间(t
e-ts)划分的三种请求类别。
[0089]
如图2所示,所述的基于截止时间的任务循环机制排序算法包括以下步骤:
[0090]
步骤201,将根据表达式κ∈{int,ela,bac}分类的请求分别按照其截止时间进行排序。
[0091]
步骤202,按截止时间从当前开始是否有bac请求类别,如果有以bac请求的一次调度为任务循环,当前请求为此次任务循环的起始点,将后面每个bac请求当作一次循环,依次执行所有任务循环。如果没有则将所有的请求当作一次任务循环即可。
[0092]
步骤203,在执行一次任务循环中,查看上述bac请求的截止日期前是否有ela请求类别,如果有则以ela请求的一次调度当作当前bac请求中的一次内部任务循环,当前请求为此次内部任务循环的起始点,在此次bac请求的截止日期前,将后面每个ela请求当作一次内部循环,依次执行所有的内部任务循环,如果没有ela请求则将当前bac请求截止日期前的所有请求当作一次内部任务循环即可;再执行完当前任务循环后,最后执行当前任务循环的bac请求。
[0093]
步骤204,在执行一次内部的任务循环中,查看上述ela请求的截止日期前是否有int请求类别,如果有则依次执行内部任务循环中所有的int请求,执行到没有int请求时,最后执行当前内部任务循环的ela请求。
[0094]
步骤205,当任务循环都执行完成且每个任务循环中的内部任务循环也都执行完成时,基于截止时间的任务循环机制排序算法结束。
[0095]
本实施例中,三种流量持续时间倍率为100,即0~100ms为交互式流量,100ms~10000ms为弹性流量,大于10000ms为背景流量,将请求根据这样的分类标准进行分类。再将分类后的请求根据图2中的流程图进行排序,最终得到所有任务循环输出的排序好的请求序列。
[0096]
步骤三,将步骤二得到的每个任务循环中的所有请求按照以下公式进行计算。
[0097]
minimize
[0098]
subject to
[0099][0100]
[0101]
式中:
[0102]
i表示请求;
[0103]
t表示时隙;
[0104]
p表示路径;
[0105]
q={q1,q2,

qi,
…qn
},表示排序后的n个请求;
[0106]
pi={p1,p2,

pk},表示请求i在数据中心中源节点和目的节点之间的k条最短路径;
[0107]il,p
表示当前链路l是否为传输路径p,1表示是,0表是否;
[0108]bl,t
表示当前链路l在时隙t的可用带宽;
[0109]bmax
表示请求的最大带宽限制;
[0110]di
表示请求i的总数据量大小;
[0111]fi,t,p
表示请求i在时隙t和路径p上分配的流大小;
[0112]
表示当前链路l根据时隙t的权值分配;
[0113]
表示请求i在时隙t和路径p上分配的流所对应的权值。
[0114]
计算得到每个任务循环完成的最短时隙,即每次任务循环中调度完成交互流量和弹性流量的最早时隙,并统计各个类别请求成功的数量,如果距离下一轮任务循环的请求最早开始时间,不能完全调度当前任务循环的背景流量时,求出所有背景流量请求中最大的调度比率α。
[0115]
步骤四,将步骤三得到的调度成功请求数量和调度比率α,根据调度算法和用户满意度计算公式得到用户满意度。
[0116]
所述的用户满意度计算公式为
[0117]
式中:
[0118]
usd表示用户满意度;
[0119]
κ表示三种类别的请求;
[0120]
ssr表示请求的成功率;
[0121]
α表示调度比率,当κ=ins或κ=ela时α=1;当κ=bac时,0≤α≤1。
[0122]
对比例1:
[0123]
本对比例给出了一种最小/最大带宽原则带宽调度算法,即minbp/maxbp算法。该方法的部分步骤与实施例相同,区别在步骤2中的请求排序方式不同。
[0124]
本对比例中的排序算法通过针对优化目标设置优先级和数据大小对带宽预留请求进行排序,当优先级相同时,根据d升序排列,d相等时,根据最长持续时间(t
e-ts)升序排序,当高优先级的请求传输的数据量小于等于低优先级的数据量时,应该优先处理优先级高的带宽预留请求;否则,当高优先级和低优先级的带宽预留请求满足如下条件,则优先处理优先级高的带宽预留请求;若不满足条件,即高优先级的数据量超过约束阈值(pw
high-pw
low
)时,优先传输数据量小的低优先级的请求。
[0125][0126]
其中:
[0127]
d表示请求数据量大小;
[0128]
dofp
high
表示高优先级请求的数据量;
[0129]
dofp
low
表示低优先级请求的数据量;
[0130]
pw
high
表示高优先级请求数值;
[0131]
pw
low
表示低优先级请求数值;
[0132]
对比例2:
[0133]
本对比例给出了一种基于顺序占用带宽分配方式的调度算法,即sossdp算法,其英文全称为sequentialoccupied separate slot dynamic priority。请求优先级的计算是与计算时隙和请求需求的时隙范围相关的,同时也与请求剩余传输的数据量相关。时隙越靠近截止时隙优先级越大,使剩余可传输时隙不多的请求更能获得分配资源上的优势;请求剩余传输数据量越小优先级越大,使请求尽快完成。定义优先级参数表达式如下所示:
[0134][0135]
式中:
[0136]
pr表示请求的优先级,数值越大优先级越高;
[0137]dre
[i]表示当前请求i剩余数据大小;
[0138]
te,ts分别表示请求截止时间和请求开始时间。
[0139]
性能测试:
[0140]
本发明中使用了美国能源科学网(energy science network,esnet)的第5代网络拓扑作为实验的网络基础进行带宽调度仿真实验。esnet5网络拓扑如图3所示。
[0141]
从图4和图5可以看出,在esnet环境下,本发明提供的方法分别与minbp、maxbp和sossdp相比,用户满意度和调度成功率在不同数量的大数据传输量下都有10%~15%的提升,拥有较好的调度性能和成功率,验证算法有效性。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献