基于自动机器学习的云平台动态资源调度研究
2020-06-03唐涌涛段永强黄捷苏荣福文剑
唐涌涛 段永强 黄捷 苏荣 福文剑
摘 要云计算资源管理是指将存储、网络带宽以及其他资源分配给一组应用程序的操作。由于资源管理过程中会受到服务水平协议的约束,因此本文对云平台的性能和资源的利用率进行了研究,提出了一种自动机器学习的新算法,该算法可根据用户需求的动态资源对物理主机的状态进行预测,提高物理主机利用率、减少虚拟机迁移次数,减少数据中心能耗。
关键词云计算;资源管理;自动机器学习;虚拟机迁移
0 引言
互联网环境下,云计算技术可以为用户提供水、电、气以及电话等计算服务。使用云服务技术,用户可以随时随地获取自身所需的服务,并根据使用情况支付一定的费用[1-5]。一般来说,云计算架构由基础架构及服务、平台及服务和软件及服务组成[6-7]。其中,基础架构设施层主要包括硬件基础架构,例如存储、网络组件、服务器、CPU等,平台及服务层主要包括计算框架和解决方案,例如服务过程管理、软件开发工具等,软件及服务层则是将云计算服务封装成各类软件并提供给用户。
然而,随着数据中心规模的不断扩大以及数据中心本身的异构性,云计算中的资源管理问题也愈发严峻。尽管逐渐兴起的虚拟化技术允许用户可以在通用的基础架构上同时运行多个应用程序,在此之中的资源分配算法可分为基于阈值和人工智能两大类。阈值检测方法是指阈值被违法则重新分配资源,尽管此类方法较为简单,但却不能长期使用运行;人工智能检测方法则是通过较长时间的学习获得相关机器的经验,从而为机器分配最合适的资源。除此之外,由于物理主机(physical machine, PM)的资源是一定的,这样一对多的映射关系必定导致虚拟机多次迁移,从而破坏云平台性能,当突然增加或者减少正在运行程序的工作流时,此时资源分配算法是进行高效分配资源的最佳解决方案。对于能耗管理,从技术上可分为静态和动态两种,静态技术主要是在设计时执行优化操作,动态技术则是在云平台运行过程中根据当前的资源需求和动态系统规范来调整系统行为,其中,DVFS是能耗管理技术中最重要的动态方法之一,其主要通过更改处理器的电压电平和频率来降低动态能耗[3]。
本文基于对云平台性能和能耗的考虑,设计了一种基于自动机器学习的节能动态调度方案,主要使用机器学习获得机器的负载规律从而动态调整资源分配,减少虚拟机迁移次数,达到降低平台能耗的目的。
1 自动机器学习技术
自动机器学习是在强化学习框架中运行的一种随机模型,其目的在于从一组行为中确定最佳行为。自动机器学习过程可以视作有限数量对象的抽取过程,如图1所示其从一组有限的行为中选择一个行为,并将其应用于环境,环境评估施加行为后的状态,然后向自动学习机发送强化信号。环境反馈的增强信号用于更新自动学习机的内部逻辑关系,通过长时间的持续学习,自动学习机逐渐学习选择最佳的行为,从而得到環境的积极响应[8]。
2 系统方案
2.1 方案模型
本文采取的系统模型是拥有n台PM的大型云计算环境,每个PM都有相应的CPU、网络带宽和随机存储,具体模型图如图2所示。
云平台的服务质量(quality of service, QOS)通常用服务等级协议(Service-Level Agreement, SLA)表示,一般来说,违反SLA的度量标准包括过载时间比例(Overload Time Fraction, OTF)和迁移退化指数(Performance Degradation Due to Migration, PDM )[4],这两种性能指标可以用式(4)表示。
尽管OTF和PDM度量标准都独立地表征了云平台中违反SLA的等级,但是Beloglazov[2]也提出了一种同时表征PM超载和VM迁移导致的性能下降,称为SLA违规,计算方式如式(5)所示。
2.2 调度算法
基于PM负载的动态性和VM需求资源的不确定性,本文提出了一种自动机器学习动态资源调度方案。在此方案中,主要通过对CPU使用的历史状态作为机器学习的样本,从而得到较好的PM异常状态监测,自动机器学习的流程如图3所示。
此流程中,虚拟机行为可分为三大类:提高CPU利用率,记做ASC;降低CPU利用率,记做DESC;不改变CPU利用率,记做NONE。对于如何确定PM是否超载,我们采用如图4所示流程。
当物理主机的状态发生变化,虚拟机上的自动机器学习的策略也需要发生变化,具体流程如图5所示。
3 测试结果与分析
3.1 测试环境
为验证算法的有效性,本文在CloudSim模拟测试平台上将本文提出的方案与近期的能源意识分配方案[2-3]进行了比较。在此测试平台中,本文模拟了一个云计算基础架构,其中包含800台PM,具体参数如表1所示。
3.2 测试结果
在此测试过程中,主要性能指标为PM过载和SLA违反产生的能耗,本方案LOAD与其他方案的仿真对比数据如表2所示。
从上表可知,本文所设计方案较其他检测算法在能耗减少、虚拟机迁移次数减少、SLAV降低、PDM降低、OTF降低上更具优越性。
除此之外,在本节中,本文更具上述检测结果在虚拟机迁移次数和策略违反上进行了图形比较,迁移次数对比如图6所示,策略违反对比如图7所示,结果显示,本文所设计的检测策略较其他检测算法更具优越性。
4 结论
本文基于PM状态的动态性和VM需求的不确定性,提出了一种基于自动机器学习的资源调度方案,使资源在云计算环境中能得到更好的分配。该方案通过对用户需求资源变化的学习,对PM的状态进行了预测,防止了PM处于过载状态。除此之外,该方案通过资源调度实现了服务器之间的负载均衡,减少了空闲PM的运行,使得数据中心的能源利用率得到了大大的提升。
参考文献
[1]陈全,邓倩妮.云计算及其关键技术[J].计算机应用,2009,29(9):2562-2567.
[2]Beloglazov A, Abawajy J, Buyya R. Energy-aware resource allocation heuristics for efficient management of data centers for Cloud computing[J]. Future Generation Computer Systems, 2012, 28(5):755-768.
[3]Anton Beloglazov, Rajkumar Buyya. 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,24(13):0-0.
[4]Esfandiarpoor S, Pahlavan A, Goudarzi M. Structure-aware online virtual machine consolidation for datacenter energy improvement in cloud computing[J].Computers & Electrical Engineering,2015,42:74-89.
[5]王佳慧,劉川意,王国峰,等.基于可验证计算的可信云计算研究[J].计算机学报,2016,39(2):286-304.
[6]王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术木[J].软件学报,2012,23(4):962-986.
[7]谭一鸣,曾国荪,王伟.随机任务在云计算平台中能耗的优化管理方法[J].软件学报,2012,23(2):266-278.
[8]Lakshmivarahan S., Thathachar M.A.L.. Absolutely Expedient Learning Algorithms for Stochastic Automata[J]. Systems, Man and Cybernetics, IEEE Transactions on, 1973,SMC-3(3):281-286.
[9]宋杰,李甜甜,闫振兴,等.一种云计算环境下的能效模型和度量方法[J].软件学报,2012,23(2):200-214.
[10]罗刚毅,钱柱中,陆桑璐.一种基于网络感知的虚拟机再调度算法[J].计算机学报,2015,38(5):932-943.