Corresponding author: GUO Jun, E-mail: guojun@ise.neu.edu.cn
在云计算环境中,服务提供者需要保证所提供的服务质量能够满足与用户签订的服务等级协议(SLA);而用户数量 不断增长、大量用户并发访问等情况会导致部署服务的虚拟机的负载情况产生变化,从而形成虚拟机热点——该虚拟机上的资源不足以满足服务性能的需求[1].因此,虚拟机热点消除对于保障服务质量具有很重要的意义.
现有的研究大多采用基于虚拟机伸缩(resizing)或基于虚拟机迁移(migration)的方法来消除热点[2].其中,基于虚拟机伸缩的方法是指当热点虚拟机所在的物理节点上有空闲资源时,就将这些空闲的资源适当分配给该热点虚拟机,以增加其处理更多负载的能力.若该虚拟机所在的物理机上没有足够的空闲资源时,一种方法是将热点虚拟机迁移到另外一个拥有充足空闲资源的物理机上[3, 4, 5, 6],或者是将热点虚拟机所在物理机上的其他冷点虚拟机迁走[7],从而释放相应的资源给热点虚拟机;另一种方法是指不存在拥有足够资源的物理节点可供热点虚拟机迁移的情况下,通过一块缓存空间将该热点虚拟机与其他物理机上的虚拟机进行交换,使得热点虚拟机在新的物理节点上可以获得足够的资源[2].
虽然基于虚拟机伸缩的方法具有执行代价小的优点,可以在不中断服务的情况下迅速完成虚拟机伸缩;但该方法也受限于虚拟机所在物理机的剩余资源,因此需要采用基于虚拟机迁移的方法[2],而基于虚拟机迁移方法的代价较大[8, 9].如何准确判断热点虚拟机以及该虚拟机是否需要进行迁移,以减少虚拟机的不适当迁移(虚拟机资源利用率超过设定阈值后即进行迁移,但部署在该虚拟机上的服务性能仍满足用户需求),就成为基于虚拟机迁移的热点消除技术面临的很重要的一个问题.
但是在现有的研究中,大都采用事先设定一个或多个阈值,当监测值超过所设定的阈值后即判断为热点的方法[1, 10, 11].这类判断方法只是根据单个阈值的个别情况单独进行判断,然后组合起来,这样会存在以下问题:一是未考虑各个因素之间的关联关系,存在指标之间互相影响的问题,即当使用多个指标进行判断时,很难建立不同指标组合状态和实际服务质量之间的相互关系,影响热点判断的准确性;二是存在不同的指标对不同服务具有不同适应性的问题,需要加入人为分析的系统状态信息,分析造成热点的主要因素.
针对上述问题,本文首先通过分析造成热点的可能指标因素(如资源使用情况、虚拟机服务性能、服务质量等),建立可根据实际情况弹性调整的热度评估指标体系.然后,在评估指标体系的基础上,结合专家经验对虚拟机的热点程度进行综合全面的评估,分别给出了基于模糊层次分析的主观权重和基于离差最大化法的客观权重的计算方法,以及将主观权重和客观权重相结合的热度综合评估方法,并给出了基于热度的虚拟机冷热点判断规则.本文研究的内容一方面综合分析了与热点相关的各方面指标,为热点虚拟机和冷点虚拟机提供统一的度量和判定标准,同时可以减少因未考虑指标因素间关联关系而导致的不必要的热点消除决策;另一方面还解决了应用模糊 层次分析法时加入人为主观判断因素所造成的不确定性问题,弥补了只采用主观赋权方法的不足.
1 虚拟机热度综合评估方法云环境下热点消除的根本目的是要保持和提高云服务质量,当前关于热点判定标准问题的研究多是基于资源利用情况,对服务性能等方面因素缺乏综合考虑.本文使用热度描述热点虚拟机“热”的程度,其结合了服务可用性、服务质量、资源使用情况等因素对虚拟机的热点程度进行综合评估.
考虑到相关指标涉及到服务可用性、服务质量、资源等多方面因素,并且在作比较、判断、评价和决策时,这些因素的重要性、影响力及优先度往往难以客观量化,主观评判会起到重要作用,而在加入人为主观判断因素后会产生模糊性和不确定性问题,所以本文采用模糊层次分析和多目标决策相结合的方法,给出了虚拟机热度综合评估方法,其基本过程如图 1所示.
先通过分析与热度评估相关的影响参数,构建通用的虚拟机热度评估指标体系;基于该指标体系,计算影响虚拟机热度的各个指标的主观权重和客观 权重,然后综合计算得到热点程度的综合评估指标.由于指标评价中加入了人为的主观判断因素,具有一定的模糊性,本文采用模糊层次分析法来计算影响虚拟机热度的各个指标的主观权重;然后运用多目标决策方法来确定影响虚拟机热度的各个指标的目标类型,并计算得到各个指标的相对优属度,构成影响虚拟机热度的指标的优属度矩阵,在此基础上用离差最大化方法计算影响虚拟机热度的客观权重.最后综合主、客观权重,应用多目标决策的线性加权和方法得到各虚拟机热度的排序及等级.
2 热度评估指标体系 2.1 服务可用性指标服务可用性是服务质量中最基本的参数,是指在给定的时间段内能够使用业务功能的时间所占的百分比.而在SLA中规定的服务运行时间内,不能正常提供服务的百分比(SUA)是服务系统产生的所有故障时间所占SLA规定的服务时间的比例.同时,为了更准确地表示故障对服务的影响程度,本文在SUA的计算中加入服务下降因子SDF[8]:
需要预先定义针对不同故障事件的SDF取值,例如故障等级为1时(故障用户百分比为(10 % ,20 % ]),SDF取值为0.2.
2.2 服务质量指标服务性能一定程度上反映了部署在虚拟机上的服务质量,一般可以通过监测服务响应时间、吞吐率、服务稳定性等指标来衡量.服务稳定性SS可以用响应时间的易变性间接表示,即相对于平均响应时间的偏差.可以用标准偏差反映服务的稳定性程度:
服务利用率是指在不违反SLA条件下部署在虚拟机上的服务所能达到的最大利用率,可以用一段时间内虚拟机已被使用的资源量与虚拟机资源总量之间的比值来表示.
根据资源利用率能够判断物理节点上资源的使用情况,可以采用本虚拟机上的服务利用率作为虚拟机的资源利用率阈值,进而对资源利用率超出阈值的情况进行判断,得到资源使用情况.
2.4 热度评估指标体系层次结构基于云服务质量的热度评估指标包括资源利用率、服务可用性和服务质量三大类.其中,资源利用情况指标可以有CPU、内存、网络带宽等类型;服务质量类指标包括响应时间、吞吐率和服务稳定性.由此根据服务的SLA性能要求以及指标的完备性、独立性、客观性等原则,建立热度评估的三级层次型指标体系.通过分析三层关键指标之间的制约关系,构建了如图 2所示的热度评估指标体系.
该指标体系体现了一个普遍通用的虚拟机热度评估参数集合,在具体分析部署了某种服务的虚拟机的热点程度时,可以具体问题具体分析,有针对性地对热度指标体系进行调整和补充.
3 热度综合评估值计算方法及冷热点判断规则 3.1 基于模糊层次分析的主观权重计算方法 3.1.1 指标之间相对重要性标度重要性尺度是指标间重要性比较结果的量化表示.本文在热度评估指标体系的基础上,使用成对比较法对各层指标进行标记并形成判断矩阵,以表示本层指标和上一层指标之间的相对重要性状况,即本层指标对上一层指标的影响.本文采用1~9类的重要性尺度,重要性随数字增加而增大,例如1表示同等重要,9表示极端重要.
3.1.2 专家模糊比较判断矩阵的建立基于热度评估指标体系,针对在形成比较判断矩阵时加入人为主观因素所造成的不确定性问题,本文使用模糊数比较大小的原理来确定影响虚拟机热度的各个指标的排序,计算获得相应的权重值并形成模糊比较判断矩阵.
三角模糊数bij={lij,oij,uij}为专家给出的第i个指标相对于第j个指标的重要程度的人为判断,其中左扩展lij和右扩展uij均表示人为判断的模糊程度,uij-lij的值越大说明比较判断的模糊程度越高,则可以形成热度评估指标系统中每层的指标相对于上层指标的模糊比较判断矩阵.
3.1.3 各指标主观权重的计算在生成的模糊比较判断矩阵中,第i个指标相对于热度指标体系中本层其他指标的模糊相对权重向量为
为了对影响虚拟机热度的各个指标进行排序,需要将模糊相对权重向量中的每个三角模糊数具体化. Q j=[lj,oj,uj]对应的主观权重为wj=(lj+2mj+uj)/4.
3.2 基于离差最大化法的客观权重计算方法 3.2.1 目标决策矩阵建立设有n个虚拟机,每个虚拟机有m个影响热度的相关指标,则可以根据n个虚拟机的m个指标的监测值形成虚拟机热度的目标决策矩阵 D .同时,将虚拟机热度评估指标的界限等级直接加入到热度的计算和评估中,可以让各虚拟机的热点等级更直观地出现在排序结果中,即形成m×(y+n)的决策矩阵 D =(dij),dij 为第i个指标的第j个热度评估指标等级界限值或在第(j-y)台虚拟机上的监测值.
热度评估指标等级界限可由专家根据服务使用者和服务提供商签订的合同约定给出,如表 1所示.
相对优属度是指虚拟机热度评估指标体系中指标之间相对“优”的程度,需要根据影响虚拟机热度的指标的类型及特点进行确定.在本文中,CPU利用率、内存利用率为区间型,响应时间为成本型,吞吐率、服务稳定性和服务可用性为效益型.
根据虚拟机热度评估指标体系中各指标的目标类型以及相应的计算方法,生成与目标决策矩阵对应的相对优属度矩阵 Φ =(φij).
3.2.3 基于离差最大化法的客观权重计算如果热度评估体系中第i个指标的差异很小,则说明第i个指标对虚拟机热度评估结果排序的影响较小,应赋予该指标较小的权重.第i个指标的客观权重 v i可以利用离差最大化方法计算得到:
根据计算所得到的各指标的主观权重 w i和客观权重 v i,第i个指标的综合权重为
单项热度指标的评估值是否合理会影响到虚拟机热度综合评估值的准确性,但在热度指标计算过程中可能会出现该指标明显超过阈值的情况.所以,当任意一项热度指标的评估值明显超过阈值时,则认为虚拟机热度综合评估值不合格.具体合格与否的标准根据实际情况设定.响应时间等服务性能指标可以在SLA协议中得到其相关上限阈值,本文中资源利用率等阈值的设定有一定的不确定性,不同的虚拟机和服务的性能对资源利用率的要求和性能反映不同,可以根据超出阈值的百分比来判定不合格的程度.例如,设定CPU资源利用率阈值为75 % ,若资源利用率达到了90 % ,即超出了所规定阈值的20 % ,则判定CPU资源利用率这项热度指标为不合格,从而判定虚拟机热度综合评估值不合格.
利用线性加权和法可以得到热度评估指标等级界限和虚拟机的热度综合评估值的集合:
基于热度综合评估值可以对所有虚拟机的热点程度进行线性排序,等级划分也是在该排序过程中得到:将虚拟机的热度综合评估值与各等级的综合评估值进行统一排序,可得到每个虚拟机所处的热度等级区间;基于取下原则可以得到各虚拟机所属的热点等级.根据事先规定的冷、热点等级归属规则,可以得到各虚拟机的冷、热点判定结果.假设根据上述方法计算得到热度综合评估值集合为
为了验证基于热度的冷热点判断方法的有效性和准确性,本节实验分为两个部分:第一部分对基于单阈值、基于多阈值和基于热度的热点判断方法进行对比;第二部分对文献[5]中的基于Fuzzy TOPSIS的方法和基于热度的热点判断方法进行对比.
实验环境采用2台物理机PM1和PM2,硬件配置为Intel(R) Q9500 @2.83GHz,8GB内存.在PM1上只创建1个虚拟机VM1,为其分配1个CPU和1GB内存,并在VM1上部署一种CPU和内存密集型的应用;PM2作为VM1的迁移目标主机,实验过程中使用Loadrunner来产生不同的并发负载.
4.1 与基于单阈值、多阈值的判断方法的对比基于单阈值的方法设定当CPU利用率超过60 % 时即判断该虚拟机为热点虚拟机;基于多阈值的判断方法则设定当CPU利用率、内存利用率和服务响应时间分别超过60 % ,60 % 和50ms时,则判断该虚拟机为热点虚拟机.分别对基于单阈值、基于多阈值和基于热度的热点判断方法进行测试,并记录了三种判断方法执行结果,如表 2所示.
可以看出,由于基于单阈值和基于多阈值的方法未考虑服务的质量因素及各个因素之间的关联关系,这两种方法的判断结果均导致了虚拟机不必要的迁移.同时,由于虚拟机的迁移会导致服务的中断,所以基于单阈值和基于多阈值判断方法的服务可用性也都低于一般SLA中所要求的99.99 % 的要求.而基于热度的判断方法综合考虑了资源利用情况、服务可用性和服务质量,更为合理地反映出了服务的实际运行情况,有效避免了不适当的迁移,从而保证了较高的服务可用性.
4.2 与基于Fuzzy TOPSIS的判断方法的对比文献[5]中的Fuzzy TOPSIS算法从CPU利用率、内存占用率、网络占用率、QoS指标等方面综合计算虚拟机的负载程度,并设定当计算结果超过0.75时判断该虚拟机为热点.在本实验中,由于不涉及网络的传输,故暂不考虑网络占用率的指标.
由于本文中的热度综合评估结果越小则代表该虚拟机越趋近于热点,为了能与基于Fuzzy TOPSIS的计算结果对比,使用(1-热度评估值)作为虚拟机的热度评估标准.分别记录基于Fuzzy TOPSIS方法和基于热度方法的计算结果,并记录在不同虚拟机数目情况下两种方法消耗时间的情况. 由图 3可以看出,在260s时,基于Fuzzy TOPSIS方法的计算结果超过了设定的阈值,但此时部署在该虚拟机上的应用的响应时间小于50ms,不能将该虚拟机判断为热点,本文提出的热度评估值的计算结果更为合理.
图 4所示,本文提出的方法在虚拟机数量较大的情况下,由于考虑了更多的指标导致比基于Fuzzy TOPSIS的方法消耗了更多的时间,但整体上相差不大;而且由于本文提出的方法在判断结果上比Fuzzy TOPSIS方法更合理,可以减少虚拟机不适当迁移的次数,在保障服务质量的同时可以节省更多的时间.所以,从服务质量保障的结果来看,本文提出的方法要优于基于Fuzzy TOPSIS的方法.
本文提出了将主、客观权重相结合的虚拟机热度综合评估方法,并给出了基于热度的虚拟机冷热点判断规则.实验表明,基于热度的热点判断方法较基于单阈值和多阈值的判断方法有更好的准确性,可以减少热点消除过程中不必要的虚拟机迁移,验证了方法的合理性和有效性.
[1] | Mishra M,Das A,Kulkarni P,et al.Dynamic resource management using virtual machine migrations[J].IEEE Communications Magazine,2012,50(9):34-40.(2) |
[2] | Wood T,Shenoy P,Venkataramani A,et al.Sandpiper:black-box and gray-box resource management for virtual machines[J].Computer Networks,2009,53(17):2923-2938.(3) |
[3] | Liu H K,Jin H,Liao X F,et al.Live virtual machine migration via asynchronous replication and state synchronization[J].IEEE Transactions on Parallel and Distributed Systems,2011,22(12):1986-1999.(1) |
[4] | Liu P C,Yang Z Y,Song X,et al.Heterogeneous live migration of virtual machines[C/OL].[2013-08-10].http://ipads.se.sjtu.edu.cn/_media/publications:vagrant-iwvt.pdf .(1) |
[5] | Tarighi M, Motamedi S A,Sharifian S.A new model for virtual machine migration in virtualized cluster server based on fuzzy decision making[J].Journal of Telecommunications, 2010,1(1): 40-51.(3) |
[6] | Song W,Xiao Z,Chen Q,et al.Adaptive resource provisioning for the cloud using online bin packing[J].IEEE Transactions on Computers,2013,63(11):2647-2660.(1) |
[7] | Ioana G,Claris C,Asser T,et al.Enabling efficient placement of virtual infrastructures in the cloud[C]// ACM/IFIP/USENIX 13th International Middleware Conference.Berlin:Springer,2012:332-353.(1) |
[8] | Strunk A.Costs of virtual machine live migration:a survey[C]// 2012 IEEE Eighth World Congress on Services.Honolulu:IEEE,2012:323-329.(2) |
[9] | Liu H K,Jin H,Xu C Z,et al.Performance and energy modeling for live migration of virtual machines[J].Cluster Computing, 2013,16(2):249-264.(1) |
[10] | Yang Z Y,Li C L,Yun A L G M ,et al.A new trigger strategy based on live migration of the virtual machine[C]// Proceedings of the 2012 International Conference on Control Engineering and Communication Technology.Washington D C:IEEE Computer Society,2012:677-680.(1) |
[11] | Xu J,Fortes J.A multi-objective approach to virtual machine management in datacenters[C]// Proceedings of the 8th ACM International Conference on Autonomic Computing.New York:ACM,2011:225-234.(1) |