• 收藏
  • 加入书签
添加成功
收藏成功
分享

结合资源相似性的强化学习虚拟机放置策略

李坤宇
  
安家(校外教育)
2022年19期
哈尔滨师范大学 计算机科学与信息工程学院 150025

打开文本图片集

摘要:随着云计算与虚拟化技术的发展,数据中心的能源消耗问题成为了研究热点,虚拟机放置问题在定义云数据中心的能源消耗和资源浪费方面起着至关重要的作用。本文提出了一种结合资源相似性的强化学习虚拟机放置策略(Resource similarity based reinforcement learning VM placement strategy,RSRL-VMP)来解决上述问题。利用强化学习降低云数据中心的能耗,并结合物理机和虚拟机之间的资源相似性,最大化平衡物理机的资源利用。最后通过cloudsim仿真平台来对虚拟放置问题进行实验。结果表明该策略相比强化学习虚拟机放置策略,减少了24.36%的资源浪费。

关键词:虚拟机放置,强化学习,资源利用,能源消耗

中图分类号:G4 文献标识码:A

1 引言

近些年来,越来越多的应用程序迁移至云服务环境中,云服务的不断增长显著增加了云数据中心的能耗。根据亚马逊对其数据中心的研究,能源成本约占总运营成本的42%[1]。因此,如何降低数据中心的能耗,同时减少资源浪费,是一个重要的研究领域。虚拟机放置算法(Virtual Machine Placement, VMP)是在满足服务水平协议(Service Level Agreement,SLA)情况下试图找到虚拟机映射到物理主机的最优解。VMP算法的优劣会直接影响云数据中心的能耗与资源浪费。在虚拟化的云环境中,所需活动服务器的数量取决于虚拟机 (Virtual Machine, VM) 所放置的位置。因此,使用高效的VMP算法会对数据中心的能耗产生较大影响。

VM放置问题可以看作一个Np-hard大规模组合优化问题,基于启发式的资源管理算法优点是简单性和良好的交付能力。文献[2]中,提出了一种基于模拟退火的最小功耗VM放置算法,在已有的研究基础上进一步优化云数据中心的能耗。文献[3]中提出了一种改进的粒子群优化算法,重新定义了粒子群算法的参数,采用能量感知的局部适应度优先策略,设计新的编码方案,最终来降低云数据中心的能耗。文献[4]采用灰狼优化算法,通过优化活跃物理机的数量来降低能耗。文献[5]中提出了一种基于蚁群的VM选择放置算法,减少云数据中心的整体能耗和活动物理主机数量。上述文献主要采用了启发式。然而,很多基于启发式的VM放置算法是相对静态的,因此在面对动态和不稳定的云环境中,降低能耗的效果较差,故文献[6]提出了基于强化学习的虚拟机放置策略,使用强化学习对虚拟机放置问题进行建模,减少物理主机的能源消耗,该文献表明,强化学习与环境交互的学习方法更适合面向动态和不稳定的云环境。在文献[7]提出了一种基于强化学习的动态合并策略,该方法利用Agent学习和RL方法,来确定主机功率模式的最优策略,减少活跃主机的数量。Agent从采集到的数据中学习如何决策物理机的电源模式,并随着工作量的变化对其进行改进,该方法不需要数据中心资源模型,可以动态地适应环境中的变化。然而目前很多结合强化学习的虚拟机整合策略只考虑CPU的资源利用情况,而不考虑物理机其他资源浪费。

针对上述问题,文本提出了RSRL-VMP算法。将减少主机的资源浪费、降低数据中心能耗作为优化目标,结合强化学习算法和资源相似性算法选择一个最优的虚拟机放置策略。

2 相关工作

2.1 强化学习

在强化学习中,agent在不断的试错中进行学习,通过与环境的观察和交互得到奖励信号。强化学习被建模成马尔科夫决策过程,它为建模不确定性下的顺序决策提供了一个数学框架,可以由元组定义[8]。agent在环境采取动作,从而使环境转移到了。则在状态下执行动作从而使状态转移到的概率如公式1所示。

奖励空间由当前状态、动作以及该状态的下一个状态表示,下一个奖励的期望值如公式2所示

在缺乏竞争环境模型的情况下,使用无模型的Q-learning强化学习算法更适合生成最优策略,它将当前的评估结果引入到已有的评估结果中进行增量预测[9],每次经历状态、行动、回报到状态的循环后,Q-learning算法计算出评估值,评估值的计算如公式3所示:

是学习率,是价值积累过程中的折扣系数,决定了未来回报相对于当前回报重要程度[10]。 agent根据评估值选择在当前环境中回报最大的动作。为确保发现最优的动作,agent必须在探索与利用之间进行权衡。若agent总是选择最佳的行动策略则认为这是一个贪婪选择策略,导致陷入局部最优解。本文采取策略[11]来保证agent可以探索整体的环境,并基于来控制环境的探索率。图一是强化学习的agent与环境之间的交互模型。

在解决数据中心资源管理问题时,强化学习的优点是适应数据中心工作量密集的变化,与环境的交互中动态的改变行为策略。同时,强化学习的缺点是状态空间的大小有一定限制,收敛速度过慢。状态空间的维度过高会对收敛速度和优化值产生负面的影响,本文采取状态聚合的方法降低状态空间的维度[6],在一定程度上可以解决问题。

2.2 虚拟机放置

虚拟机放置问题可以看作一个多维装箱问题[12],是将具有一定资源请求的虚拟机放在有限资源提供的物理主机上,其目标是能耗最低且多维资源利用尽可能达到平衡态。虚拟机和物理主机的关系如公式4所示:

如公式4所示,是虚拟机放置策略,是等待被放置的虚拟机,是放置虚拟机的主机,通过映射关系为第j个虚拟机选择合适的物理主机i。定义虚拟机,代表第j台虚拟机的CPU、内存和带宽的资源。定义物理主机,表示物理主机所能提供的CPU、内存和带宽资源。为第j台虚拟机能放置在第i台物理主机上,需要满足以下条件:

3 RSRL-VMP算法

本文提出的RSRL-VMP算法是在强化学习虚拟机放置算法的基础上引入资源相似性,在保证能耗的基础上进一步提升资源利用率。故本文从强化学习虚拟机放置算法、虚拟机与主机资源亲和性算法以及RSRL-VMP算法三个方面介绍所提出的算法。

3.1强化学习虚拟机放置算法

强化学习算法需要搭建状态空间、动作空间与奖励函数,才能形成针对虚拟机放置问题的有效建模[13]。

(1)状态空间:

状态空间定义为当前数据中心所有主机的CPU资源利用率集合,为减少状态空间的数量,加快收敛速度,本文采用状态聚合,将CPU利用率进行分割,0-100的状态空间按10%利用率离散化成0-9的状态空间。这极大减少了状态空间的维度和计算量。状态空间定义如公式7所示,其中,代表t时刻的状态空间,m是物理机的数量 。

(2)动作空间

动作空间定义为将虚拟机放置在哪一个物理机上,若当前数据中心有台活动主机,则定义动作空间为,属于。例如:若则表示将虚拟机放置在第二台物理机上。

(3)奖励函数

奖励函数是以最小化集群总能耗为目标而计算出的虚拟机放置奖励,故奖励函数为物理机集群的总能耗。在文献[14]中得出结论,物理机空闲状态的功耗约占物理机满负载功耗的70%,针对CPU负载状态,本文定义第台物理机功耗模型公式如公式8所示[15]:

其中是物理机满载的时候的功耗,是CPU利用率。本文优化目标是降低数据中心的总体能耗,奖励函数应包括数据中心内所有的主机能耗。由公式(8)可以推出物理机在到时间段内的集群内所有物理机功耗模型。公式如下

是随着时间变化的CPU利用率函数,是数据中心内物理机的数量。如果数据中心的能耗受到虚拟机放置策略的影响而降低了能耗,则大于,反之亦然。

3.2 虚拟机与主机资源相似性算法

由于数据中心广泛应用了虚拟化技术,一些虚拟机可以共同托管在同一个物理机上,然而不同的虚拟机由于其承载的业务不同,对CPU、内存和带宽资源请求量也存在偏差。为了降低数据中心的资源浪费,对于每个活动的物理主机,所有维度的资源利用都要达到最大化平衡。为此,虚拟机选择需要放置的物理机时,要尽可能选择虚拟机所占用的资源和物理机所能提供资源的相似性最高的物理机进行放置。因此本文定义主机和虚拟机之间的资源相似性算法,当虚拟机放置在主机上后,主机多维资源尽可能达到平衡态,则该主机和虚拟机之间的资源相似性较高,反之,则证明主机和虚拟机之间的资源相似性较低。

本文选择皮尔森相关系数,从CPU利用率、内存利用率和带宽利用率三个方面衡量虚拟机和主机之间的资源的相似性。衡量第i台物理主机和第j台虚拟机之间的资源相似性的公式如公式10所示。

3.3 RSRL-VMP算法

在传统的强化学习虚拟机放置策略的过程中,放置主机的选择是依据表的评估值选择在当前环境中能耗奖励最高的主机进行放置,RSRL-VMP算法目的是降低能耗的同时提高资源利用率。虚拟机放置主机的选择由两个指标决定,这两个指标共同构成选择物理机的评分机制,每次选择评分最高的物理机去放置虚拟机。评分定义如下

表示将第台虚拟机放置第台物理机放置的评分值,评分值由和两部分构成,是通过算法计算出的在环境中,选择第台主机放置虚拟机的能耗奖励值,放置在该主机上的能耗越小,放置的能耗奖励越高,表示第台虚拟机和第台物理机的资源相似性。RSRL-VMP算法代码如下:

RSRL-VMP算法

输入:所有的主机列表,需要分配的虚拟机

输出:虚拟机放置的主机

1.获得所有物理主机的CPU利用率

2.初始化状态聚合列表和总能耗

3. For i=l to (CPU利用率列表) do

4.使用状态聚合将物理主机的CPU利用率转换为1-9的数字

5.将聚合后的CPU利用率加入状态聚合列表

6.由CPU利用率和能耗模型计算物理主机的能耗

7.总能耗 += 当前物理主机能耗

8. End

9.将状态聚合列表和能耗奖励传递给Q-learning算法用于计算

10.计算。

11. For i=l to (主机列表) do

12.计算物理主机与虚拟机之间的资源相似性。

13.计算当前主机的放置评分值。

14. End

15.由放置评分值选择动作,即虚拟机放置的主机。

4 实验分析

4.1 仿真环境:

为了评估所提出的RSRL-VMP策略的有效性,采用cloudsim来对提出的放置策略进行仿真实验。在cloudsim中,实验模拟100台物理机组成的数据中心对问题进行建模,其中物理机按照HP Proliant ML110 G5、HP Proliant DL360 G7和HP Proliant DL360 Gen9 三种类型平均分布。主机的配置如表一所示。为了应对不同场景的虚拟机请求资源量不同,本文分别模拟了四种不同资源请求量的虚拟机,分别是侧重CPU请求的虚拟机、侧重内存请求的虚拟机、侧重带宽请求的虚拟机、综合资源请求的虚拟机,虚拟机数量按照配置平均分布,虚拟机配置如表二所示,为保证实验的真实性,本文采取Planet Lad提供的真实虚拟机一天内的工作负载数据[16]。

4.2 评价指标:

本文选用资源浪费率和集群能耗作为衡量VMP算法优劣的指标,虚拟机放置策略会影响数据中心的资源利用,资源浪费过高会导致大量物理主机的资源浪费。文献[17]使用多维资源浪费模型衡量云数据中心的资源浪费情况,模型如下:

(12)

其中是第台主机的资源浪费率,是第台主机的第维归一化的剩余资源率,是一个小的正实数,本文将其设置为。是第台主机的第维的资源利用率。因从CPU、内存和带宽三个角度考虑资源浪费,故,。

4.3 实验结果分析:

本文分别与Q-learning强化学习算法、元启发算法PSO(Particle Swarm Optimization)以及首次适应算法(First Fit)比较云数据中心的能耗和资源浪费率的变化。在不同虚拟机数量下,各类算法资源浪费率比较结果如图3所示。

图3是分别在150、200、250、300台虚拟机的情况下,迭代一百次,平均资源浪费率的比较。由图三可知,在150、200、250、300台主机的情况下,RSRL-VMP算法相比强化学习算法分别减少了24.36%、10.51%、20.89%、36.75%的资源浪费,相比PSO算法和First Fit算法有30%的资源浪费减少。

图4是在200台虚拟机的情况下,各类算法随着迭代次数增长的能耗比较。由图4可知,RSRL-VMP算法和强化学习算法收敛速度明显高于PSO算法,同时能耗更加稳定。

图5是分别在150、200、250、300台虚拟机的情况下,迭代一百次,所有算法的最低能耗。所提出的RSRL-VMP算法相比强化学习算法有2%~3%的能耗升高,与PSO算法相比有5%的能耗减少,相比First Fit算法有5%~10%的能耗减少。

综上所述,本文所提出的RSRL-VMP算法,相比强化学习算法而言,增加了2%~3%的能耗,减少了20%资源浪费,这是因为RSRL-VMP算法在选择放置主机时,除了考虑能耗奖励值,同时把资源利用值也作为衡量指标。RSRL-VMP算法相比PSO算法和First Fit算法在能耗和资源浪费率也都有减少。

5 总结

由于物理机和虚拟机的异构性,资源的多维度和数据中心的大规模,虚拟机放置成为一个很重要的课题。本文提出了一种RSRL-VMP算法解决这个问题。该算法在强化学习虚拟机放置策略的基础上引入资源相似性,在降低能耗的基础上减少资源浪费,提高资源利用率。结果表明,该算法显著降低了资源浪费情况,在能耗上有着良好的表现。

参考文献

[1] Teng F, Yu L, Li T, Deng D, Magoules F, et al. Energy efficiency of VM consolidation in IaaS clouds [J]. The Journal of Supercomputing. 2016, 73(2): 782–809

[2] Y Wu, M Tang, W Fraser, et al. A simulated annealing algorithm for energy efficient virtual machine placement [C]. IEEE International Conference on Systems, Man, and Cybernetics (SMC). 2012:1245–1250.

[3] S Wang, Z Liu, Z Zheng, Q Sun, and F Yang, et al. Particle Swarm Optimization for Energy-Aware Virtual Machine Placement Optimization in Virtualized Data Centers [C]. International Conference on Parallel and Distributed Systems. 2013: 102–109.

[4] A Al-Moalmi, J Luo, A Salah, and K Li, et al. Optimal virtual machine placement based on grey wolf optimization [J]. Electronics. 2019, 8(3): 1–22.

[5]陈艳, 周天绮, 徐胜超. 利用蚁群算法完成虚拟机放置的优化[J]. 计算机工程与设计. 2021, 42(05): 1229-1234.

[6]卢海峰, 顾春华, 罗飞. 强化学习下能耗优化的虚拟机放置策略[J]. 计算机科学. 2019, 46(09): 291-297.

[7] F Farahnakian, P Liljeberg, J Plosila. Energy-efficient virtual machines consolidation in cloud data centers using reinforcement learning [C]. Euromicro International Conference on Parallel, Distributed and Network-Based Processing(PDP). 2014: 500-507.

[8] Sutton RS, Barto AG. Reinforcement learning: an introduction. IEEE Transactions on Neural Networks. 1998, 9(5): 1054–1054.

[9]Shaw R, Howley E, Barrett E. Applying Reinforcement Learning towards automating energy efficient virtual machine consolidation in cloud data centers [J]. Information Systems. 2021:101722.

[10] Rolik O, Zharikov E, Koval A, Telenyk S. Dynamic management of data center resources using reinforcement learning [C]. 2018 14th International Conference on Advanced Trends in Radioelecrtronics, Telecommunications and Computer Engineering (TCSET).2018: 17686157.

[11] Duggan M, Flesk K, Duggan J, et al. A reinforcement learning approach for dynamic selection of virtual machines in cloud data centres [C]. 2016 Sixth International Conference on Innovative Computing Technology (INTECH). 2016:16656148.

[12] Abohamama A.S, Hamouda E. A Hybrid Energy-Aware Virtual Machine Placement Algorithm for Cloud Environments [J]. Expert Systems with Applications. 2020:113306.

[13] Kumar M, Yadav A. K, Khatri P, Raw R.S. Global host allocation policy for virtual machine in cloud computing [J]. International Journal of Information Technology. 2018, 10(3): 279–287

[14] Greenberg A, Hamilton J, Maltz D, Patel P. The cost of a cloud: research problems in data center networks [J]. Computer Communications Review. 2009,39(1):68–73.

[15] Qin Y, Wang H, Yi S, et al. Virtual machine placement based on multi-objective reinforcement learning [J]. Applied Intelligence. 2020, 50(8):2370–2383

[16] Habib A, Khan MI. Reinforcement learning based autonomic virtual machine management in clouds [C]. International Conference on Informatics,Electronics and Vision. Univ Dhaka: IEEE, 2016:1083-1088.

[17]Azizi S, Shojafar M, Abawajy J, Buyya R. GRVMP: A Greedy Randomized Algorithm for Virtual Machine Placement in Cloud Data Centers [C]. IEEE Systems Journal. 2021, 15(2): 2571-2582.

*本文暂不支持打印功能

monitor