CN103064744A - 一种基于SLA的面向多层Web应用的资源优化方法 - Google Patents

一种基于SLA的面向多层Web应用的资源优化方法 Download PDF

Info

Publication number
CN103064744A
CN103064744A CN2012105797694A CN201210579769A CN103064744A CN 103064744 A CN103064744 A CN 103064744A CN 2012105797694 A CN2012105797694 A CN 2012105797694A CN 201210579769 A CN201210579769 A CN 201210579769A CN 103064744 A CN103064744 A CN 103064744A
Authority
CN
China
Prior art keywords
vase
sla
sigma
request
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105797694A
Other languages
English (en)
Other versions
CN103064744B (zh
Inventor
毕敬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Simulation Center
Original Assignee
Beijing Simulation Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Simulation Center filed Critical Beijing Simulation Center
Priority to CN201210579769.4A priority Critical patent/CN103064744B/zh
Publication of CN103064744A publication Critical patent/CN103064744A/zh
Application granted granted Critical
Publication of CN103064744B publication Critical patent/CN103064744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种基于SLA的面向多层Web应用的资源优化方法,根据虚拟资源和用户需求,基于排队理论提出了一种面向多层Web应用的由M/M/c和M/G/1模型构成的混合队列模型。并为基础设施提供商建立了一个非线性的全局效应函数,建立了基于SLA的多层Web应用系统资源优化的模型,并给出了基于SLA的虚拟资源动态分配策略,从而获得最优的虚拟资源配置。本发明以多层Web应用的基础设施提供商需要以服务等级协议(SLA)为依据,在优化虚拟资源以实现其自身效应最大化的同时,满足Web应用用户的性能需求。

Description

一种基于SLA的面向多层Web应用的资源优化方法
技术领域
本发明涉及一种面向多层Web应用的资源优化方法,特别是涉及一种基于SLA的面向多层Web应用的资源优化方法。
背景技术
随着Web应用在各领域的不断发展,用于支持Web应用的基础设施资源需求越来越大。对于基础设施提供商本身而言,需要综合考虑用以支持Web应用底层资源的成本如,电力成本、带宽代价、存储代价等。因此,对于提供支持Web应用的基础设施提供商而言,需要和Web应用的多个用户签订合适的服务等级协议(SLA),并以此作为约束。一方面,保证用户接收到的Web应用的服务质量,如响应时间要求、带宽要求、吞吐量和可用率等;另一方面,支持Web应用的基础设施提供商需要以此为依据,优化管理虚拟资源在满足其自身效应最大化的同时满足Web用户的性能需求。
目前典型的Web应用软件均采用多层架构模式,如常见的三层架构,包括Web层(提供显示界面)、应用层(提供业务逻辑)和数据库层(存储管理数据)。其中每一层均向其相邻的上一层提供服务,并使用其下一层提供的功能,最后将Web应用的结果返回给用户显示在Web页面上,以此来完成整个Web应用软件的访问过程。
在构造多层Web应用的过程中,每个用户对Web应用的性能要求各不相同,支持多层Web应用的基础设施提供商需要与Web应用用户签订SLA协议。然而,SLA保障的一个主要问题就是,在实际的多层Web应用服务环境中,由于Web应用的用户请求到达率随时间而不断变化,很难对资源需求进行提前估计,而为最坏情况进行资源计划既不可行又效率低下。
发明内容
针对以上现有技术的不足,本发明提供一种基于SLA的面向多层Web应用的资源优化方法,以解决支持多层Web应用的基础设施资源提供商的资源优化问题。
根据本发明的一个方面,提供了混合排队网络模型,包括:为了使支持Web应用的虚拟资源能够按照用户的应用需求进行动态地配给,基于排队理论为Web应用服务建立性能模型,并描述具体的方法和过程;为了给Web应用基础设施提供商带来效应,建立一个非线性的效应函数。
根据本发明的另一方面,提供了基于SLA的多层Web应用的资源优化方法,包括,多层应用各层虚拟资源的优化配置方法,根据给定的负载、用户对应用的响应时间需求和基础设施提供商的实际处理能力,对模型进行优化求解,并得到当前虚拟资源配置的初始最优解;以及给出基于SLA的虚拟资源动态分配策略,根据虚拟资源配置最优初始解,进一步采用混合禁忌搜索优化算法,确保基础设施提供商的全局效应最大化。
根据本发明的上述方面,针对目前典型的Web应用软件多层架构模式的特点,基于给定的SLA约束基础上,使得Web应用基础设施提供商的效应润最大化。需要说明的是本发明仅以一个典型Web应用为例来进行说明,同样可以应用到其它的Web应用中。
本发明的目的通过以下技术方案来实现:
一种基于SLA的面向多层Web应用的资源优化方法,该方法包括如下步骤:
1)根据虚拟资源和用户应用的需求建立面向多层Web应用的混合队列模型,获取Web应用服务执行环境中各个层的行为;
2)对所述Web应用服务执行环境中各个层的行为建立全局效应函数,得到产生最优资源优化配置的参数关系;
3)根据多层Web应用的混合队列模型和效应函数关系,建立基于SLA的多层Web应用虚拟资源优化模型,得到当前虚拟资源配置的初始最优解;
4)在2)和3)的基础上,为了解决基础设施提供商的效应最大化问题,给出一种基于SLA的资源优化分配算法,获取Web应用服务执行环境(VASE)i的最优资源配置。
进一步,所述Web应用服务执行环境中各层的行为包括基础设施提供商对用户请求的响应时间。
进一步,所述多层Web应用的混合队列模型包括M/M/c系统模型和M/G/1的性能解析模型。
进一步,所述M/M/c系统模型为由按需分配器(ODD)(j=0)构建成,即:
R i , k , 0 = ( λ i , k , 0 ) c i , 0 - 1 · ( ρ i , k , 0 + c i , 0 - c i , 0 ρ i , k , 0 ) ( 1 - ρ i , k , 0 ) 2 Π v = 1 c i , 0 a ( v ) · p 0 + 1 λ i , k , 0 · Σ s = 0 c i , 0 - 1 ( s · p s )
其中,
viii)Ri,k,0为在VASE i的情况下ODD(j=0)的端到端的平均响应时间;
ix)ρi,k,0i,k,0/a(ci0)<1为在VASE i的情况下ODD中VMs调度器的利用率;
x)λi,k,0表示VASE i的情况下ODD中请求类k的总请求到达率;
xi) a ( v ) = &Sigma; q = 1 v &mu; i , k , 0 , q = &mu; i , k , 0,1 + &mu; i , k , 0,2 + . . . + &mu; i , k , 0 , v ,
Figure BDA00002661966300023
Figure BDA00002661966300024
μi,k,0,v为在VASE i的情况下ODD的VMs调度器的处理能力;
xii)p0为在VASE i的情况下ODD的VMs调度器处于空闲状态的概率;
xiii)ps为在VASE i的情况下ODD的VMs调度器中存在s个请求的概率;
xiv)ci,0为在VASE i的情况下ODD的VMs数量。
进一步,M/G/1的性能解析模型由多层Web应用服务执行环境的每一层建立多个M/G/1的性能解析模型,即
R i , k , j , w = 1 &mu; i , k , j , w - &lambda; i , k , j , w = 1 &mu; i , k , j , w - ( p i , k , j - 1 ( um ) - p i , k , j - 1 ) &CenterDot; &lambda; i , k , j - 1 / c i , j
其中,
vii)Ri,k,j,w为在VASE i的情况下请求类k在第j层的VMs w的端到端的平均响应时间;
viii)μi,k,j,w为在VASE i的情况下请求类k在第j层的VMs w的利用率;
ix)λi,k,j,w为在VASE i的情况下请求类k在第j层的VMs w的请求到达率;
x)pi,k,j-1表示请求类k完成第j-1层请求并返回到VASE i的初始位置重新处理的请求的概率;
xi)
Figure BDA00002661966300032
表示VASE i中请求类k完成第j-1层请求并以特定的概率到达j层;
xii)ci,j为在VASE i的情况下在第j层的VMs数量。
进一步,所述全局效应函数为:
P g ( E ) = &Sigma; i = 1 N &Sigma; k = 1 K i { &Lambda; i , k &CenterDot; ( ( - m i , k ) &CenterDot; R i , k + u i , k ) - ( d i , k &CenterDot; x i , k ) }
- &Sigma; i = 1 N &Sigma; k = 1 K i &Sigma; j = 0 M ( &Sigma; w = 1 c i , j c i , k , j , w active + &Sigma; w = 1 n i , j - c i , j c i , k , j , w spare )
其中,
viii)Λi,k是VASE i中请求类k的总到达率;
ix)Ri,k是VASE i中请求类k的端到端响应时间记为下式:
R i , k = 1 &Lambda; i , k ( &Sigma; j = 0 M &lambda; i , k , j &CenterDot; R i , k , j ) = 1 &Lambda; i , k ( &lambda; i , k , 0 &CenterDot; R i , k , 0 + &Sigma; j = 1 M &Sigma; w = 1 c i , j &lambda; i , k , j , w &CenterDot; R i , k , j , w ) ;
x)
Figure BDA00002661966300036
-mi,k表明效用函数ui,k的斜率;
xi)
Figure BDA00002661966300037
这里的x相当于Ri,k,bestVal为0,worstVal为
Figure BDA00002661966300038
xii)对于请求类k用xi,k表示导致惩罚的被拒绝的请求数量;
xiii)
Figure BDA00002661966300039
-VASE i中请求类k在层j中活动的VM w的单位费用;
xiv)
Figure BDA000026619663000310
-VASE i中请求类k在层j中备用的VM w的单位费用。
进一步,所述Web应用虚拟资源优化模型为:
min{Cg,i=f(ci,0,ci,1,ci,2,...,ci,M)}
s . t . &Sigma; j = 0 M R i , k , j &le; R &OverBar; i , k
&Sigma; w = 1 c i , j &mu; i , k , j , w > &lambda; i , k , j
Figure BDA00002661966300043
k∈[1,Ki],j∈[0,M]
其中,
iii)Ri,k,j为在VASE i的情况下第j层的端到端的平均响应时间;
iv)
Figure BDA00002661966300044
为在VASE i中请求类k期望的SLA目标响应时间。
进一步,所述获取Web应用服务执行环境的最优资源配置具体方法为:设定禁忌搜索的最外层循环次数,在里面的每一次循环中,设计一个内部循环,首先计算当前配置的梯度,确定步长,从而生成新的配置方案,依次循环直到生成一个固定的解配置方案,至此结束该内部循环,接着比较内部循环生成的固定解与当前解的效应差值,如果固定解产生的效应值较高,则接受该解为新的当前解,并记为当前最优解;否者,如果该固定解不在禁忌表中,则接受该解为新的当前解,但不记为当前最优解。以此循环,直到达到最外层循环次数,即得到当前最优解。
本发明的优点在于:
1.该方法能够帮助基础设施提供商优化管理虚拟资源,在满足Web应用不同用户的性能要求的同时,确保Web应用基础设施提供商的全局效应最大化。
2.在实际的多层Web应用服务环境中,能够随着Web应用用户需求的变化进行动态地为多个多层Web应用分配虚拟资源,从而在保证SLA性能要求的同时,提高基础设施的整体资源利用率。
附图说明
图1一种基于SLA的面向多层Web应用的资源优化方法组成示意图;
图2多层Web应用服务资源动态配给模型图;
图3一般的效应函数图。
具体实施方式
下面将参照附图来描述根据本发明实施例的基于SLA的面向多层应用的资源优化方法的具体步骤。
第一步提出了一种面向多层Web应用的混合队列模型
为了使虚拟资源能够按照用户的应用需求进行动态地配给,图2给出了基于混合排队网络的虚拟机动态配给模型示意图。这里主要针对在线型应用服务,因此将响应时间作为主要的性能指标来衡量基础设施提供商的服务质量,并采用请求到达率来表示负载密度。
在云环境下,大量的应用用户请求访问基础设施服务中的资源,在请求离开系统之前将会经历多个步骤,要么在某一层处于排队等待的状态,要么正在某一层接受处理。此外,一部分用户可能会访问完某一层服务资源后就会离开系统(例如,用户访问某在线商店的Web页面后就离开),或者访问完某一层服务资源后又返回到系统初始状态重新访问(例如,用户访问某在线商店网站正要进行付款时发现还需要购买一件商品,于是用户又返回到该网站的Web初始页面进行商品选购活动)。因此,本发明采用混合(开环和闭环)排队网络来为系统建立性能解析模型,该模型能够捕捉Web应用服务环境中各个层的行为,例如HTTP、J2EE和数据库层。队列采用FCFS(First Come First Served,先来先服务)的服务原则,即用户请求按照其到达的顺序被处理。用户以请求类k的方式到达并访问Web应用服务执行环境(VASE)i中的服务,其请求速率为λi,k。根据实际的网络商业站点的轨迹分析已经表明网络工作负载符合一个泊松分布,因此假设外在的请求到达流是泊松到达过程,到达的时间间隔符合指数分布。Λi,k表示VASE i中请求类k的总请求到达率,使得Λi,ki,k,0。其中,pi,k,j表示请求类k完成第j层请求并返回到VASEi的初始位置重新处理的请求的概率;表示VASE i中请求类k完成第j层请求并以特定的概率到达j+1层,同时VASE i中第j层也可能会有
Figure BDA00002661966300052
概率的用户完成请求类k的处理并返回;λi,k表示在VASE i中请求类k的正在到达的请求率。
具体地,首先由图2可知下式(1)
λi,k,0=λi,ki,k,1pi,k,1i,k,2pi,k,2+…+λi,k,Mpi,k,M        (1)
令Mi,k=M且j=0,则有 &lambda; i , k , 1 = p i , k , 0 ( um ) &lambda; i , k , 0 , &lambda; i , k , 2 = ( p i , k , 1 ( un ) - p i , k , 1 ) &CenterDot; &lambda; i , k , 1 , &lambda; i , k , 3 = ( p i , k , 2 ( un ) - p i , k , 2 ) &CenterDot; &lambda; i , k , 2 , . . . , &lambda; i , k , M = ( p i , k , M - 1 ( un ) - p i , k , M - 1 ) &CenterDot; &lambda; i , k , M - 1 , &lambda; i , k , j = ( p i , k , j - 1 ( un ) - p i , k , j - 1 ) &CenterDot; &lambda; i , k , j - 1 , p i , k , 0 ( un ) = 1 , 0 &le; p i , k , j - 1 ( un ) &le; 1 , p i , k , M = p i , k , M ( un ) , ( &ForAll; j &Element; [ 1 , M ] ) .
然后,可以计算得到下式(2)
&lambda; i , k , 0 = &lambda; i , k / ( 1 - p i , k , 1 - &Sigma; j = 2 M ( p i , k , j &CenterDot; &Pi; q = 1 j - 1 ( p i , k , q ( un ) - p i , k , q ) ) ) - - - ( 2 )
在这里,为按需分配器(ODD)(j=0)建模成一个M/M/c系统模型,即第一个M描述了用户泊松到达的过程,到达的时间间隔服从负指数分布;第二个M描述了服务时间,具有负指数分布的服务时间,负指数分布具有马尔可夫特性;ODD中共有c个VMs调度器,各个VMs调度器的时间具有不同服务率的负指数分布,且在ODD中的用户请求数没有限制。基于原始的排队系统为基础,假设存在多个空闲可用的VMs调度器的情况下,ODD总是将请求分配给处理最快的VMs调度器,并确保ODD的有效利用率在60%~80%。为了建立近似模型,首先按照服务速率将各个异构VMs调度器按照从大到小的顺序进行排序,记为
Figure BDA000026619663000511
根据马尔可夫状态生灭关系平衡方程,可以得到在VASE i的情况下ODD的VMs调度器中存在s个请求的概率为下式(3):
p s = ( &lambda; i , k , 0 ) s &Pi; v = 1 s a ( v ) &CenterDot; p 0 , &ForAll; 1 &le; s &le; c i , 0 ( &lambda; i , k , 0 ) s a ( c i , 0 ) s - c i , 0 &Pi; v = 1 c i , 0 a ( v ) &CenterDot; p 0 , &ForAll; s &GreaterEqual; c i , 0 - - - ( 3 )
其中, a ( v ) = &Sigma; q = 1 v &mu; i , k , 0 , q = &mu; i , k , 0,1 + &mu; i , k , 0,2 + . . . + &mu; i , k , 0 , v ,
Figure BDA00002661966300063
Figure BDA00002661966300064
根据概率的定义,有
Figure BDA00002661966300065
p0为在VASE i的情况下ODD的VMs调度器处于空闲状态的概率为下式(4):
p 0 = [ &Sigma; s = 0 c i , 0 - 1 ( &lambda; i , k , 0 ) s &Pi; v = 1 s a ( v ) + ( &lambda; i , k , 0 ) c i , 0 &Pi; v = 1 c i , 0 a ( v ) &CenterDot; [ 1 1 - &lambda; i , k , 0 a ( c i , 0 ) ] ] - 1 - - - ( 4 )
于是,根据Little’s定律,可以计算出在VASE i的情况下ODD的端到端的平均响应时间为下式(5):
R i , k , 0 = ( &lambda; i , k , 0 ) c i , 0 - 1 &CenterDot; ( &rho; i , k , 0 + c i , 0 - c i , 0 &rho; i , k , 0 ) ( 1 - &rho; i , k , 0 ) 2 &Pi; v = 1 c i , 0 a ( v ) &CenterDot; p 0 + 1 &lambda; i , k , 0 &CenterDot; &Sigma; s = 0 c i , 0 - 1 ( s &CenterDot; p s ) - - - ( 5 )
其中,j=0,ρi,k,0i,k,0a(ci0)<1为在VASE i的情况下ODD中VMs调度器的利用率。
接下来,为多层Web应用服务执行环境的每一层建立多个M/G/1的性能解析模型,即第一个M描述了用户按泊松流到达,相邻到达的时间间隔序列独立,同负指数分布;第二个G描述了用户所需的服务时间序列独立,具有的服务时间服从一般分布,一般分布需要用嵌入马尔可夫链的方法来解决;在多层VASE i中需要将进入的请求流按照一定的原则划分成多份分别发送到某层不同的虚拟机上处理,本发明采用的原则是保证无论将下一个请求分配到该层的哪个虚拟机上,在该层所期望达到的平均响应时间都相等。假设被调度的用户请求以λi,k,j,w(1≤w≤ci,j)的速率到达虚拟机w,于是可以计算得到下式(6):
&lambda; i , k , j = p j - 1 ( un ) &CenterDot; &lambda; i , k , j - 1 = &Sigma; w = 1 c i , j &lambda; i , k , j , w = c i , j &lambda; i , k , j , w R i , k , j , w = 1 &mu; i , k , j , w - &lambda; i , k , j , w = 1 &mu; i , k , j , w - ( p i , k , j - 1 ( un ) - p i , k , j - 1 ) &CenterDot; &lambda; i , k , j - 1 / c i , j &lambda; i , k , j , 1 = &lambda; i , k , j , 2 = . . . = &lambda; i , k , j , c i , j &mu; i , k , j , 1 = &mu; i , k , j , 2 = . . . = &mu; i , k , j , c i , j - - - ( 6 )
从(6)中可以很容易的计算出VASE i中各个层的平均响应时间的值,其中1≤j≤M且 R i , k , j = &Sigma; w = 1 c i , j R i , k , j , w . 假设λi,k,j被分解为
Figure BDA00002661966300073
&lambda; i , k , j , 1 = &lambda; i , k , j , 2 = . . . = &lambda; i , k , j , c i , j , 即请求到达率按照等分策略分配给每个VMs来执行,那么 &lambda; i , k , j = ( p i , k , j - 1 ( un ) - p i , k , j - 1 ) &CenterDot; &lambda; i , k , j - 1 = &Sigma; w = 1 c i , j &lambda; i , k , j , w = c i , j &lambda; i , k , j , w . 且在同一层中的各个虚拟机的处理能力相同,即 &mu; i , k , j , 1 = &mu; i , k , j , 2 = . . . = &mu; i , k , j , c i , j . 但在不同层上虚拟机间的处理能力不同,即μi,k,1,w≤μi,k,2,w≤...≤μi,k,M,w(比如,Web层上虚拟机的处理能力小于等于App层上虚拟机的处理能力)。
Figure BDA00002661966300079
为在VASE i的情况下各层分配给虚拟机资源(比如,CPU、内存、I/O等)的利用率。本章主要从CPU的角度来考虑资源的利用率情况。当CPU利用率超过一个特定的阈值(本发明取85%)时,Dom-M(虚拟机管理域)将会触发ODD执行一个VM迁移来保持SLA的目标。
第二步建立一个非线性的全局效应函数
每个VASE i具有其局部的效应函数定义,这里记为下式(7):
Pi=f(λi,ci,0,ci,1,...,ci,M,SLAi)         (7)
全局效应值Pg是每个VASE的局部效应值的函数,因此整个优化问题可以形式化为问题(P1),如下式(8):
max{Pg=g(P1,P2,...,PN)}         (8)
下面给出本发明中使用的具体效应函数。这里,针对于Web应用服务环境中包含多种在线业务类型的多层Web应用服务进行分析,VASE i中请求类k在层j中的请求到达率用λi,k,j来表示,将响应时间Ri,k作为性能指标。假设在系统运行前基础设施服务提供商和用户之间已经达成协议并签订了SLA契约,其中在SLA契约中指定的各项性能需求和收费模型定义如下:
1)-VASE i中请求类k期望的SLA目标响应时间。如果在目标响应时间内服务完一个请求则为基础设施服务提供商贡献正向收益,即如果
Figure BDA000026619663000711
则SLAi为收益型;否则,超过目标响应时间完成则会给基础设施服务提供商带来惩罚,即如果
Figure BDA000026619663000712
则SLAi为惩罚型。
2)Ci-在整个基础设施服务中VASE i的最大VM数量。如果
Figure BDA00002661966300081
那么拒绝一个用户请求将导致di,k的惩罚;如果那么基础设施服务提供商只需负责提供Ci个VMs即可。也就是说,当实际的VM数量超过协定的上限值时,拒绝的用户请求将不计入惩罚之内。这使得用户必须仔细的估测应用服务的实际需求,并在应用服务部署之前进行适当的开销规划。
3)
Figure BDA00002661966300083
-VASE i中请求类k在层j中活动的VM w的单位费用。
4)
Figure BDA00002661966300084
-VASE i中请求类k在层j中备用的VM w的单位费用。
本发明的目标是最大化基础设施服务提供商的效应值,使得来自SLA契约中的收益和惩罚,与VMs开销在调度器交互期间的差值最大,其效应函数可以表示为下式(9):
Pg(E)=Revenue+(E)-Cost(E)           (9)
其中,
1)基础设施服务的正向收益函数可表示为下式(10):
Revenue + ( E ) = Revenue ( E ) - Penalty ( E ) - - - ( 10 )
= &Sigma; i = 1 N &Sigma; k = 1 K i &Lambda; i , k &CenterDot; ( ( - m i , k ) &CenterDot; R i , k + u i , k ) - &Sigma; i = 1 N &Sigma; k = 1 K i ( d i , k &CenterDot; x i , k )
= &Sigma; i = 1 N &Sigma; k = 1 K i { &Lambda; i , k &CenterDot; ( ( - m i , k ) &CenterDot; R i , k + u i , k ) - ( d i , k &CenterDot; x i , k ) }
说明,如之前在SLA契约中所签定的,被服务的请求在不大于时间内完成时,基础设施提供商贡献正向收益;否则其将受到惩罚。如果那么拒绝一个用户请求将导致di,k的惩罚。
2)基础设施服务的收费模型可表示为下式(11):
Cost ( E ) = &Sigma; i = 1 N &Sigma; k = 1 K i &Sigma; j = 0 M ( &Sigma; w = 1 c i , j c i , k , j , w active + &Sigma; w = 1 n i , j - c i , j c i , k , j , w spare ) - - - ( 11 )
说明,VASE i中每一层由ni,j个完全相同的虚拟资源构成一个集群。为了处理即将到达的请求负载,ci,j个虚拟资源是负载均衡的活动状态;为了处理请求负载增加的情况,ni,j-ci,j个虚拟资源是空闲的在备用的状态中,并随时启动虚拟资源来满足请求负载增加的需求,从而确保基础设施服务的可用性。
每个VASE i的局部效应函数由收入、惩罚和损失以及虚拟资源的总开销决定。于是本发明中考虑的全局效应函数可计算为下式(12):
P g ( E ) = &Sigma; i = 1 N &Sigma; k = 1 K i { &Lambda; i , k &CenterDot; ( ( - m i , k ) &CenterDot; R i , k + u i , k ) - ( d i , k &CenterDot; x i , k ) }
- &Sigma; i = 1 N &Sigma; k = 1 K i &Sigma; j = 0 M ( &Sigma; w = 1 c i , j c i , k , j , w active + &Sigma; w = 1 n i , j - c i , j c i , k , j , w spare ) - - - ( 12 )
其中,
1)Λi,k是VASE i中请求类k的总到达率。
2)Ri,k是VASE i中请求类k的端到端响应时间记为下式(13):
R i , k = 1 &Lambda; i , k ( &Sigma; j = 0 M &lambda; i , k , j &CenterDot; R i , k , j ) = 1 &Lambda; i , k ( &lambda; i , k , 0 &CenterDot; R i , k , 0 + &Sigma; j = 1 M &Sigma; w = 1 c i , j &lambda; i , k , j , w &CenterDot; R i , k , j , w ) - - - ( 13 )
3)
Figure BDA00002661966300093
-mi,k表明效用函数ui,k的斜率。
4)
Figure BDA00002661966300094
这里的x相当于Ri,k,bestVal为0,worstVal为
Figure BDA00002661966300095
如图3所示。
5)对于请求类k用xi,k表示导致惩罚的被拒绝的请求数量。
第三步建立基于SLA的多层Web应用虚拟资源优化的模型
在第一步给出的面向多层应用混合队列模型的基础上,建立多层Web应用系统的资源优化模型。为了能够随着负载变化的过程动态的为多个VASE分配虚拟资源,面临的首要问题就是在基础设施服务中找到一个高质量的虚拟机初始配置(ConfigMA T0)。活动的VMs数量是问题的主要变量,因为它们影响性能和费用函数(Cost function)。另一方面,λi,k,j,w和μi,k,j,w只影响性能并且被认为是微调变量,而在高级的层面,基础设施服务的性能主要依赖于被采用的VMs的数量。因此,为了找到一个合适的虚拟机初始配置,来满足基础设施服务提供商和用户签订的SLA契约的同时保证虚拟资源的利用最少,本发明采用给定的负载、响应时间和特定的虚拟机容量作为输入参数,然后对模型进行优化求解,并得到当前虚拟资源配置的初始解ConfigMA T0
假设VASE i中同一层的VMs是同构的,不同层的VMs是异构的,则VASE i的第j层中存在ci,j个活动的VMs,其性能解析函数为下式(14):
c i , j = f ( &lambda; i , k , j , &mu; i , k , j , 1 , &mu; i , k , j , 2 , . . . , &mu; i , k , j , c i , j ) - - - ( 14 )
每个VASE i的全局活动的VMs数量为Cg,i,因此优化问题可以形式化为问题(P2),如下式(15):
min{Cg,i=f(ci,0,ci,1,ci,2,...,ci,M)}          (15)
s . t . &Sigma; j = 0 M R i , k , j &le; R &OverBar; i , k - - - ( 16 )
&Sigma; w = 1 c i , j &mu; i , k , j , w > &lambda; i , k , j
Figure BDA00002661966300099
k∈[1,Ki],j∈[0,M]      (17)
同样,给定每个VASE的请求到达率、服务率和端到端的响应时间,可以得到基础设施服务中整个VASE的虚拟资源配置
Figure BDA00002661966300101
即得到当前虚拟资源配置的初始解ConfigMA T0。在问题(P1)中,目标是决定在各个层中分配多少的VMs来满足VASE i中即将到达的请求在给定的响应时间范围内。该模型输出的是VASE i中最少的VMs数量,标记为Cg,i。约束式(16)限制了每层响应时间的总和不能够超过有限的响应时间
Figure BDA00002661966300103
Figure BDA00002661966300104
是在基础设施服务提供商和用户签订的SLA契约中给定的。约束式(17)限制了同一层上的请求到达率不能超过或等于该层的可用虚拟资源容量的总和。
第四步给出基于SLA的虚拟资源动态分配策略
在第二、三步的基础上,为了解决基础设施提供商的效应最大化问题,给出一种基于SLA的资源优化分配算法,得到最优的资源配置方案。该算法结合禁忌搜索和梯度下降法,产生具有最大效应值的当前资源配置,进而确保基础设施提供商的全局效应最大化。
根据输入信息包括初始配置方案,禁忌表和SLA中指定的目标效应值,输出具有最高效应值的资源配置方案。设定禁忌搜索的最外层循环次数,在里面的每一次循环中,设计一个内部循环,首先计算当前配置的梯度,确定步长,从而生成新的配置方案,依次循环知道生成一个固定的解配置方案,至此结束该内部循环,接着比较内部循环生成的固定解与当前解的效应差值,如果固定解产生的效应值较高,则接受该解为新的当前解,并记为当前最优解,否者,如果该固定解不在禁忌表中,则接受该解为新的当前解,但不记为当前最优解。以此循环,直到达到最外层循环次数,即可得到当前最优解。
本发明对上面提出的基于SLA的面向多层Web应用的资源优化方法的效率进行性能评估。实验结果表明,在细粒度的虚拟资源分配下,本发明所提出的方法能够在尽可能减少允许开销的情况下保障多个Web应用服务的等级,从而使得基础设施提供商的效应最大化。
以RUBiS在线拍卖应用为例来进行说明。RUBiS是由美国Rice大学实现的一个基于EJB的在线拍卖网站,类似于eBay。网站的部署基于典型的三层服务模式:前端运行Apache Web server2.0.64(Web层),中间层运行Tomcat5.5J2EE应用服务器(App层),后端运行MySQL5.0.41数据库服务器(DB层),且在所有的服务器里运行内嵌的VMs。因此,一个RUBiS实例由3个VMs构成。所有的VMs共享处理器并且依赖于工作负载,根据工作负载的变化其对CPU、内存、硬盘和网络资源都有不同的需求(比如,如果CPU的利用率超过一个特定的阈值(>85%),则它触发一个VM迁移来保持SLAs的需求)。本发明使用的终端用户请求轨迹来产生工作负载给VMs:请求轨迹从1998年世界杯网站公开的Web负载记录(来源于6月29日第20天的纪录)生成给RUBiS应用服务。表1和表2给出了各种不同的参数值来刻画RUBiS应用服务。
表1参数设置给RUBiS
Figure BDA00002661966300111
表2SLA参数设置给RUBiS
Figure BDA00002661966300112
表1和2中呈现了变化的参数值,并通过多层模型来使用给多层Web应用服务。因此这些参数值基于在线的测量Web和App层每15分钟被更新一次,或者基于离线测量DB层在超过15分钟周期上来记录每一个参数值。本发明给出了Web应用服务的SLA协议指标,包括目标响应时间、最大吞吐率、可用性、单位收益和惩罚等。上述参数在实验中都保持不变。假设Web应用服务需要签定一个SLA声明与用户,其中用户具有三种不同级别,即Level1、Level2和Level3,且这三种用户级别98%的响应时间(即98%的请求都在这个时间内得到响应)分别不超过0.2秒、0.4秒和0.5秒。每层的平均响应时间目标分别设置为总目标响应时间的10%、50%和40%(比如,在Level1中Web层、App层和DB层的平均响应时间分别为20msec、100msec和80msec)。这里假设用户将收费模型建立在服务质量需求的基础上,例如,在上述RUBiS应用服务的参数设定里,Level1对响应时间的约束最紧,同时也是付费最多和惩罚最多的。
应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,该方法包括如下步骤:
1)根据虚拟资源和用户应用的需求建立面向多层Web应用的混合队列模型,获取Web应用服务执行环境中各个层的行为;
2)对所述Web应用服务执行环境中各个层的行为建立全局效应函数,得到产生最优资源优化配置的参数关系;
3)根据多层Web应用的混合队列模型和效应函数关系,建立基于SLA的多层Web应用虚拟资源优化模型,得到当前虚拟资源配置的初始最优解;
4)在2)和3)的基础上,为了解决基础设施提供商的效应最大化问题,给出一种基于SLA的资源优化分配算法,获取Web应用服务执行环境(VASE)i的最优资源配置。
2.根据权利要求1所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,所述Web应用服务执行环境中各层的行为包括基础设施提供商对用户请求的响应时间。
3.根据权利要求1所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,所述多层Web应用的混合队列模型包括M/M/c系统模型和M/G/1的性能解析模型。
4.根据权利要求3所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,所述M/M/c系统模型为由按需分配器(ODD)(j=0)构建成,即:
R i , k , 0 = ( &lambda; i , k , 0 ) c i , 0 - 1 &CenterDot; ( &rho; i , k , 0 + c i , 0 - c i , 0 &rho; i , k , 0 ) ( 1 - &rho; i , k , 0 ) 2 &Pi; v = 1 c i , 0 a ( v ) &CenterDot; p 0 + 1 &lambda; i , k , 0 &CenterDot; &Sigma; s = 0 c i , 0 - 1 ( s &CenterDot; p s )
其中,
i)Ri,k,0为在VASE i的情况下ODD(j=0)的端到端的平均响应时间;
ii)ρi,k,0i,k,0/a(ci0)<1为在VASE i的情况下ODD中VMs调度器的利用率;
iii)λi,k,0表示VASE i的情况下ODD中请求类k的总请求到达率;
iv) a ( v ) = &Sigma; q = 1 v &mu; i , k , 0 , q = &mu; i , k , 0,1 + &mu; i , k , 0,2 + . . . + &mu; i , k , 0 , v ,
Figure FDA00002661966200014
μi,k,0,v为在VASE i的情况下ODD的VMs调度器的处理能力;
v)p0为在VASE i的情况下ODD的VMs调度器处于空闲状态的概率;
vi)ps为在VASE i的情况下ODD的VMs调度器中存在s个请求的概率;
vii)ci,0为在VASE i的情况下ODD的VMs数量。
5.根据权利要求3所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,M/G/1的性能解析模型由多层Web应用服务执行环境的每一层建立多个M/G/1的性能解析模型,即
R i , k , j , w = 1 &mu; i , k , j , w - &lambda; i , k , j , w = 1 &mu; i , k , j , w - ( p i , k , j - 1 ( um ) - p i , k , j - 1 ) &CenterDot; &lambda; i , k , j - 1 / c i , j
其中,
i)Ri,k,j,w为在VASE i的情况下请求类k在第j层的VMs w的端到端的平均响应时间;
ii)μi,k,j,w为在VASE i的情况下请求类k在第j层的VMs w的利用率;
iii)λi,k,j,w为在VASE i的情况下请求类k在第j层的VMs w的请求到达率;
iv)pi,k,j-1表示请求类k完成第j-1层请求并返回到VASE i的初始位置重新处理的请求的概率;
v)表示VASE i中请求类k完成第j-1层请求并以特定的概率到达j层;
vi)ci,j为在VASE i的情况下在第j层的VMs数量。
6.根据权利要求1所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,所述全局效应函数为:
P g ( E ) = &Sigma; i = 1 N &Sigma; k = 1 K i { &Lambda; i , k &CenterDot; ( ( - m i , k ) &CenterDot; R i , k + u i , k ) - ( d i , k &CenterDot; x i , k ) }
- &Sigma; i = 1 N &Sigma; k = 1 K i &Sigma; j = 0 M ( &Sigma; w = 1 c i , j c i , k , j , w active + &Sigma; w = 1 n i , j - c i , j c i , k , j , w spare )
其中,
i)Λi,k是VASE i中请求类k的总到达率;
ii)Ri,k是VASE i中请求类k的端到端响应时间记为下式:
R i , k = 1 &Lambda; i , k ( &Sigma; j = 0 M &lambda; i , k , j &CenterDot; R i , k , j ) = 1 &Lambda; i , k ( &lambda; i , k , 0 &CenterDot; R i , k , 0 + &Sigma; j = 1 M &Sigma; w = 1 c i , j &lambda; i , k , j , w &CenterDot; R i , k , j , w ) ;
iii)
Figure FDA00002661966200026
-mi,k表明效用函数ui,k的斜率;
iv)
Figure FDA00002661966200027
这里的x相当于Ri,k,bestVal为0,worstVal为
Figure FDA00002661966200028
v)对于请求类k用xi,k表示导致惩罚的被拒绝的请求数量;
vi)
Figure FDA00002661966200029
-VASE i中请求类k在层j中活动的VM w的单位费用;
vii)
Figure FDA000026619662000210
-VASE i中请求类k在层j中备用的VM w的单位费用。
7.根据权利要求1所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,所述Web应用虚拟资源优化模型为:
min{Cg,i=f(ci,0,ci,1,ci,2,...,ci,M)}
s . t . &Sigma; j = 0 M R i , k , j &le; R &OverBar; i , k
&Sigma; w = 1 c i , j &mu; i , k , j , w > &lambda; i , k , j
Figure FDA00002661966200033
k∈[1,Ki],j∈[0,M]
其中,
i)Ri,k,j为在VASE i的情况下第j层的端到端的平均响应时间;
ii)
Figure FDA00002661966200034
为在VASE i中请求类k期望的SLA目标响应时间。
8.根据权利要求1所述的一种基于SLA的面向多层Web应用的资源优化方法,其特征在于,所述获取Web应用服务执行环境的最优资源配置具体方法为:设定禁忌搜索的最外层循环次数,在里面的每一次循环中,设计一个内部循环,首先计算当前配置的梯度,确定步长,从而生成新的配置方案,依次循环直到生成一个固定的解配置方案,至此结束该内部循环,接着比较内部循环生成的固定解与当前解的效应差值,如果固定解产生的效应值较高,则接受该解为新的当前解,并记为当前最优解;否者,如果该固定解不在禁忌表中,则接受该解为新的当前解,但不记为当前最优解。以此循环,直到达到最外层循环次数,即得到当前最优解。
CN201210579769.4A 2012-12-27 2012-12-27 一种基于SLA的面向多层Web应用的资源优化方法 Active CN103064744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210579769.4A CN103064744B (zh) 2012-12-27 2012-12-27 一种基于SLA的面向多层Web应用的资源优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210579769.4A CN103064744B (zh) 2012-12-27 2012-12-27 一种基于SLA的面向多层Web应用的资源优化方法

