云环境下基于冷点虚拟机迁移的热点消除方法
郭军 , 闫永明 , 马安香 , 张斌     
东北大学 信息科学与工程学院, 沈阳 110819
摘要:初始分配的虚拟机资源常常不能满足运行时服务的性能要求,导致资源利用率过高、响应时间过长等“热点”问题。为了消除热点以保障服务性能,传统方法主要包括资源扩展和虚拟机动态迁移,但还存在预留资源空间不足和虚拟机迁移代价过大等问题。针对上述问题,该文提出一种基于冷点虚拟机迁移的热点消除方法,即以冷点虚拟机为迁移对象,将其释放的资源分配给热点虚拟机,以保持热点服务的性能、降低热点消除代价,从而更好地满足服务等级协议约束,并通过实验证明该方法可行有效。
关键词虚拟机迁移     热点消除     冷点虚拟机     服务等级协议    
Eliminating hot-spots based on cold-spot virtual machine migration in the cloud
GUO Jun , YAN Yongming , MA Anxiang , ZHANG Bin     
School of Information Science and Engineering, Northeastern University, Shenyang 110819, China
Abstract:Initial allocations of virtual machine(VM) resources are often unable to meet the performance requirements of runtime services, resulting in excessive resource utilization, slow response times and other "hot spot" problems. The traditional approach to eliminating these hot-spots has mainly been to include resources extensions and virtual machine live migration, but there are still problems with insufficient resources and large migration costs. The paper describes a hot-spot elimination method based on cold-spot VMs which migrates the cold-spot VM and then distributes the released resources to the hot-spot VM. This approach maintains the hot-spot service performance and reduces the cost of hot-spot elimination to better meet the SLA constraints. Tests show that this method is feasible and effective.
Key words: live migration     hot-spot eliminating     cold-spot virtual machine     service-level agreement    

云环境下,在部署虚拟机时会为其分配CPU、 内存和I/O设备等所需求的资源,随着服务持续运行,由于并发过大和负载超常等原因,往往出现当前资源不能满足服务运行需求的情形,导致资源利用率过高、 响应时间过长,出现“热点”[1-2],因此需要消除热点降低资源利用率,使响应时间在可接受的范围内。传统的热点消除方法主要包括资源扩展和虚拟机动态迁移 [3-5],前者指适当增加热点虚拟机的内存和CPU等所需资源,虽然操作简单但是受限于预留资源空间[6-7]; 后者指将热点虚拟机迁移到能满足其服务性能的其他物理机上,如基于CPU调度的虚拟机动态迁移优化方案[8],基于预拷贝的迁移方案[9]和基于性能下降感知的迁移方案[10]。 但这些方案的迁移点是热点虚拟机,由于热点虚拟机往往负载较大,迁移代价较高[11-12],致使总的迁移时间和宕机时间较长,可能会影响热点虚拟机的服务。

由于存在上述问题,本文从另一个角度出发,提出基于冷点虚拟机迁移的热点消除策略。所谓冷点虚拟机,其含义与热点虚拟机相对,是指负载量较小、 资源利用率较低的虚拟机[13]。即当一物理节点提出基于冷点虚拟机迁移的热点消除策略,所谓冷判定为热点时,将该节点上的冷虚拟机迁移到其他节点上以释放资源达到消除热点的目的,并通过实验证明此方法不仅能有效消除热点,而且还能使热点虚拟机的服务取得较好的运行效果。

1 基于冷点虚拟机迁移的热点消除方法

该方法以冷点虚拟机为迁移对象,将其释放的资源根据热点虚拟机的需求进行重新分配,不仅可以消除热点,保持热点虚拟机服务性能,还可以降低热点消除代价,缓解迁移给源物理机带来的资源压力,从而更好地满足服务等级协议(service-level agreement,SLA)约束。

1.1 基于冷点虚拟机迁移的热点消除过程

基于冷点虚拟机迁移的热点消除过程如图 1所示,具体如下:

图 1 基于冷点虚拟机迁移的热点消除过程

1) 用户的并发请求通过负载均衡控制器传送给虚拟机群,物理节点上的数据监测器采集虚拟机的资源和服务性能数据,将其传送给数据分析引擎;

2) 数据分析引擎将采集来的数据进行分析,得到虚拟机状态数据和物理节点状态数据,分别存储到虚拟机(virtual machine,VM)性能/资源状态库和物理机(physical machine,PM)资源状态库;

3) PM资源状态评估模块周期性地从PM资源状态库获取当前周期内的状态数据,预测未来趋势并对各PM的资源使用状态加以分析;

4) 把预测结果传送给PM疑似热点感知器,通过与物理机资源阈值相比较,感知器将超出阈值的物理节点初步标记为“疑似热点”;

5) 评估模块在接到评估任务请求后,便从VM状态库提取该物理节点上的所有虚拟机的状态数据信息和SLA中的相关指标阈值要求,根据这些数据信息对每个虚拟机进行热度综合评估,最后将评估结果传递回疑似PM热点感知器;

6) 感知器根据返回的热度评估结果进行热点的再度判定,若不是热点则在该步终止,继续接收其上一个模块PM资源状态评估的数据结果;

7) 若确定本节点成为热点则触发热点消除操作,将该热点PM上的所有虚拟机信息传送给迁移点选择决策模块;

8) 通过该模块决策方法得到的迁移点选择方案和目的节点信息一同传递给实时迁移执行控制模块,根据得到的迁移方案对虚拟机群进行动态迁移。冷点虚拟机迁移后,系统将被释放出的资源根据热点虚拟机的实际需求情况进行动态调配,完成热点消除过程。

1.2 热点消除中关键问题的解决方法

在热点消除过程中,需要解决的关键问题有采集和分析数据、 PM热点初步判定、 热度综合评估和冷点虚拟机选择。相关的解决方法如下:

1) 资源/性能数据的采集、 分析

数据监测器需要采集的信息包括CPU和内存利用率、 网络和磁盘空间占用率等资源类数据和响应时间、 吞吐率和服务可用性等性能类数据。数据分析引擎单独部署在一个节点上,对传递来的原始监测数据进行预处理,将每一个物理节点上虚拟机的资源类数据进行整合,得到物理节点的资源数据集,然后根据虚拟环境中的虚拟机部署情况得到虚拟机资源/服务性能数据集,最后将数据分别存储到PM资源状态数据库和VM性能/资源状态数据库。

2) PM热点初步判定

PM热点判定分2个步骤: PM资源状态评估和疑似热点感知。资源状态评估主要对PM资源状态库传递来的数据做进一步处理,并根据其历史数据情况对下一时间段进行预测,该预测值和本周期的监测值一同传递给疑似PM热点感知器,感知器对到来的数据进行分析并与系统预设的节点资源阈值进行比较评估,判断其是否可能成为热点。若超出阈值,则该物理节点被标记为“疑似热点”,并将该节点和部署在其上的虚拟机信息和状态做进一步热度评估。

3) 热度综合评估

热度评估的数据来源是VM性能/资源状态库。VM状态库需要收集运行服务的SLA协议指标阈值信息,然后同疑似热点物理节点上所有虚拟机的数据信息共同进行热度评估。热度评估包括2个部分: 热度指标体系的构建和热度综合评估。热度指标体系可以根据系统中整体服务类别情况统一构建,或根据每个物理节点上服务的具体情况进行实时调整。根据上述传递来的数据信息对每个虚拟机进行热度综合评估,将评估等级划分结果和冷、 热点虚拟机集合传递回疑似PM热点感知器。

4) 冷点虚拟机选择

感知器根据返回的热度评估结果进行热点触发判定,若确定为热点则触发热点消除操作,将该热点PM上的所有虚拟机信息传送给迁移点选择决策模块。迁移点决策模块结合冷热点虚拟机集合和从VM性能/资源状态库读取的虚拟机资源和服务性能相关数据信息制定冷点虚拟机迁移点选择的决策方案。

2 实验分析

本文使用3台物理机作为迁移策略模型中的物理节点,其拓扑结构如图 2所示。

图 2 实验拓扑结构

节点0作为集群管理服务器,其上运行实时数据分析和热点消除; 节点1作为热点产生节点,部署一个CPU、 内存和网络3种资源混合密集型应用,通过对其施加负载压力,创建热点环境; 节点2作为迁移备用的目标节点,用于接收被迁移的冷点虚拟机。在节点1的VM-4上运行一个混合资源(CPU、 内存和网络)密集型的服务应用,对其进行加压,拟产生热点; 节点1上的其他虚拟机所承受的负载量较小。在施加压力的过程中,根据热度评估算法,发现某评估时间段VM-4成为当前热点,VM-1、 VM-2和VM-3成为冷点。通过冷点虚拟机选择模块选择冷点虚拟机2作为迁移对象,其中3个冷点虚拟机的迁移代价相关指标数据如图 3所示。

图 3 冷点虚拟机的迁移代价指标数据

本文与传统迁移热点虚拟机的方法进行对比,图 45分别表示传统迁移方法和采用冷点虚拟机迁移方法进行热点消除的响应时间变化情况。为探究迁移对热点虚拟机的服务性能影响,实验进行了2次热点消除。在第一次发现响应时间呈上升趋势的t=52 s时刻进行第一次热点消除操作,结果显示传统热点消除过程与冷点虚拟机迁移相比,响应时间变化波动明显; 在t=98 s时,进行第二次热点消除操作,传统方法的响应时间超出了系统可接受范围(500 ms),而文中的方案仍保持在300 ms之内。结果表明,采用冷点虚拟机迁移方法可以有效消除热点,且虚拟机的服务能有较好的运行效果。

