贾炅昊,陈宁江,李 湘,黄汝维
(广西大学计算机与电子信息学院, 广西南宁530004)
基于可用能力建模的云虚拟机动态调整策略
贾炅昊,陈宁江,李湘,黄汝维
(广西大学计算机与电子信息学院, 广西南宁530004)
摘要:云资源的可用性对资源管理带来一定的挑战,针对以往工作忽略云计算系统由于资源不足造成的不可用情景,提出一种可用性感知的虚拟资源动态调整策略(ADAR),利用马尔可夫模型对虚拟机可用能力进行建模,能够评估未来时刻资源的缺失情况对应用服务影响,根据评估结果对作为虚拟机资源进行调整指导。仿真实验验证了ADAR策略具有可行的效果,有效地降低资源浪费、降低云任务的完成时间和提高系统利用率。
关键词:虚拟机;资源调整;可用性
0前言
在云计算实际应用中,由于虚拟资源的动态加入和退出,软硬件故障、运行维护、安全保护、系统升级等原因可能导致云环境中的资源不可用,给云计算服务商带来很大损失,导致用户无法正常使用虚拟机和使用云服务。近年来,研究者对云计算资源在实际应用中的可用情况进行追踪与监控,分析资源可用性对应用性能的影响[1],结果表明资源保持较高的不可用频率,则将对任务的执行产生较大的负面影响,严重影响应用性能和用户QoS保障。Dinda等[2]在分析云计算中云主机节点负载模式的过程中发现资源利用率低下的直接原因是传统的任务调度算法缺乏对底层资源动态可用能力的预见性。本文将着重研究在保障虚拟机的可靠性的基础上,准确评估虚拟机的资源可用能力以及可用性感知资源调整策略。
目前在云资源的可用性研究中,大多将可用性描述成一定时刻提供服务的概率,采取熵优化原理、预测方法进行评估,或从资源物理的可靠性对其进行表述。文献[3]提出了云计算环境下一种基于熵优化原理的云资源动态可用评估模型,其将资源可用性定义为周期内持续提供云服务的概率,通过最大熵原理和熵增最小原理结合求解的方法筛选出最优的资源候选集来满足系统利用率最大化和保障用户的QoS。文献[4]基于业务系统运行的规律性和周期性,建立一种系统运行时状态的隐马尔可夫模型,对系统的未来运行状态进行预测分析以保证系统能够快速地从可能发生的失效中恢复。文献[5]提出一种基于失效规律的节点资源动态提供策略。文献[6]通过感知资源的可用性保障和任务的可用性需求并给出可用性感知的调度算法。文献[7]提出了一种增强型多目标粒子群算法的虚拟机调度策略。文献[8]提出一种多层云服务的动态资源供给策略。文献[9]提出一种基于整数划分资源调度算法,以保障服务器的CPU、内存、磁盘、带宽以及网络的拓扑结构的可靠性,但其可靠性计算算法复杂度比较高。
综合而言,以往有关工作主要重点分析导致云环境中的资源不可用的原因,计算某一时刻云资源可用概率,将云资源的可用性描述成可用或者不可用,但是忽略了云计算系统由于资源不足造成的不可用情景,有必要深入刻画虚拟机的资源可用能力。基此笔者提出一种基于失效分布的虚拟机可用度计算方法和基于马尔科夫模型的虚拟机可用能力评估方法,描述虚拟机的可靠程度和未来时刻资源的缺失情况对应用服务影响程度,给虚拟机的资源调整提供了依据;提出一种可用性感知的虚拟资源动态调整策略,相比较现有资源的调整方法,提高了系统的利用率。
1基于马尔科夫模型的虚拟机可用能力建模
本文关注的虚拟机可用性主要表现在两个方面:①由于云资源硬件故障、系统故障或者网络故障等因素导致云服务提供者无法对用户提供服务,通过在某一时刻云资源可用概率,将云资源的可用性描述成可用或者不可用;②由于资源的供给不足造成降低云服务性能,即当前云资源的实际服务能力较差,难以否满足用户需求。因此本文对虚拟机的可用性综合考虑在一段时间内提供云服务的概率和服务能力的大小,将云服务的概率描述为虚拟机可用度,将虚拟机服务能力描述为虚拟机可用能力。
1.1虚拟机的可用度评价
虚拟机作为云服务载体,虚拟机的失效将直接影响服务提供的概率。由于云计算模式下虚拟规模较大,造成虚拟机不可用的因素较多,传统的计算机系统可用性的计算方法不能很好适用云环境,本文从虚拟机失效的角度出发,根据虚拟机失效分布特点,对其服务的影响,重新刻画虚拟机可用度。因此做如下定义:
定义1虚拟机可用度。在周期内可以正常持续提供服务的概率,用VF表示:
VFVmi=f(t),
(1)
其中VFVmi表示的是虚拟机Vmi的可用度;f(t)表示虚拟机的可用度是随时间t变化的函数,其值域正实数,函数的初始值为1,表示虚拟机没有失效事件发生。
根据对大规模云计算系统的失效日志统计分析发现,系统节点失效规律服从参数shape小于1的Weibull (scale, shape)分布[10]。虚拟机节点有两个特点:①即刚刚失效虚拟机的节点更有可能出现失效,而运行起来之后变得越来越稳定[5];②虚拟机连续多次失效,其失效概率越来越大。笔者根据以上两个特点,可以发现在一定时间内虚拟机发生失效的次数,对于虚拟机的可用度有很大的影响,因此本文设计一个基于失效分布的虚拟机可用度度量算法——VMAM-FD(VM availability measurement algorithm based on failure distribution)对于发生失效的虚拟机的弹性减小虚拟机的可用度,对于没有发生失效的虚拟机的弹性增加虚拟机的可用度。
为了准确刻画出虚拟机是否失效对虚拟机的可用度的影响,做出如下定义:
定义2虚拟机可用性因子。虚拟机可用度增减幅度的大小,用RF表示,RF=1/n,n≥Mmax。Mmax表示最大虚拟机连续失效数。
在VMAM-FD算法中,对于发生失效的虚拟机弹性减小虚拟机的可用度,对没有发生失效的虚拟机的弹性增加虚拟机可用度,因此,本文给虚拟机可用度的计算公式,如下所示:
(2)
其中T为虚拟机的可用度计算周期,M为虚拟机失效检测次数,RF为虚拟机的可用性因子。
在VMAM-FD算法中,首先对每个虚拟机进行初始化,将其虚拟机的可用度(VF)初始化为1(初始化虚拟机失效率为0)。算法的输入数据分别是可用性因子RF,最大的虚拟机可用度maxVF, 最小的虚拟机可用度minVF,其中虚拟机失效次数用M统计。
Algorithm:VMAM-FD
Input:RF,VMstatus,maxVF,minVF
Output:VF
BEGIN
①VF= 1,M= 1;
②successCount = 0; // successCount计数器记录虚拟机成功通过的可用性检测的次数
③IFVMstatus = SUCCESSTHEN
④VF←VF+(VF×RF)
⑤END
⑥IFM>1 THEN
⑦M←M- 1
⑧END
⑨successCount = successCount+1
⑩ELSE IFVMstatus=FAIL THEN
END
在基于失效分布的虚拟机可用度度量算法的基础上,还需要对虚拟机的资源可用能力进行评估,因为虚拟机的资源可用能力是云资源的调度、调整以及云服务的提供必不可少的依据,以下将介绍基于马尔科夫模型的虚拟机可用能力评估方法。
1.2基于马尔科夫模型的虚拟机可用能力评估方法
本文中, 虚拟机可用能力表示为周期内对外提供的服务时实际资源能力,如下定义:
定义3虚拟机可用能力VC= {Cpu,Mem,H(t)},其中,Cpu表示周期内虚拟机CPU平均使用率;Mem表示周期内虚拟机内存平均使用率;H(t)表示在时间t时刻虚拟机的资源能力的大小,资源能力水平H的越高表示虚拟机的可用能力越强。
在云计算系统中,用户的应用程序有CPU密集型、内存密集型批处理任务。当虚拟机提供大量不同类型的应用服务时,虚拟机可能出现CPU资源短缺,或者内存资源短缺,造成虚拟机中应用性能降低,难以满足用户满意度。由于马尔科夫链模型[11]是一种有效的模式识别和预测模型,其模型的元素与结构与本文建立虚拟机运行过程中CPU和内存的状态模型基本吻合,可以在较短时间预测出虚拟机资源状态。因此建立虚拟机运行时CPU和内存状态的马尔科夫模型,预测未来时刻虚拟机CPU和内存状态可能处于的状态。
1.2.1模型建立
①状态划分
假设α为影响虚拟机可用性的CPU使用率的阀值,根据CPU使用状况,可以分为P1和P2两种状态:P1:当虚拟机的CPU使用率处于Cpu∈(0,α],虚拟机处于正常运行状态;P2:当虚拟机的CPU使用率处于Cpu∈(α,1],虚拟机处于CPU资源缺乏状态,需要采取措施去增加CPU资源,保证用户的QoS。
假设β为影响虚拟机可用性的内存使用率的阀值,根据内存使用状况,可以分为Q1和Q2两种状态:Q1:当虚拟机的内存使用率处于Mem∈(0,β],虚拟机处于正常运行状态;Q2:当虚拟机的内存使用率处于Mem∈(β,1],虚拟机处于内存资源缺乏状态,需要采取措施去增加内存资源,保证用户的QoS。
②概率计算
假设虚拟机应用服务在时间T0处于等待状态,而此时虚拟机的状态为xk。将时间T作为预测模型基本时间周期,它表示的是系统完成一次虚拟机资源调整的所需的时间。每隔时间T,系统收集虚拟机的资源状态信息,并对虚拟机进行状态预测。如果用g(t)表示虚拟机资源状态的随机过程,g(0)=xk表示初始状态,即T0时刻虚拟机的状态为xk,g(m)=xl表示T0+mT时刻的状态为xl,那么根据式(2)计算出在T0+mT虚拟机达到xl状态的概率为:
(3)
式(3)中,Pkl表示虚拟机从状态k到状态l的概率,成为转移概率。
③转移概率矩阵的更新
采用数值估计通过历史数据去估计矩阵的值,并随着资源调整周期不断修正。假设系统在r个周期后完成信息收集并对虚拟机的状态开始预测,对于虚拟机v,在过去r个周期资源状态的随机过程{gv(k),k=1,2…,k}。那么转移矩阵Pv中虚拟机从状态i转移到到状态j的概率Pij可以由式(4)计算:
(4)
1.2.2预测结果量化
如果仅仅知道虚拟机的未来所处的状态是无法给虚拟机资源调整提供指导,需要对将预测结果进行量化。根据虚拟机两种资源属性的针对不同应用的重要性不同,为CPU使用率和内存使用率分别赋权值, ωCPU,ωMem两种资源属性的分别赋值为FP1,FP2,FQ1,FQ2,那么虚拟机的综合状态xi表示为:
Fi=ωCPU(FP1(xi)+FP2(xi))+ωMem(FQ1(xi)+FQ2(xi)),i=1,2,3,4。
(5)
根据马尔科夫预测结果,并对虚拟机的资源状态进行量化,可以计算出虚拟机在未来时刻的综合状态指标H。H表示虚拟机的资源能力水平,假设初始时刻为T0,虚拟机的状态为xi,则在T0+mT时刻,H可以通过式(6)计算得到:
(6)
由于虚拟机的P1状态表示CPU资源充足而P2的CPU资源达到瓶颈,虚拟机的Q1状态表示内存资源充足而Q2的内存资源达到瓶颈状态,在一般状况下,FP1>FP2,FQ1>FQ2,因此对虚拟机来说,资源能力水平H的越高表示虚拟机的可用能力越强。
虚拟机可用能力采用马尔可夫模型进行建模与分析,可以在较短的时间内对虚拟机未来的资源状态做出准确的评估,这样可以判断出虚拟机是否出现资源短缺对虚拟机应用服务的影响程度,可以给下文的可用性感知的虚拟资源动态调整策略提供重要依据。
2虚拟资源动态调整策略
本文提出可用性感知的虚拟资源动态调整策略——ADAR(Available-aware dynamic adjustment strategy of virtual resource)。采用算法复杂度较低的最佳适应算法[12]快速地对需要进行迁移、释放、动态增加虚拟机硬件资源的虚拟机进行定位。通过VMAM-FD算法计算出每个虚拟机可用度并进行升序排序,将最小可用度的虚拟机释放,降低系统资源浪费;对于可用度高的虚拟机依据马尔科夫模型评估其可用能力,对于可用能力低的虚拟机有两种处理方式,一种是当宿主机资源有空闲时,则进行动态增加虚拟机资源;另一种是宿主机资源不足,则选择选择资源空闲的宿主机进行迁移,这样可以减少迁移次数,提高系统的利用率。该策略的执行过程如图1所示。
图1 ADAR策略流程图
ADAR策略依据虚拟机的可用度和虚拟机可用能力,及时做出资源调整,相比较现有资源的调整方法,可以降低资源浪费、更好提高了系统的利用率和保障用户的QoS。例如当虚拟集群发生大规模失效时,根据VMAM-FD计算出虚拟机的可用度,ADAR及时将可用度最低的虚拟机进行释放,减少资源浪费;在应对大规模计算密集型应用服务时,监控每个虚拟机的CPU和内存使用情况,根据虚拟机CPU和内存使用率进行马尔科夫建模评估出未来时刻虚拟机资源状态,ADAR策略对评估结果对于应用性能的影响进行分析,当出现虚拟机CPU资源不足的趋势时,及时增加CPU或者内存资源保证应用服务正常运行,从而很大程度上保证用户的满意度。
3实验
本文采用云计算仿真软件cloudsim3.0[13]进行模拟实验。实验模拟的运行环境JDK1.6.0_43,Eclipse 4.2.0,操作系统 Windows 7。实验中设置了2组实验场景分别验证本文提出的可用性感知的虚拟资源动态调整策略的有效性。
①实验1:应用ADAR策略前后资源浪费量对比
图2 虚拟机CPU资源损耗比Fig.2 The depletion ratio of virtual machine CPU resource
为了验证ADAR策略在节省虚拟机资源方面有效性,创建100台虚拟机,周期性的注入虚拟机失效事件去模拟真实虚拟机失效,虚拟机失效节点数设置为[10,20],然后计算并比较有无应用本文工作成果的效果。主要实验参数设置:云任务数500个;任务长度1 000~4 000 MI(million instructions);数据传输量为1 000-2 000 KBPS;云任务周期时间为100 s,周期间隔100 s。为了能够清晰表示出比较应用ADAR策略前后因虚拟机失效造成资源浪费量,设置实验指标资源损耗比,即因虚拟机失效造成资源浪费量与资源总量的比值。虚拟机CPU资源损耗比如图2所示。在图2中看出实验运行初期虚拟机的资源损耗相近,由于本文的VMAM-FD算法计算虚拟机的可用度需要若干周期积累数据。5~15周期应用虚拟机的评估模型的损耗比明显比未应用虚拟机的评估模型低很多,原因在5周期开始周期性注入失效事件,而ADAR策略依据VMAM-FD算法对虚拟机可用度进行计算的结果,对失效虚拟机做出了资源调整,将其中虚拟机可用度最低的虚拟机进行释放,可以有效地降低系统因虚拟机失效造成的资源浪费。
②实验2:系统利用率和完成时间对比
为了验证ADAR算法在对于系统利用率的提升和有效性,本实验场景中,将ADAR算法与经典算法随机轮训算法(Round-Robin)、Min-Min算法对比,实验评价指标:①Makespan:虚拟机节点完成任务时间,是衡量用户的QoS的重要指标;②系统利用率:已使用的虚拟机计算资源与总的计算资源比值。分别创建100个、200个、300个、400个和500个虚拟机对比3种算法的Makespan和系统利用率。每种算法运行20个周期作为最终结果。对实验参数设置:云任务数1 000个;任务长度50 000~100 000 MI;数据传输量1 000~2 000 KBPS; 虚拟机节点的属性信息:处理速度200~400 MIPS,存储量1 000~2 000 M;云任务周期为100 s,周期间隔100 s。
3种算法的Makespan和系统利用率对比如图3和图4所示,从图3和图4中可以看出,应用ADAR算法的虚拟机保持较低完成时间和较高系统利用率,任务完成时间减少将近400 s,系统的利用率提升近4%。这是因为,在每个云任务执行周期内,根据虚拟机的CPU和内存使用情况,确定虚拟机的状态,基于马尔科夫模型的虚拟机可用能力评估,筛选出可用能较低的虚拟机即缺乏资源的虚拟机集,对其动态增加虚拟机资源,这样可以增强虚拟机可用服务能力。而其他两种算法并未根据虚拟机状态及时做出资源调整,保持虚拟机原始配置。
图3Makespan对比
Fig.3Comparison of Makespan
图4系统利用率对比
Fig.4Comparison of system utilization
在大规模云计算实际应用,虚拟机的个数成千上万,虚拟机失效分布趋于明显,虚拟机失效带来很大资源浪费,同时资源缺乏造成虚拟机可用能力低下的问题也变得很严重。本文的ADAR策略可以对虚拟机可用能力做出评估,及时调整虚拟机资源,可以有效的降低因虚拟机失效带来的资源浪费和很好保障用户的QoS,有助于提高用户满意度,减少云计算服务商的损失。
4结语
本文提出一种可用性感知的虚拟资源动态调整策略(ADAR),解决现有虚拟机可用性研究中难以准确评估虚拟机的资源可用服务能力的问题,周期性对虚拟机进行可用度度量,同时通过马尔科夫模型评估虚拟机可用能力,根据度量和评估结果对虚拟机资源动态调整,通过仿真实验验证ADAR策略在提高系统整体的利用率和保障用户的QoS方面具有良好的效果。下一步工作将在实际应用系统中继续验证和完善该策略,细化可用能力模型对更丰富的失效类型或不可用情境的度量能力,以及对虚拟机资源调整的性能优化。
参考文献:
[1]CHUOB S, POKHAREL M, PARK J S.Modeling and analysis of cloud computing availability based on eucalyptus platform for E-government data center[C]// 2011 Fifth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing. Seoul: IEEE Computer Society, 2011:289-296.
[2]XU M, CUI L, WANG H, et al.A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing[C]//Parallel and Distributed Processing with Applications. Chengdu: IEEE International Symposium on.IEEE, 2009: 629-634.
[3]左利云, 曹志波, 董守斌.云计算虚拟资源的熵优化和动态加权评估模型[J]. 软件学报, 2013(8):1937-1946.
[4]张建华,张文博,徐继伟,等.一种基于隐马尔可夫模型的虚拟机失效恢复方法[J]. 软件学报, 2014(11):2702-2714.
[5]田冠华,孟丹,詹剑锋.云计算环境下基于失效规则的资源动态提供策略[J]. 计算机学报, 2010, 33(10):1859-1872.
[6]曹洁,曾国荪,钮俊, 等.云环境下可用性感知的并行任务调度方法[J]. 计算机研究与发展, 2013, 50(7):1563-1572.
[7]胡丹丹,陈宁江,朱莉蓉,等.云基础设施利润驱动的多目标虚拟机资源调度[J]. 广西大学学报(自然科学版),2014,39(3):633-640.
[8]HU D, CHEN N, DONG S, et al.A user preference and service time mix-aware resource provisioning strategy for multi-tier cloud services[J]. Aasri Procedia, 2013, 5(3):235-242.
[9]FARAGARDI H R, SHOJAEE R, TABANI H, et al.An analytical model to evaluate reliability of cloud computing systems in the presence of QoS requirements[C]// 2013 IEEE/ACIS 12th International Conference on Computer and Information Science (ICIS). Niigata: IEEE Computer Society, 2013:315-321.
[10]SCHROEDER B, GIBSON G A.A large-scale study of failures in high-performance computing systems[J]. IEEE Transactions on Dependable & Secure Computing, 2009, 7(4):337-351.
[11]SHA W, ZHU Y, CHEN M, et al.Statistical learning for anomaly detection in cloud server systems: A multi-order markov Chain framework[J]. IEEE Transactions on Cloud Computing, 2015,99(3):2168-7161.
[12]KUMAR P, SINGH D, KAUSHIK A.Power and data aware best fit algorithm for energy saving in cloud computing[J]. International Journal of Computer Science & Information Technolo, 2014,5(5):6712-6715.
[13]CALHEIROS R N, RANJAN R, BELOGLAXOU A, et al. Clovdstm: a foolkit for modeling and simulation dould computing envvronment and evaluation of resource prorisioning algorithms[J]. Sofoware: Practice and Experience, 2011,41(1)23-50.
(责任编辑梁碧芬)
“无线传感器网络中高效节能的数据收集策略”
作者要求不上网
收稿日期:2016-02-28;
修订日期:2016-03-21
基金项目:国家自然科学基金资助项目(61063012,61363003); 国家科技支撑计划课题项目(2015BAp5F02)
通讯作者:陈宁江(1975—),男,广西南宁人,广西大学教授,博士;E-mail:chnj@gxu.edu.cn。
doi:10.13624/j.cnki.issn.1001-7445.2016.0796
中图分类号:TP393
文献标识码:A
文章编号:1001-7445(2016)03-0796-08
A dynamic adjustment strategy for virtual machines in cloud based on availability capability modeling
JIA Jiong-hao, CHEN Ning-jiang, LI Xiang, HUANG Ru-wei
(School of Computer, Electronics and Information, Guangxi University, Nanning 530004, China)
Abstract:The availability of resources brings great challenge into resource management in cloud environment. As for the ignorance of the impact of insufficient resourceson the availability of cloud systemin the precious research work,an availability-aware dynamic adjustment strategy for virtual machines, named ADAR, is proposed. It uses Markov model to characterize the availability capability of virtual machine to assess the impact of resource insufficiency on the application service in the future period, and makes corresponding adjustments according to the assessment. Simulation results provethe feasibility of ADAR strategy, which can effectively reduce the wasted resources and the makespan of task, and improve the system utilization.
Key words:virtual machine; resource adjustment; availability
引文格式: 贾炅昊,陈宁江,李湘,等.基于可用能力建模的云虚拟机动态调整策略[J].广西大学学报(自然科学版),2016,41(3):796-803.