多云数据中心中面向延迟敏感应用的启发式请求调度方法与流程

文档序号:14612874发布日期:2018-06-05 21:16阅读:248来源:国知局
多云数据中心中面向延迟敏感应用的启发式请求调度方法与流程

本发明涉及云数据中心中的资源调度技术。更具体地,涉及一种多云数据中心中面向延迟敏感应用的启发式请求调度方法。



背景技术:

近年来,越来越多的组织机构和企业将其应用部署在云数据中心中,因此目前云数据中心中的应用的类型及请求个数急剧增长。因此目前的云数据中心能够同时处理海量应用的并发请求,并通过云数据中心中的基础设施资源能够向用户提供各种类型的服务(包括应用软件服务、开发部署平台服务等)。每个云数据中心的规模一般都较大,通常包含着数以万计的服务器。目前这些云数据中心的大规模服务器集群消耗的能量占美国国内能量总消耗的2%。此外,当前的服务器集群通常按照请求的峰值进行配置和运行,因此服务器提供的运算能力实际上远远超过所需的运算能力。这是因为目前云数据中心中未能有效地针对用户的应用请求的特点进行分析并有针对性地进行调度,因此导致云数据中心中系统范围的能量管理方法比较低效,并且服务器配置过高。

现有的云数据中心节能技术,比如动态电压和频率缩放((Dynamic Voltage/Frequency Scaling,DVFS)仅适应于服务器需要一直保持开启的情况,因此只能服务器处于活动状态时所消耗的能量。而对于延迟敏感型应用(如电子商务应用)请求而言,每个服务器没有必要一直保持开启状态,在用户的应用请求较少时可以选择关闭该服务器。因此,可以根据应用请求的特点比如请求大小、到达率及特点、服务器单位能量成本,动态地确定每个云数据中心中开启的服务器个数。为了提高云数据中心的可用性和请求的性能,同一个应用通常部署在位于多个不同地理位置的云数据中心中。此外,为了处理世界各地的用户请求以及出于性能和成本的考虑,位于不同地区的云数据中心提供商通常都与多个互联网服务提供商合作,通过多个不同的互联网服务提供商接收请求数据和发送响应数据。目前典型的云数据中心(如谷歌、亚马逊等),每天传输的请求和响应数据达到PB级,因此云数据中心提供商承担着巨大的带宽成本。

为了保证用户的应用请求的性能,云数据中心提供商通常跟用户签订特定的服务等级协议(Service Level Agreements,SLA)。服务等级协议中指定了期望达到的请求服务质量、当用户的请求服务质量得到满足时用户需要向云数据中心提供商支付的费用、以及当用户的请求服务质量不能得到满足时云数据中心提供商需要向用户支付的惩罚费用。因此云数据中心提供商可以综合考虑云数据中心在不同地理位置的差异,以及单位带宽成本和单位能量损耗成本的地域性差异等一系列因素对其利润的影响,建立多云数据中心中最大化云数据中心提供商利润的混合整数非线性规划模型。然后采用基于群体智能的蝙蝠算法实现对问题的求解。

本发明能够提供一种在满足所有延迟敏感型应用请求的延迟要求的启发式请求调度方法,将多个延迟敏感型应用的请求调度到多个可用的云数据中心中,从而最大化多云数据中心中云数据中心提供商的利润。



技术实现要素:

本发明的目的在于提供一种多云数据中心中面向延迟敏感应用的启发式请求调度方法,该方法综合考虑了云数据中心在不同地理位置的差异,以及单位带宽成本和单位能量损耗成本的地域性差异等一系列因素对云数据中心提供商利润的影响,从而最大化云数据中心提供商的利润。

为达到上述目的,本发明采用下述技术方案:

根据本发明的一方面,建立了多云数据中心中最大化云数据中心提供商利润的请求调度的混合整数非线性规划模型,包括:将云数据中心的每个应用程序建模为M/M/m的排队系统;确定云数据中心提供商利润的定义公式;建立将应用请求的响应时间转化为对应收益的效应函数;对云数据中心中服务器总量约束、服务强度约束、应用请求的响应时间约束、互联网服务提供商的带宽约束等进行建模。进而最终得到多云数据中心中最大化云数据中心提供商利润的请求调度的混合整数非线性规划模型。

根据本发明的另一方面,提供了一种多云数据中心中面向延迟敏感应用的启发式请求调度方法,包括:采用基于群体智能的蝙蝠算法求解该优化模型,获得启发式的请求调度策略,从而最大化云数据中心提供商的利润。

根据本发明的上述方面,针对目前多云数据中心中延迟敏感型应用请求的特点,在基于群体智能的蝙蝠算法的启发式请求调度方法基础上,通过综合考虑云数据中心在不同地理位置的单位能量损耗成本以及不同互联网服务提供商的单位带宽价格的地域性差异、不同应用请求的延迟要求差异等因素,使得在多云数据中心中云数据中心提供商的利润最大化。

综上,一种多云数据中心中面向延迟敏感应用的启发式请求调度方法,包括如下步骤:

S1、将云数据中心的每个应用程序建模为M/M/m的排队系统。每个云数据中心都维护一个先到先服务的队列来处理到达的请求。云数据中心中每个服务器的服务时间符合负指数分布。此外,每个服务器的服务时间是独立同分布。另外假定工作负荷的到达过程遵循泊松分布。

S2、建立将应用请求的响应时间转化为对应收益的效应函数。

S3、根据M/M/m的排队系统,建立多云数据中心中最大化利润的请求调度的混合整数非线性规划模型。

S4、采用群体智能的蝙蝠算法来求解混合整数非线性规划模型,实现多云数据中心中延迟敏感应用请求的优化调度。

优选地,所述优化模型的优化目标是为最大化云数据中心提供商的利润Profit,所述混合整数非线性规划模型为:

其中,Revenue表示执行所有应用请求为云数据中心提供商带来的收益总和;BCost表示云数据中心提供商含有的所有云数据中心传输数据所需要支付的带宽费用总和;ECost表示云数据中心提供商含有的所有云数据中心中所有备用和开启的服务器所消耗能量的总和;util(Wcn)表示当云数据中心c(c=1,…,C)中应用n(n=1,…,N)请求的平均响应时间为Wcn时为云数据中心提供商带来的收益;ηnkc表示应用n通过互联网服务提供商k(k=1,…,K)传输到云数据中心c的请求占比;γnkc表示应用n通过互联网服务提供商k返回的云数据中心c的响应占比;mcn表示云数据中心c中应用n的开启的服务器数量;pk表示互联网服务提供商k的单位带宽价格;λcn表示云数据中心c中应用n的请求到达率;sn表示应用n的每个请求的响应的数据大小;Rcn表示云数据中心c中应用n的请求对应的响应大小;表示云数据中心c为应用n开启的每个服务器的单位时间消耗的能量成本;Mcn表示云数据中心c中应用n的服务器的总数量;表示云数据中心c为应用n备用的每个服务器的单位时间消耗的能量成本。

优选地,所述混合整数非线性规划模型的约束包括云数据中心c中应用n开启的服务器数量必须要小于云数据中心c中应用n所拥有的服务器总量:

mcn≤Mcn

优选地,所述混合整数非线性规划模型的约束还包括:为了使一个M/M/m的排队系统保持稳定,每个云数据中心的服务器的服务强度必须小于1:

λcn≤mcn·μcn

其中,μcn表示云数据中心c中对应应用n的每个服务器的请求服务率;ρcn表示云数据中心c中对应应用n的每个服务器的服务强度;STcn表示云数据中心c中应用n的请求服务时间。

优选地,所述混合整数非线性规划模型的约束还包括:云数据中心c中应用n的请求延迟时间必须要小于云数据中心c中应用n的延迟时间要求:

Wcn=θcn(1-acnw)+STcncn(1-fcnw)

其中,ψn表示应用n及其执行所需数据的大小;ξcn表示在云数据中心c中对应于应用n的服务器之间的数据传输速率;ζcn表示在云数据中心c中对应于应用n的服务器之间传输应用n及其执行所需数据所需的时间;fcnw和acnw表示云数据中心c中对应于应用n的每个服务器的不同状态;如果fcnw为1,则表示云数据中心c中的服务器w上已经装好了应用n的基础软件和数据,否则fcnw等于0;如果acnw等于1,则表示云数据中心c中应用n对应的服务器w已经处于活动状态,否则acnw等于0;θcn表示云数据中心c中对应于应用n的服务器的启动和初始化时间;表示云数据中心c中应用n的延迟时间要求。

优选地,所述将应用请求的响应时间转化为对应收益的效应函数,具体为:

其中,util(Wcn)表示云数据中心c在Wcn时间内执行应用n的每个请求所带来的收益;表示执行应用n的每个请求所能够带来的最大的收益;表示每个应用n的请求的最小响应时间;表示每个应用n的请求的最大可接受响应时间;Sn表示应用n的请求的执行为云数据中心提供商带来的收益随请求响应时间的增加而下降的速率。

优选地,所述混合整数非线性规划模型的约束还包括:应用n通过互联网服务提供商k传输到云数据中心c的请求占比总和必须要等于1:

优选地,所述混合整数非线性规划模型的约束还包括:在云数据中心c中应用n对于用户请求的响应通过互联网服务提供商k传输的占比总和必须要等于1:

优选地,所述混合整数非线性规划模型的约束还包括:在云数据中心c中应用n对于用户请求的响应数据占用的互联网服务提供商k的总带宽不能超过其上限:

Rcn=λcn·sn

其中,Γk表示互联网服务提供商k的带宽上限。

优选地,采用基于群体智能的蝙蝠算法求解该优化模型具体为:每次迭代中首先更新每只蝙蝠的脉冲频率、速度和位置(解),然后按照均匀分布生成一个随机数,如果该随机数大于该蝙蝠的脉冲发射率,则对当前最优解进行随机扰动,产生一个新的解,并对新的解进行越界处理。随后再次按照均匀分布生成一个随机数,如果该随机数小于该蝙蝠的目前音量且新解的目标函数值优于目前最优解,则按照新解更新该蝙蝠位置。随后更新该蝙蝠的脉冲发射率和音强。然后对所有蝙蝠的适应度值进行排序,找出当前最优解和最优值。以此循环,直到满足该优化算法的迭代终止条件,以最大化云数据中心提供商的利润。

本发明的有益效果如下:

本发明所述技术方案能够改善多云数据中心中云数据中心提供商日益增长的应用类型和请求个数给其利润最大化带来的难题,可以针对延迟敏感型应用的请求选择合适的互联网服务提供商和确定位于每个地理位置的云数据中心中开启的服务器的数量。且本发明所述技术方案综合考虑了云数据中心在不同地理位置的差异、单位带宽成本和单位能量损耗成本的地域性差异、用户对请求响应时间的限制等一系列因素对云数据中心提供商利润的影响,能够将多个延迟敏感型应用的请求调度到多个可用的云数据中心中,使得在多云数据中心中云数据中心提供商利润最大化。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明;

图1示出多云数据中心中面向延迟敏感应用的启发式请求调度方法的流程图。

图2示出多云数据中心的架构图。

图3示出将应用请求的响应时间转化为对应收益的效应函数图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1、图2和图3所示,本发明公开的一种多云数据中心中面向延迟敏感应用的启发式请求调度方法,包括如下步骤:

S1、将云数据中心的每个应用程序建模为M/M/m的排队系统。每个云数据中心都维护一个先到先服务的队列来处理到达的请求。云数据中心中每个服务器的服务时间符合负指数分布。此外,每个服务器的服务时间是独立同分布。另外假定工作负荷的到达过程遵循泊松分布。

S2、建立将应用请求的响应时间转化为对应收益的效应函数:

本发明采用一种将应用请求的响应时间转化为对应收益的效应函数util(Wcn),来刻画云数据中心c(c=1,…,C)在Wcn时间内执行应用n(n=1,…,N)的每个请求所带来的收益,具体为:

其中,util(Wcn)表示云数据中心c在Wcn时间内执行应用n的每个请求所带来的收益;表示执行应用n的每个请求所能够带来的最大的收益;表示每个应用n的请求的最小响应时间;表示每个应用n的请求的最大可接受响应时间;Sn表示应用n的请求的执行为云数据中心提供商带来的收益随请求响应时间的增加而下降的速率。

S3、根据M/M/m的排队系统,建立多云数据中心中最大化利润的请求调度的混合整数非线性规划模型:

本发明采用一种云数据中心提供商的利润Profit的计算方法,来刻画执行所有应用的请求为分布式绿色云数据中心提供商带来的利润,非线性约束优化模型的优化目标为最大化云数据中心提供商的利润Profit,混合整数非线性规划模型:

其中,Revenue表示执行所有应用请求为云数据中心提供商带来的收益总和;BCost表示云数据中心提供商含有的所有云数据中心传输数据所需要支付的带宽费用总和;ECost表示云数据中心提供商含有的所有云数据中心中所有备用和开启的服务器所消耗能量的总和;util(Wcn)表示当云数据中心c中应用n请求的平均响应时间为Wcn时为云数据中心提供商带来的收益;ηnkc表示应用n通过互联网服务提供商k(k=1,…,K)传输到云数据中心c的请求占比;γnkc表示应用n通过互联网服务提供商k返回的云数据中心c的响应占比;mcn表示云数据中心c中应用n的开启的服务器数量;pk表示互联网服务提供商k的单位带宽价格;λcn表示云数据中心c中应用n的请求到达率;sn表示应用n的每个请求的响应的数据大小;Rcn表示云数据中心c中应用n的请求对应的响应大小;表示云数据中心c为应用n开启的每个服务器的单位时间消耗的能量成本;Mcn表示云数据中心c中应用n的服务器的总数量;表示云数据中心c为应用n备用的每个服务器的单位时间消耗的能量成本。

上述混合整数非线性规划模型的约束包括下述(1)~(6):

(1)云数据中心c中应用n开启的服务器数量必须要小于云数据中心c中应用n所拥有的服务器总量:

mcn≤Mcn

(2)为了使一个M/M/m的排队系统保持稳定,每个云数据中心的服务器的服务强度必须小于1:

λcn≤mcn·μcn

其中,μcn表示云数据中心c中对应应用n的每个服务器的请求服务率;ρcn表示云数据中心c中对应应用n的每个服务器的服务强度;STcn表示云数据中心c中应用n的请求服务时间。

(3)云数据中心c中应用n的请求延迟时间必须要小于云数据中心c中应用n的延迟时间要求:

Wcn=θcn(1-acnw)+STcncn(1-fcnw)

其中,ψn表示应用n及其执行所需数据的大小;ξcn表示在云数据中心c中对应于应用n的服务器之间的数据传输速率;ζcn表示在云数据中心c中对应于应用n的服务器之间传输应用n及其执行所需数据所需的时间;fcnw和acnw表示云数据中心c中对应于应用n的每个服务器的不同状态;如果fcnw为1,则表示云数据中心c中的服务器w上已经装好了应用n的基础软件和数据,否则fcnw等于0;如果acnw等于1,则表示云数据中心c中应用n对应的服务器w已经处于活动状态,否则acnw等于0;θcn表示云数据中心c中对应于应用n的服务器的启动和初始化时间;表示云数据中心c中应用n的延迟时间要求。

(4)应用n通过互联网服务提供商k传输到云数据中心c的请求占比总和必须要等于1:

(5)在云数据中心c中应用n对于用户请求的响应通过互联网服务提供商k传输的占比总和必须要等于1:

(6)在云数据中心c中应用n对于用户请求的响应数据占用的互联网服务提供商k的总带宽不能超过其上限:

Rcn=λcn·sn

其中,Γk表示互联网服务提供商k的带宽上限。

S4、采用群体智能的蝙蝠算法来求解混合整数非线性规划模型,实现多云数据中心中延迟敏感应用请求的优化调度:

每次迭代中首先更新每只蝙蝠的脉冲频率、速度和位置(解),然后按照均匀分布生成一个随机数,如果该随机数大于该蝙蝠的脉冲发射率,则对当前最优解进行随机扰动,产生一个新的解,并对新的解进行越界处理。随后再次按照均匀分布生成一个随机数,如果该随机数小于该蝙蝠的目前音量且新解的目标函数值优于目前最优解,则按照新解更新该蝙蝠位置。随后更新该蝙蝠的脉冲发射率和音强。然后对所有蝙蝠的适应度值进行排序,找出当前最优解和最优值。以此循环,直到满足该优化算法的迭代终止条件,以最大化云数据中心提供商的利润。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1