徐建中 王 俊 周迅钊 徐 雷
弹性伸缩的策略可以有效提高用户满意度,很好地处理了由于不稳定的应用系统所导致的资源利用率低的问题,是云计算的关键技术之一。目前主流的云计算系统的自动伸缩都是基于阈值确定的,即当用户服务负载达到某个阈值将增加相应的资源,或者当负载低于某个阈值减少资源。这种固定的策略不够完善,例如当用户服务负载增加并达到预设的阈值,系统立刻增加相应的资源以满足用户的需求,但是如果这种负载增加只是暂时的,且又很快降低,这种资源增加就造成了系统资源的浪费,并且,频繁的伸缩对系统本身也是很大的负担[1]。
本文设计了一种基于需求预测的云计算弹性伸缩策略,根据参考指标的当前状态,和未来趋势来共同决定是否伸缩。大体流程为:首先,设定参考指标的分析参数;然后,根据收集到的历史序列,应用不同的预测模型对未来可能的取值进行预测;最后,根据预测模型给出的预测结果和指标的当前状态,决定增容或扩容。
云计算弹性伸缩是指云计算系统根据需求变化而自动调整技术。用户需求的资源在不同时间是动态改变的,为了能够适应需求的动态改变,云计算数据中心具有弹性伸缩技术就非常必要。借助弹性伸缩,可以在峰值期间无缝地扩展资源来处理增加的工作负载,并在峰值过后自动减少资源来保持合理的容量和最大程度地降低成本[2]。云计算弹性伸缩又有横向和纵向之分,所谓横向是通过增加或减少实例资源,然后将资源整合为统一的资源来工作或对外服务;所谓纵向是通过增加现有实例资源上的配置水平来提高体统整体的处理能力。自动扩展在以往研究中有多种实现方式,比如基于阈值的策略[3]、增强型学习、队列理论、控制理论以及时间序列分析等。其中,基于阈值的策略在目前的云中实现得较为普遍[4]。
目前,时间序列预测分析方法有自回归预测模型、指数预测模型和人工神经网络模型等。本文将通过自回归预测模型、指数预测模型和BP人工神经网络三种模型的使用,建立一个基于需求预测的云计算弹性伸缩策略,并和传统阈值伸缩策略相比较。
1)自回归预测模型。自回归模型是用过去若干时刻的变量的线性组合来预测以后某时刻随机变量的线性回归模型[5~6]。
2)指数平滑预测模型。指数平滑法是一种特殊的加权平均法,对本期观察值和本期预测值赋予不同的权重,求得下一期预测值的方法,它最早是由Brown提出的,后来经统计学家深入研究使得指数平滑法非常丰富[7~8]。
3)BP神经网络预测模型。BP神经网络的核心是BP算法:将正确的结果和产生的结果进行比较,得到误差,再逆推对神经网中的权重进行反馈修正,从而来完成学习的过程,这种向后反馈的学习机制被称为BP神经网络的反馈机制。
本文的伸缩策略采用横向模式,为了简化模型,本文只考虑CPU指标,并假设只有一种虚拟机类型。本文设计的基于需求预测的云计算弹性伸缩策略大体流程为:首先,设定指标的分析参数;然后,根据收集到的历史序列,应用预测模型对未来值进行预测;最后,根据预测模型给出的预测结果和指标的当前状态,决定增容或扩容。具体流程如图1所示。
图1 弹性伸缩策略流程
1)监控模块设计。监控模块实时监控伸缩组的CPU使用情况,计算CPU使用系数,CPU利用率表示为
CPU使用系数为
其中,是虚拟机i的CPU被使用量,是虚拟机i的CPU总量,i∈{1,…,m},m是用户当前运行的虚拟机数量,Utarget为预设的CPU利用率。
2)伸缩活动执行程序设计。伸缩活动执行程序根据CPU使用系数的当前状态,和未来趋势来共同决定是否伸缩。用UratioTlr表示CPU使用系数可接受的变化范围,UusageRatio表示当前时刻CPU使用系数,表示未来τ个时刻预测的CPU平均使用系数。则不需要伸缩的条件为
执行扩容的条件为
执行缩容的条件为
伸缩规则设计。如果需要伸缩,则系统中虚拟机个数计算如下:
其中,NcurReplicas表示当前启动的虚拟机个数,Nmin表示虚拟机最小个数,Nmax表示用户可以使用的最大虚拟机个数,NnextReplicas表示下个时间预测的虚拟机个数,表示向上取整。
4)伸缩活动设计。给定伸缩频率Hinc、Hdec,为了避免系统短时间内频繁伸容、缩容,设置上次伸缩的Hinc时间内不能再次扩容,Hdec时间内不能缩容。
为了验证本文提出的基于需求预测的云计算弹性伸缩策略的有效性,利用Google云计算平台一周的CPU需求作为实验数据,在Matlab上进行仿真,相关参数设置为:CPU预设利用率Utarget=0.8,CPU可接受变化范围UratioTlr=0.1,最小虚拟机数量Nmin=1,最大虚拟机数量 Nmax=50,Hinc=Hdec=60s,自回归模型的阶数设为2,BP神经网络模型的中间层神经元个数设为12,为了简化分析设每个虚拟机CPU大小为0.02,监控间隔为10s,预测长度τ=5。
图2给出了一周内四种算法的平均虚拟机数量,可以看出基于自回归模型预测(AR)、基于指数平滑预测(ES)、基于BP神经网络预测(BP)相对基于阈值的弹性伸缩(TBR)的虚拟机数量有一定的降低,这主要是由于本文提出的基于预测的弹性伸缩的“延迟伸”机制决定的。TBR策略当CPU利用率高于阀值就增加资源,并没有考虑CPU的未来需求趋势,可能导致的结果是,未来一段时间,CPU需求处于较低状态,而一段时间内不能重复伸缩,所以导致了资源的浪费。而基于预测的弹性伸缩会考虑CPU需求的未来趋势,根据CPU使用率的当前状态和未来状态共同决定是否需要减少资源,从而避免了资源浪费。
图2 平均虚拟机数量对比
本文首先介绍了云计算弹性伸缩策略的必要性和现存策略的弊端,提出一种基于需求预测的云计算弹性伸缩策略。采用自回归预测模型、指数平滑模型和BP神经网络三种预测模型,对未来一段时间的CPU需求做预测,结合当前CPU的使用量和未来使用量决定是否需要伸缩,并对三种模型做对比。通过实验表明,本文提出的基于预测的云计算弹性伸缩策略在资源消耗方面有了一定的改善,很好地解决了降低资源消耗和不影响用户满意度直接的矛盾,表明此策略的优越性。
[1]龚强.云计算关键技术之弹性伸缩控制技术认知研究[J].信息技术,2014,38(1):1-2.
GONG Qiang.Research on the Cognition of Elastic Retractable Control Technology—One of the Key Technology of Cloud Computing[J].Information Technology,2014,38(1):1-2.
[2]李冰利,刘钊远,贾威威.基于NBD的弹性云存储研究与设计[J].计算机与数字工程,2015,43(2):343-346.
LI Bingli,LIU Zhaoyuan,JIA Weiwei.Research and Design of elastic cloud storage based on NBD[J].Computer&Digital Engineering,2015,43(2):343-346.
[3]Hasan M Z,Magana E,Clemm A,et al.Integrated and autonomic cloud resource scaling[J].2012,104(5):1327-1334.
[4]王伟兵.一种基于云计算的动态可扩展应用模型[J].计算机工程与应用,2011,47(15):15-18.
WANG Weibing.Dynamically scaling application model based on cloud computing[J].Computer Engineering and Applications,2011,47(15):15-18.
[5]Nezhad SM T,Nazari M,Gharavol E A.A Novel DoSand DDoS Attacks Detection Algorithm Using ARIMA Time Series Model and Chaotic System in Computer Networks[J].IEEE Communications Letters,2016,20(4):700-703.
[6]Yunus K,Thiringern T,Chen P.ARIMA-Based Frequency-Decomposed Modeling of Wind Speed Time Series[J].IEEETransactions on Power Systems,2015,31(4):1-11.
[7]Xie X,Wei X,Wang L.Prediction of logistics demand based on exponential smoothing model for Hohhot,Baotou and Ordos[J].Journal of Arid Land Resources&Environment,2013,27(1):58-62.
[8]Prestwich SD,Tarim SA,Rossi R,et al.Forecasting intermittent demand by hyperbolic-exponential smoothing[J].International Journal of Forecasting,2014,30(4):928-933
[9]董辉.基于优化遗传算法的灰色-RBF神经网络预测模型研究[J].新乡学院学报,2012,29(3):237-240.
DONG Hui.Research of Grey-RBF Neural Network Prediction Model Based on Optimized Genetic Algorithm[J].Journal of Xinxiang Teachers College,2012,29(3):237-240.
[10]Lian C,Chen CL P,Zeng Z,et al.Prediction Intervals for Landslide Displacement Based on Switched Neural Networks[J].IEEE Transactions on Reliability,2016:1-13.