Publications (2)

Publication Number Publication Date
CN103064744A true CN103064744A (zh) 2013-04-24
CN103064744B CN103064744B (zh) 2016-06-29

Family

ID=48107377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210579769.4A Active CN103064744B (zh) 2012-12-27 2012-12-27 一种基于SLA的面向多层Web应用的资源优化方法

Country Status (1)

Country Link
CN (1) CN103064744B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825963A (zh) * 2014-03-18 2014-05-28 中国科学院声学研究所 虚拟服务迁移方法
CN104536829A (zh) * 2014-12-30 2015-04-22 深圳先进技术研究院 一种云计算系统中虚拟机的性能预测方法及系统
CN105260232A (zh) * 2015-11-06 2016-01-20 武汉纺织大学 一种实现云计算虚拟机内部资源优化配置的方法及系统
CN106326011A (zh) * 2016-08-25 2017-01-11 上海交通大学 云计算中面向资源成本优化的多资源调度方法
CN106648890A (zh) * 2016-12-06 2017-05-10 中国科学院重庆绿色智能技术研究院 一种能耗感知的云计算服务器资源在线管理方法和系统
CN107251007A (zh) * 2015-03-25 2017-10-13 英特尔公司 集群计算服务确保装置和方法
CN107455000A (zh) * 2015-04-03 2017-12-08 Nicira股份有限公司 在软件定义的数据中心中供应网络服务
CN109783219A (zh) * 2017-11-10 2019-05-21 北京信息科技大学 一种云资源优化调度方法及装置
US11343227B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Application deployment in multi-site virtualization infrastructure
CN115695220A (zh) * 2022-12-14 2023-02-03 深圳富联富桂精密工业有限公司 服务性能指标效应值计算方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240935A1 (en) * 2004-04-07 2005-10-27 Krishnan Ramanathan Method of distributing load amongst two or more computer system resources
US20070240161A1 (en) * 2006-04-10 2007-10-11 General Electric Company System and method for dynamic allocation of resources in a computing grid
CN102004671A (zh) * 2010-11-15 2011-04-06 北京航空航天大学 一种云计算环境下数据中心基于统计模型的资源管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050240935A1 (en) * 2004-04-07 2005-10-27 Krishnan Ramanathan Method of distributing load amongst two or more computer system resources
US20070240161A1 (en) * 2006-04-10 2007-10-11 General Electric Company System and method for dynamic allocation of resources in a computing grid
CN102004671A (zh) * 2010-11-15 2011-04-06 北京航空航天大学 一种云计算环境下数据中心基于统计模型的资源管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
任磊等: ""云制造资源虚拟化研究"", 《计算机集成制造系统》, vol. 17, no. 3, 31 March 2011 (2011-03-31), pages 511 - 518 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825963B (zh) * 2014-03-18 2017-12-22 中国科学院声学研究所 虚拟服务迁移方法
CN103825963A (zh) * 2014-03-18 2014-05-28 中国科学院声学研究所 虚拟服务迁移方法
CN104536829A (zh) * 2014-12-30 2015-04-22 深圳先进技术研究院 一种云计算系统中虚拟机的性能预测方法及系统
CN104536829B (zh) * 2014-12-30 2018-04-13 深圳先进技术研究院 一种云计算系统中虚拟机的性能预测方法及系统
CN107251007B (zh) * 2015-03-25 2021-10-01 英特尔公司 集群计算服务确保装置和方法
CN107251007A (zh) * 2015-03-25 2017-10-13 英特尔公司 集群计算服务确保装置和方法
US11297004B2 (en) 2015-04-03 2022-04-05 Nicira, Inc. Provisioning network services in a software defined data center
CN107455000A (zh) * 2015-04-03 2017-12-08 Nicira股份有限公司 在软件定义的数据中心中供应网络服务
US11811680B2 (en) 2015-04-03 2023-11-07 Nicira, Inc. Provisioning network services in a software defined data center
CN105260232B (zh) * 2015-11-06 2018-06-26 武汉纺织大学 一种实现云计算虚拟机内部资源优化配置的方法及系统
CN105260232A (zh) * 2015-11-06 2016-01-20 武汉纺织大学 一种实现云计算虚拟机内部资源优化配置的方法及系统
CN106326011A (zh) * 2016-08-25 2017-01-11 上海交通大学 云计算中面向资源成本优化的多资源调度方法
CN106648890A (zh) * 2016-12-06 2017-05-10 中国科学院重庆绿色智能技术研究院 一种能耗感知的云计算服务器资源在线管理方法和系统
CN109783219A (zh) * 2017-11-10 2019-05-21 北京信息科技大学 一种云资源优化调度方法及装置
US11343227B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Application deployment in multi-site virtualization infrastructure
US11343283B2 (en) 2020-09-28 2022-05-24 Vmware, Inc. Multi-tenant network virtualization infrastructure
US11601474B2 (en) 2020-09-28 2023-03-07 Vmware, Inc. Network virtualization infrastructure with divided user responsibilities
US11757940B2 (en) 2020-09-28 2023-09-12 Vmware, Inc. Firewall rules for application connectivity
CN115695220A (zh) * 2022-12-14 2023-02-03 深圳富联富桂精密工业有限公司 服务性能指标效应值计算方法及装置