图 4 传统热点虚拟机迁移的热点消除响应时间变化情况

图 5 基于冷点虚拟机迁移的热点消除响应时间变化情况

3 结 论

由于热点虚拟机负载过大,迁移代价较高,通过迁移热点虚拟机进行热点消除会对源物理机造成资源压力,加上迁移期间服务长时间不可用,会对热点VM本身和其他VM产生影响,针对这些问题,提出基于冷点虚拟机迁移的热点消除方法。迁移冷点虚拟机后,通过将其在本节点释放的多余资源按照热点虚拟机的需求情况进行分配,既达到消除热点的目的,还不会使热点虚拟机的服务中断,最后通过实验证明了此方法可行性有效。下一步将研究: 热点消除同资源动态调整相结合,形成一个合理、 完善和有效的热点消除策略。

参考文献
[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. DOI:10.1109/MCOM.2012.6295709
[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. DOI:10.1016/j.comnet.2009.04.014
[3] ZHAN Zhihui, LIU Xiaofang, GONG Yuejiao, et al. Cloud computing resource scheduling and a survey of its evolutionary approaches[J]. ACM Computing Surveys , 2015, 47 (4) : 1–33.
[4] LIU Yanbing, GONG Bo, XING Congcong, et al. A virtual machine migration strategy based on time series workload prediction using cloud model[J]. Mathematical Problems in Engineering , 2014, 2014 : 1–11.
[5] Rosa L, Rodrigues L, Lopes A, et al. Self-management of adaptable component-based applications[J]. IEEE Transactions on Software Engineering , 2013, 39 (3) : 403–421. DOI:10.1109/TSE.2012.29
[6] YE Kejiang, JIANG Xiaohong, HUANG Dawei, et al. Live migration of multiple virtual machines with resource reservation in cloud computing environments[C]//2011 IEEE International Conference on Cloud Computing (CLOUD). Washington, D.C., USA:IEEE Press, 2011:267-274. http://cn.bing.com/academic/profile?id=2120915880&encoded=0&v=paper_preview&mkt=zh-cn
[7] 赵秀涛, 张斌, 张长胜. 一种基于服务选取的SBS云资源优化分配方法[J]. 软件学报 , 2015, 26 (4) : 867–885. ZHAO Xiutao, ZHANG Bin, ZHANG Changsheng. Service selection based resource alloication for SBS in cloud environments[J]. Journal of Software , 2015, 26 (4) : 867–885. (in Chinese)
[8] JIN Hai, GAO Wei, WU Song, et al. Optimizing the live migration of virtual machine by CPU scheduling[J]. Journal of Network and Computer Applications , 2011, 34 (4) : 1088–1096. DOI:10.1016/j.jnca.2010.06.013
[9] Shribman A, Hudzia B. Pre-copy and post-copy VM live migration for memory intensive applications[C]//European Conference on Parallel Processing. Rhodes Islands:Greece Springer-Verlag, 2012:539-547. http://cn.bing.com/academic/profile?id=1539398912&encoded=0&v=paper_preview&mkt=zh-cn
[10] ZHANG Wei, ZHU Mingfa, GONG Tao, et al. Performance degradation-aware virtual machine live migration in virtualized servers[C]//13th International Conference on Parallel and Distributed Computing, Applications and Technologies. Beijing, China:IEEE Press, 2012:429-435.
[11] Strunk A. Costs of virtual machine live migration:A survey[C]//IEEE Eighth World Congress on Services. Honolulu, HI:IEEE Press, 2012:323-329. http://cn.bing.com/academic/profile?id=2014487256&encoded=0&v=paper_preview&mkt=zh-cn
[12] Sagana C, Geetha M, Suganthe R. Performance enhancement in live migration for cloud computing environments[C]//International Conference on Information Communication and Embedded Systems (ICICES). Chennai, Indian:IEEE Press, 2013:361-366. http://cn.bing.com/academic/profile?id=2080707344&encoded=0&v=paper_preview&mkt=zh-cn
[13] 闫永明, 张斌, 郭军, 等. 基于模糊层次分析的虚拟机热度综合评估方法[J]. 东北大学学报:自然科学版 , 2015, 36 (2) : 182–187. YAN Yongming, ZHANG Bin, GUO Jun, et al. Virtual machine hotspot degree comprehensive evaluation method based on fuzzy analytic hierarchy process[J]. Journal of Northeastern University(Natural Science) , 2015, 36 (2) : 182–187. (in Chinese)