APP下载

针对能耗和服务质量的虚拟机整合方法*

2016-04-20

计算机与数字工程 2016年3期
关键词:云计算

赵 君 马 中

(武汉数字工程研究所 武汉 430205)



针对能耗和服务质量的虚拟机整合方法*

赵君马中

(武汉数字工程研究所武汉430205)

摘要针对云计算数据中心能耗、服务质量问题,设计了一种虚拟机动态整合方法。该方法主要创新为基于利用率差值的虚拟机选择算法及基于能效比的虚拟机重分配算法。仿真实验结果表明该方法与传统方法相比降低了能耗和服务等级协议违背率,算法具备有效性。

关键词云计算; 动态整合; 利用率差值

A Dynamic Consolidation of Virtual Machines Method for Energy and Service Quality

ZHAO JunMA Zhong

(Wuhan Digital Engineering Institute, Wuhan430205)

AbstractFor the energy consumption and service quality problem in cloud computing, a dynamic consolidation of virtual machines method is proposed. The innovation of the method includes virtual machine select algorithm based on utilization difference and virtual machine reallocation algorithm based on the performance/power. The experimental results show that the proposed method can effectively reduce energy and SLA violation compared with the traditional method.

Key Wordscloud computing, dynamic consolidation, utilization difference

Class NumberTP308

1引言

在云计算中,用户通过按需支付使用虚拟计算资源。相对于购买计算节点等基础设施和硬件软件维护升级的高昂代价,用户可以将它们计算需求外包给云提供商。云计算模式导致出现包含数以千计主机的数据中心,这些数据中心消耗大量电力能源。一种解决能源消耗有效性的主要途径是虚拟化技术。虚拟化技术允许云提供者在一个计算节点上创建多个虚拟机,改善资源利用率和增加投资回报率。通过将空闲计算节点切换到睡眠模式来减少能耗。进一步来说,通过在线迁移技术来动态整合虚拟机从而最小化开启计算节点数目。

因此,本文主要研究多计算节点多虚拟机场景下的动态虚拟机整合方法。针对目前研究上存在的问题,提出两种优化算法,能够有效降低能耗及

提高服务质量。

2动态虚拟机整合问题

Nathuji等[1]提出在虚拟数据中心中使用能源管理,提出一种数据中心资源管理系统,资源管理系统分为局部和全局两种策略。在局部上,设计计算节点操作系统能源管理策略。在全局上,从局部管理器获取当前资源分配信息,并决策虚拟机放置是否需要调整。Kusic[2]定义虚拟异构数据中心环境为连续优化问题,提出使用有限超前控制方法解决该问题。然而,与启发式方法相比,提出模型基于仿真学习来调整应用。这不适用于基础设施即服务(IaaS)云提供者。Srikantaiah[3]研究虚拟异构数据中心中多层网络应用的请求调度问题,目标是在满足性能需求前提下最小化能耗。提出方法是工作负载类型和应用依赖的。Cardosa等[4]提出一种虚拟异构计算环境下能耗感知虚拟机分配方法。该方法仅适用于企业环境,不支持严格服务等级协议,需要知道应用优先级用以定义处理器共享参数等。Jung等[5~6]提出一种多层网页应用下动态虚拟机整合方法,该方法使用在线迁移,满足服务等级协议要求。该方法只能用于一个网页应用环境,不适用于多租户基础实施即服务环境。Berral[7]研究在服务等级协议中有截止时间的动态虚拟机整合问题。使用机器学习技术来优化能耗和服务等级协议组合。该方法不适用于具有混合工作负载的环境。Beloglazov[8]提出一种启发式的动态虚拟机整合框架,通过分析虚拟机CPU利用率的历史数据来预测虚拟机的CPU利用率,从而整合虚拟机,达到降低能耗的目的。

由相关研究工作可知,针对能耗的虚拟机整合策略主要是将虚拟机放置到尽可能少的计算节点,然后将没有虚拟机部署的计算节点切换到休眠状态,从而达到降低能耗的目的。主要存在四个方面的研究: 1) 判定何时计算节点过载,此时需要从该计算节点迁移走若干个虚拟机; 2) 判定何时计算节点轻载,此时需要从该计算节点迁移走所有虚拟机,切换计算节点为睡眠模式; 3) 选择过载计算节点上需要迁移的虚拟机; 4) 为需迁移虚拟机寻找新的放置位置。目前虚拟机动态整合方法仍有不足和优化空间。

3虚拟机整合方法优化

针对已有研究存在问题,本文提出两种优化算法。第一种为基于利用率差值的虚拟机选择算法。第二种为基于能效比的虚拟机重分配算法。

3.1虚拟机选择算法

本文提出一种基于利用率差值的虚拟机选择算法(Utilization Difference Virtual Machine Select,UDVMS),能够更有效地降低能耗和服务等级协议违背率。

基于利用率差值的虚拟机选择算法关键思想是根据计算节点CPU利用率和CPU利用率上阈值之间的差值,选择合适虚拟机进行迁移。一方面,减少虚拟机迁移个数从而降低服务等级协议违背率;另一方面,保持计算机较高负载工作从而降低能耗。

UDVMS算法具体流程见算法1。

算法1基于利用率差值的虚拟机选择算法。

输入:过载计算节点表H。

输出:待迁移虚拟机表VM。

步骤1:初始化过载计算节点表H;初始化待迁移虚拟机表VM为空;初始化各个计算节点的虚拟机集合,其中Hi上虚拟机集合为Vi;计算出各个计算节点CPU利用率,其中Hi的CPU利用率需求总和为rui。

步骤2:获取过载计算节点表H中当前元素HInd,计算HInd的利用率差值udInd=uInd-ThUInd。

步骤3:初始化HInd的降序排列虚拟机表Vi={Vi,1,Vi,2,…,Vi,j,…,Vi,m};设当前虚拟机索引为vInd;初始化虚拟机缓冲索引ovInd为0。

步骤4:计算差值t=cuInd,vInd-udInd。

步骤5:如果t≥0,存储vInd到缓存ovInd中。

步骤6:如果t<0,若ovInd不为0、选择虚拟机Vi,ovInd放入到待迁移虚拟机表VM中且从Vi删除Vi,ovInd,跳到步骤8;若ovInd为0、选择虚拟机Vi,1放入到待迁移虚拟机表VM中且从Vi删除Vi,1。

步骤7:选择虚拟机表Vi下一个元素。如果遍历Vi完成,选择虚拟机Vi,1放入到待迁移虚拟机表VM中且从Vi删除Vi,1,跳到步骤8;否则跳到步骤4。

步骤8:判断HInd是否还过载,如果还过载,跳到步骤3;否则执行下一步骤。

步骤9:Ind++,如果Ind不大于n,跳到步骤2;否则执行下一步骤。

步骤10:算法结束,返回值为待迁移虚拟机表VM。

3.2虚拟机重分配算法

计算节点核心数越多,内存越大,即越大型计算节点的能效比越高。本文定义能效比为计算节点上此时所有处理器的运算负载与计算节点能耗的比值,具体表现为式(9):

(1)

本文基于能效比思想,提出一种基于能效比的虚拟机重分配算法(Performance/Power Virtual Machine Reallocation,PPVMR)。能更高效地重分配虚拟机,进而更有效降低数据中心能耗及服务质量违背率。

PPVMR算法具体流程见算法2。

算法2基于能效比的虚拟机重分配算法PPVMR。

输入:待迁移虚拟机表VM。

输出:虚拟机重分配映射表VToH。

步骤1:初始化可迁移计算节点表CH为空,将待迁移虚拟机表VM按处理器利用率需求降序排列。

步骤2:获取待迁移虚拟机表VM当前元素VMvInd,其中当前待虚拟机索引为vInd。

步骤3:获取可迁移计算节点表CH当前元素CHInd,其中当前待虚拟机索引为Ind。设置初始能效比最大值MaxInd为-1。

步骤4:查看CHInd是否有足够处理器、内存、带宽等资源满足VMvInd需求,如果满足,则执行步骤5;否则跳到步骤3。

步骤5:假设把VMvInd放置到CHInd上,计算此时CHInd能耗;根据式(9)计算CHInd的能效比ppi,CHInd,并每次比较,保存具有能效比最大值的CHInd索引为MaxInd。

步骤6:选择可迁移计算节点表CH下一个元素。如果遍历CH完成,添加元素(vvInd,,dhMaxInd)到虚拟机重分配映射表VToH中,执行下一步骤;否则跳到步骤3。

步骤7:选择虚拟机表Vi下一个元素。如果遍历Vi完成,执行下一步骤;否则跳到步骤2。

步骤8:算法结束,返回值为虚拟机重分配映射表VToH。

4实验及性能分析

4.1实验设置

使用CloudSim[10]仿真平台验证本方法。CloudSim是一个云计算环境仿真框架。仿真一个具有800个异构计算节点的数据中心,计算节点一半是HP ProLiant ML110 G4(G4),另一半是HP ProLiant ML110 G5(G5)。

4.2评估指标

本仿真实验性能指标: 1) E:数据中心能耗; 2) Migrations:虚拟机迁移个数; 3) PDM:迁移导致虚拟机性能下降总和; 4) SLATAH:计算节点服务等级协议违背时间; 5) SLAV:服务等级协议违背率; 6) ESV:能耗和服务等级协议违背率组合。

4.3工作负载数据

实验工作负载数据使用PlanetLab[11]提供的真实系统工作负载数据。虚拟机数量超过1000个,处理器利用率测量周期是5min。本文在2011年3月到4月中选择10天工作负载数据。在仿真中,为虚拟机随机分配工作负载数据。

4.4仿真结果和分析

本次仿真实验使用以下四种方法: 1) 使用LR计算节点过载判定算法、安全参数为1.2,MMT虚拟机选择算法的虚拟机动态整合方法(简写为LR-MMT-1.2); 2) 改进虚拟机选择算法使用UDVMS的虚拟机动态整合方法(简写为UDVMS); 3) 改进虚拟机重分配算法使用PPVMR的虚拟机动态整合方法(简写为PPVMR); 4) 同时使用UDVMS及PPVMR的虚拟机动态整合方法(简写为UD-PP)。

图1~图6分别是四种算法下E、Migrations、PDM、SLATAH、SLAV和ESV六个指标的评估结果图。

图1 四种算法的E指标对比

图2 四种算法的Migrations指标对比

图3 四种算法的PDM指标对比

图4 四种算法的SLATAH指标对比

图5 四种算法的SLAV指标对比

图6 四种算法的ESV指标对比

根据以上仿真实验结果,可以做出以下总结: 1) UDVMS优于LR-MMT-1.2; 2) PPVMR优于LR-MMT-1.2; 3) UD-PP优于LR-MMT-1.2,PPVMR及UDVMS。

5结语

针对现有启发式虚拟机整合算法的不足,本文提出综合UDVMS及PPVMR的UD-PP虚拟机整合算法。使用仿真实验验证了算法的有效性,该算法能够更有效地降低能耗和服务等级协议违背率。

参 考 文 献

[1] Nathuji R, Schwan K. VirtualPower: Coord1inated Power Management in Virtualized Enterprise Systems[C]//Proceedings of International Symposium on Operating System Principles (SOSP,2007:265-278.

[2] Kusic D, Kephart J O, Hanson J E, et al. Power and Performance Management of Virtualized Computing Environments Via Lookahead Control[J]. International Conference on Autonomic Computing,2008,12(1):3-12.

[3] Srikantaiah S, Kansal A, Zhao F. Energy aware consolidation for cloud computing[C]//Proceedings of the 2008 conference on Power aware computing and systems USENIX Association,2008:10-10.

[4] Cardosa M, Korupolu M R, Singh A. Shares and utilities based power consolidation in virtualized server environments[C]//Integrated Network Management, 2009. IM’09. IFIP/IEEE International Symposium on IEEE,2009:327-334.

[5] Jung G, Joshi K R, Hiltunen M A, et al. Generating Adaptation Policies for Multi-tier Applications in Consolidated Server Environments[C]//Autonomic Computing, 2008. ICAC’08. International Conference on IEEE,2008:23-32.

[6] Jung G, Joshi K R, Hiltunen M A, et al. A Cost-Sensitive Adaptation Engine for Server Consolidation of Multitier Applications[C]//Proceedings of the 10th ACM/IFIP/USENIX International Conference on Middleware Springer-Verlag New York, Inc.,2009:163-183.

[7] Berral J L, et al. Towards energy-aware scheduling in data centers using machine learning[C]//Proc. of the 1st International Conference on Energy-Efficient Computing and Networking,2010.

[8] Beloglazov A, Buyya R. Optimal Online Deterministic Algorithms and Adaptive Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in Cloud Data Centers[J]. Concurrency & Computation Practice & Experience,2012,24(13):1397-1420.

[9] Corporation S P E. SPECpower_ssj2008 Benchmarks[EB/OL]. http://www.spec.org/power_ssj2008/index.html, 2008.

[10] Calheiros R N, Ranjan R, Beloglazov A, et al. CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms[J]. Software practice & Experience,2011,41(1):23-50.

[11] Park K S, Pai V S. CoMon: a mostly-scalable monitoring system for PlanetLab[J]. Acm Sigops Operating Systems Review,2006,40(1):2006.

中图分类号TP308

DOI:10.3969/j.issn.1672-9722.2016.03.005

作者简介:赵君,男,博士研究生,高级工程师,研究方向:云计算。

收稿日期:2015年9月3日,修回日期:2015年10月19日

猜你喜欢

云计算
云计算虚拟化技术在电信领域的应用研究
基于云计算的医院信息系统数据安全技术的应用探讨
志愿服务与“互联网+”结合模式探究
云计算与虚拟化
基于云计算的移动学习平台的设计
基于云计算环境下的ERP教学改革分析
基于MapReduce的故障诊断方法
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用
学术期刊云出版研究