Also Published As

Publication number Publication date
CN103064744B (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN103064744B (zh) 一种基于SLA的面向多层Web应用的资源优化方法
Aujla et al. Stackelberg game for energy-aware resource allocation to sustain data centers using RES
Mao et al. Scaling and scheduling to maximize application performance within budget constraints in cloud workflows
Garg et al. SLA-based virtual machine management for heterogeneous workloads in a cloud datacenter
Toosi et al. An auction mechanism for cloud spot markets
CN109324900B (zh) 用于按需服务环境中的消息队列的基于竞价的资源共享
Sulistio et al. Managing cancellations and no-shows of reservations with overbooking to increase resource revenue
Toosi et al. Revenue maximization with optimal capacity control in infrastructure as a service cloud markets
Niu et al. Cost-effective cloud HPC resource provisioning by building semi-elastic virtual clusters
Cong et al. A survey of profit optimization techniques for cloud providers
Wang et al. Dynamic cloud instance acquisition via IaaS cloud brokerage
Quarati et al. Hybrid clouds brokering: business opportunities, QoS and energy-saving issues
Niu et al. Building semi-elastic virtual clusters for cost-effective HPC cloud resource provisioning
Püschel et al. Revenue management for cloud computing providers: Decision models for service admission control under non-probabilistic uncertainty
Mehrotra et al. Towards an autonomic performance management approach for a cloud broker environment using a decomposition–coordination based methodology
Cong et al. Customer adaptive resource provisioning for long-term cloud profit maximization under constrained budget
Luo et al. A hierarchical blockchain architecture based V2G market trading system
CN109815009A (zh) 一种csp下的资源调度与优化方法
CN106453557A (zh) 一种IaaS服务中的双时间尺度用户动态竞价和资源管理算法
Jung et al. A workflow scheduling technique using genetic algorithm in spot instance-based cloud
Ananth et al. Game theoretic approaches for job scheduling in cloud computing: A survey
Yao et al. Optimal overbooking policy for cloud service providers: Profit and service quality
Paul et al. Dynamic virtual machine placement in cloud computing
Duan et al. Cooperative scheduling of bag-of-tasks workflows on hybrid clouds
Hamsanandhini et al. Maximizing the revenue with client classification in Cloud Computing market

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant