云计算环境下面向能耗降低的虚拟机选择策略
2022-03-19吴宇飞焦嘉
◆吴宇飞 焦嘉
云计算环境下面向能耗降低的虚拟机选择策略
◆吴宇飞 焦嘉通讯作者
(湖南信息职业技术学院 湖南 410203)
云计算通过网络按需提供可动态伸缩的廉价计算服务,核心概念是资源池。在实际生活中,体现为由数百万台的各种物理设备组成的数据中心。随着现阶段云计算数据中心规模的日益增长,其对应消耗的能源也在倍速提高,如何有效降低整个数据中心能耗,成为云计算重点研究内容之一。本文针对何时触发迁移以及选择哪部分虚拟机进行迁移,提出了考虑CPU、内存、带宽三种因素的虚拟机选择策略:MCMN;针对迁移后的虚拟机如何部署,借鉴了虚拟机部署算法EBFD。基于CloudSim仿真软件模拟的云数据中心验证了虚拟机迁移系统,且在系统中实现了虚拟机迁移、虚拟机选择、虚拟机部署算法。通过仿真实验结果表明,上述虚拟机选择算法、虚拟机部署算法在降低能耗方面有一定的成效。
云计算能耗;虚拟机迁移;虚拟机选择;虚拟机部署
1 虚拟机迁移触发机制
1.1 触发因素分析
本文在设定迁移时机上,通过设置三阈值来区分负载区间,最大限度地把握迁移时机,并结合服务器资源的综合利用率进行阈值的确定。
首先定义一个服务器综合利用率S,根据监控模块实时反馈CPU、内存、带宽的使用情况进行计算,确定S处于负载过重、负载适度、负载较轻、负载过轻哪个区间中。S定义如公式(1)所示:
其中:
1.2 触发迁移流程
S的值为服务器资源的综合利用率,反应了服务器的负载情况,根据自适应阈值算法KAME进行确定三阈值后再进行区间划分。当0 ≤S<S时,服务器处于负载过轻区间,该区间内所有虚拟机都迁移到负载较轻的区间内,然后原服务器可休眠来降低能耗;当S≤S<S时,服务器处于负载较轻区间内,该区间内所有服务器的虚拟机不发生迁移;当S≤S<S时,服务器处于负载适度的区间内,该区间内所有服务器的虚拟机不发生迁移;当S≤S时,服务器处于负载过重区间,该区间内服务器的部分虚拟机进行迁移,迁移到负载较轻区间内的服务器上。
触发迁移流程图如图1所示。
图1 触发迁移流程图
2 虚拟机选择机制
2.1 选择因素分析
目前有一部分对虚拟机选择的研究只考虑一个资源因素,如上文提到的虚拟机选择算法MINM(Minimum Memory Size)只根据内存选择虚拟机,而TLUC(Lowest CPU Utilization)只根据CPU利用率选择虚拟机,对其他资源因素考虑不足。所以,在选择合适的虚拟机时,需考虑该虚拟机对计算资源中哪一项资源使用比例最大。
首先,找出计算服务器三项资源中哪一项资源使用比例最大,确定该资源为服务器的热点资源,然后根据这一热点资源确定需要迁移的虚拟机,因为在配置服务器的虚拟机时,资源分配的大小不一定会全部一致。所以本文从服务器中的虚拟机对三项资源使用比例进行量化,在量化后方便对各个值进行比较,在节约系统的能耗,降低系统的SLA违约率前提下,保证服务质量。
2.2 虚拟机选择流程
为解决虚拟机选择问题,本文提出了一种虚拟机选择算法MCMN(Minimum product of CPU Utilization and Memory Size and Network),MCMN考虑CPU、内存、带宽,并由监控模块反馈信息计算出各项在服务器正常运行中所占比例,根据比例值确定某项为服务器的热点资源,然后根据这一热点资源确定需要迁移的虚拟机。MCMN选择算法和三阈值迁移算法结合,利用三阈值区分出的四个负载区间,更好地判断服务器负载,并从负载过重区间中选择合适虚拟机迁移以降低能耗。
首先,计算服务器三种资源的使用比例,确定是哪一主要因素导致服务器成为资源热点,其中CPU的使用比例如公式(5)所示:
内存的使用比例如公式(6)所示:
带宽的使用比例如公式(7)所示:
由CPU、Memory、Net三个值中最大的值可确定是哪种资源造成服务器负载过高,接着根据该资源选择合适的虚拟机。MCMN定义一个,热点资源和内存比值,因为考虑到了CPU、内存和带宽的三种资源,则有以下三种情况:
(1)如果CPU为导致服务器处于负载过重区间的热点资源,根据监控模块反馈出的各个虚拟机的CPU利用率和占用内存情况,计算出各个虚拟机的值,如公式(8)所示:
计算出RRM值后存入集合中,并对集合降序排列,每次得出集合中最大的值,选择与该值对应的虚拟机进行迁移。
(2)如果内存为导致服务器处于负载过重区间的热点资源,根据监控模块反馈出的各个虚拟机占用内存情况,选择占用内存最大的虚拟机迁移。
(3)如果带宽为导致服务器处于负载过重区间的热点资源,根据监控模块反馈出的各个虚拟机的带宽使用情况,计算出各个虚拟机的值,如公式(9)所示:
计算出RRM值后存入集合中,并对集合降序排列,每次得出集合中最大的值,选择与该值对应的虚拟机进行迁移。
MCMN选择算法和三阈值迁移算法考虑了服务器资源的多样性给能耗带来的影响,算法流程图如图2所示:
图2 虚拟机选择流程图
3 仿真实验与结果分析
将KAME阈值算法和MCMN选择算法、优化前的KAM算法、虚拟机选择算法进行组合对比,得出6种算法组合,分别是KAM-MINM,KAM-TLUC,KAM-MCMN,KAME-MINM,KAME-TLUC,KAME-MCMN,在r值(合并虚拟机的激烈程度)从0.5到3.0,每次增加0.5值下的能效,如图3所示:
图3 六个组合在参数不同情况下的能效
能效的评价指标包括SLA违约率和耗能的多少,数据中心的能效高低和SLA违约率及能耗紧密相关,能效高则耗能低且违约率低,能效低则耗能高且违约率高。数据中心的能效可由公式(10)来表达:
在公式(10)中,为能效,为能耗,为SLA违约率。
从图3可以看出这六个算法组合在参数不同情况下的能效。由公式(10)可知能效由能耗和SLA违约率决定。在KAM-MINM、KAM-TLUC、KAM-MCMN三种算法组合中,KAM-MINM能效最好,造成此结果的原因是该算法组合在迁移过程中消耗时间最少。然后KAM-MCMN算法组合比KAM-TLUC算法组合更好,造成此结果的原因是KAM-MCMN算法组合考虑了CPU、内存和带宽三种服务器资源因素,而KAM-TLUC算法组合只考虑了CPU一种服务器资源因素。KAM-MINM,KAM-TLUC,KAM-MCMN三种算法组合在参数r=0.5、1.0和1.5时SLA违约率是0,所以KAM-MINM、KAM-TLUC、KAM-MCMN三种算法组合在参数r=0.5、1.0和1.5时的能效为也是0。
在KAME-MINM、KAME-TLUC、KAME-MCMN三种算法组合中,KAME-MINM能效最高,造成此结果的原因是KAME-MINM算法组合迁移时间最少。在能效方面,KAME-MCMN算法组合比KAME-TLUC算法组合更好,造成此结果的原因是KAME-MCMN算法组合考虑了CPU内存和带宽三种服务器资源因素,而KAME-TLUC算法组合只考虑了CPU一种服务器资源因素。KAME-MINM、KAME-TLUC、KAME-MCMN三种算法组合在参数r=0.5时SLA违约率是0,则KAME-MINM、KAME-TLUC,KAME-MCMN三种算法组合在参数r=0.5时能效也是0。当参数r=1.0和1.5时,KAME-MINM能效最高,KAME-MCMN次之,KAME-TLUC能耗最低。当参数r=2.0时,KAM-TLUC能耗最高,KAME-MINM次之,KAME-MCMN能耗最低。当参数r=2.5,3.0时,KAM-MCMN能效最高,KAME-MINM次之,KAME-TLUC能耗最低。
4 结语
本文为解决虚拟机选择问题,提出一种考虑了CPU、内存、带宽三种服务器资源因素的虚拟机选择策略MCMN。该方法综合考虑三种因素,确定哪一种因素为造成服务器处于负载过重区间的主要因素,并由此主要因素选择需要迁移的虚拟机,考虑的资源因素多,实现的难度就会随之增大,能否在既考虑资源多样性的同时对实现的难度进行有效控制。
[1]李强,郝沁汾,肖利民,等. 云计算中虚拟机放置的自适应管理与多目标优化[J]. 计算机学报,2011,34(12): 2253-2264.
[2]Meireles Teixeira M,Bestavros A. End-to-end informed VM selection in compute clouds[C]. IEEE International Conference on Communication Workshop(ICCW),2015:1934-1939.