时间:2024-05-22
邹伟东 夏元清
随着计算机网络、物联网和智能技术的发展,科技社会获得的数据呈爆炸式增长.数据量巨大性给数据的处理和转移应用分析带来了诸多挑战.云计算能按需分配计算资源,是一种很好的大数据解决方案,同时云计算是推动信息技术能力实现按需供给、促进信息技术和数据资源充分利用的全新业态,是信息化发展的重大变革和必然趋势[1−2].虚拟化技术是云计算的关键使能技术,利用虚拟化技术将大量的物理服务器资源转换为可灵活按需分配的虚拟资源.精准的估计与预测虚拟机能耗不但可以优化云计算计费方式,而且可改善虚拟机迁移调度策略,提高云计算能耗效率,进一步降低云服务提供商的能耗花费[3].云服务提供商可根据准确的虚拟机能耗预测设计高效的定价策略与计费方法,为消费者提供更多的优惠措施,避免了因定价高而致使消费者流失,促使云计算的服务模式获得长足的发展.
虚拟机能耗模型具有非线性、强耦合和时变性的特征,物理服务器的负载、CPU利用率和内存利用率都会对虚拟机能耗预测产生重要影响,因此,它的预测模型难以通过机理法用简单的数学公式或传递函数进行描述[4−5].当前伴随人工智能技术的快速发展,研究人员利用人工智能技术解决虚拟机能耗预测的相关问题,其中基于神经网络的机器学习方法在虚拟机能耗预测中的应用尤其突出.神经网络能加快计算速度,可利用有限的参数描述较为复杂的系统.神经网络建模相对于机理建模方法的主要优点是无需具体的数学公式[6],更适用于长期预测,它能更灵活地获取虚拟机能耗参数和非线性特性,使得神经网络对虚拟机能耗建模更具有吸引力.鉴于神经网络在建模中的优势,其在虚拟机能耗建模中的应用越来越广泛.
唐轶轩等[7]首先利用支持向量机(Support vector machine,SVM)建立虚拟机能耗与内存利用率、CPU利用率之间的模型,在结合待部署虚拟机的资源需求的基础上,利用所建立的模型进行虚拟机能耗预测,降低了数据中心能耗.Xu等[8]在深入研究多个虚拟机环境中物理服务器负载对虚拟机负载的影响分析基础上,提出了基于RBF(Radial basis function)神经网络的虚拟机能耗预测模型,根据实验结果可知,基于RBF神经网络的虚拟机能耗预测模型的性能优于分段线性回归等预测模型.赵雅倩[9]利用模糊神经网络构建虚拟机能耗预测模型,可有效避免硬阈值分区间模拟所产生的误差,同时可以更好模拟虚拟机能耗与各相关参数之间的非线性关系.为了有效地降低云资源浪费和提高云计算系统利用率,贾炅昊等[10]提出利用马尔科夫模型对虚拟机能耗进行建模.但支持向量机(SVM)、BP神经网络、RBF神经网络等传统神经网络需人为设定许多的神经网络训练参数,以迭代的方式更新参数,容易陷入局部优化,导致网络训练误差较大.
近年来,增量型极限学习机(Incremental Extreme Learning Machine,I-ELM)[11]在机器学习中备受青睐,其原因在于增量型极限学习机的算法步骤少,不需要迭代更新一些神经网络参数,学习速度非常快,并且不会产生局部最优解,具有良好的泛化性能,有效地克服了传统神经网络所存在的诸多缺陷,充分发挥了其在机器学习中的巨大优势,也促进了人工智能的进一步发展[12−13].I-ELM 采用增量式算法自适应地选取隐含层节点,在算法迭代过程中随机产生隐含层节点参数,利用最小二乘法计算其所对应的输出权值.尽管算法实现简单,但是增量型极限学习机中存在输出权值较小的隐含层节点,导致许多隐含层节点对最终网络输出起到的作用很小[14].大量冗余的隐含层节点只能增加网络结构的复杂性,降低学习效率;同时,由于收敛速率较低,增量型极限学习机通常需要更多的隐含层节点,有时甚至超过学习样本的数量[15−16],因此研究高效的预测方法对虚拟机能耗预测具有十分重要的意义.
针对上述问题,本文对增量型极限学习机进行改进,通过计算每一个隐含层节点的网络输出误差,构造合适的压缩动量项,构建基于压缩动量项的增量型极限学习机模型,实现对虚拟机能耗的精确预测,能够有效提高预测精度和效率.
2012年,在深入研究支持向量机的基础上,Huang等将核函数引入到极限学习机中(Kernel ELM,KELM)[17],获取最小平方优化解,使得极限学习机具有更稳定的泛化性能.该算法适用于当研究人员无法了解隐含层与输入层之间映射关系的时候,研究人员仅需了解一个核函数便可构造一个极限学习机.KELM 的计算步骤可归纳为:给定一个含有N个样本的训练集合{(xi,tk)|xi∈Rn,tk∈Rm,i,k=1,2,···,N},确定核函数K(xi,xj),计算输出方程:
式中,C为正则化系数.
针对深度学习算法存在的训练时间长、难以收敛等问题,Chen等提出了宽度学习系统(Broad learning system,BLS)[18].BLS方法利用稀疏自动编码器产生最优的输入权值矩阵,对输入样本进行线性变换后形成特征节点,再对特征节点经过激励函数非线性变换后获得增强节点.通过合并增强节点输出与特征节点输出形成BLS的输出矩阵,利用岭回归广义逆直接计算输出权值矩阵.BLS的计算步骤可归纳为:给定一个含有N个样本的训练集合{(X,Y)|X∈RN×M, YY∈RN×Q},其中X为输入样本,Y为输出样本,N为样本个数,M为每一个输入样本的特征维数,Q为每一个输出样本的特征维数.假设BLS网络结构中包含s个特征节点和z个增强节点,则特征节点输出与增强节点输出分别表示为式(4)和式(5):
式中,λ为正则化系数.
增量型极限学习机通常是从一个规模比较小的神经网络开始,根据误差大小向网络中逐个增加隐含层节点,利用最小二乘法计算所增加的隐含层节点的输出权值,进而计算网络训练误差,直至达到最大隐含层节点数或者网络的期望误差时停止增加隐含层节点.
I-ELM算法的迭代公式可表示为:
式中,gn(x)表示在第n步神经网络新增加的隐含层节点输出,连接第n个新增隐含层节点与输出层的权值可表示为:
I-ELM算法流程:
第1步,神经网络初始化阶段:令L=0,初始网络误差为E=T,其中T=[t1,t2,···,tN]T;
第2步,神经网络训练阶段:
当L
1)增加一个隐含层节点:L←L+1;
2)随机产生新增隐含层节点的输入权值和阈值(aL,bL);
4)计算神经网络在增加了第L个隐含层节点后的误差:E←E−βL·gL;
结束.
如图1所示,为了改进增量型极限学习机的收敛速度和泛化性能,在原拓扑结构的的基础上引入压缩动量项,优化网络结构,提高网络学习效率.
图1中,x为输入变量,y为目标输出变量,an和bn分别表示第n个隐含层节点的输入权值和阈值,βn表示第n个隐含层节点的输出权值,gn(an,x bn)表示第n个加法型或RBF型隐含层节点的输出,fn−1表示当前包含n−1个隐含层节点的网络输出,en−1=y−fn−1表示当前包含n−1个隐含层节点的网络训练误差,αn−1为第n个隐含层节点的压缩因子.
图1 基于压缩动量项的增量型极限学习机拓扑结构图Fig.1 Topological structure of CDAI-ELM
式中,en为在训练中由于增加了第n个隐含层节点而引入的网络训练误差,其表达了当网络中仅有n个隐含层节点时,网络产生的输出fn与样本给定的理想输出之间的差值.
证明.根据定理1的假设条件可知,当n=1时,可得:
如图2所示,基于压缩动量项的增量型极限学习机与其他增量型极限学习机算法的区别在于在其模型和训练过程中引入压缩动量项,进一步加快网络的收敛速度,提高网络的泛化性能,训练步骤如图2所示.
图2 基于压缩动量项的增量型极限学习机算法流程图Fig.2 Flow diagrams of algorithm for CDAI-ELM
针对每一个回归问题,每一种测试算法均取相同的期望精度,所有测试算法中最大隐含层节点数为300,EM-ELM算法中初始隐含层节点数是1,且在迭代运算过程中每次仅增加1个隐含层节点.所有回归问题的测试数据均来自于KDD数据库[21],相关测试数据的信息如表1所示.所有测试实验均在Matlab 2014a环境中运行,最后的测试结果取200次实验结果的平均值.最好的实验结果均用粗体标注,相近的实验结果均用下划线标明.
表1 回归数据集Table 1 Datasets of regression
在表2中,在相同期望精度的情况下,当训练精度提高时,所需要的隐含层节点数也随之增多,神经网络的泛化性能也随之提升,但是当隐含层节点数到达一定程度后,神经网络结构变得复杂,其泛化性能并未提升,将当前的精度作为期望精度.从表2可知,对所有的回归问题,CDAI-ELM 算法所需要的隐含层节点数方差均为最小的,但I-ELM算法所需要的隐含层节点数方差均为最多的.在不同的回归问题中,I-ELM算法所需要的隐含层节点数方差是CDAI-ELM算法的数十倍,CDAI-ELM算法所需要的隐含层节点数方差均小于CI-ELM算法和EM-ELM算法,在表2中由粗体标注,这也说明了CDAI-ELM算法可获得更稳定且更紧凑的神经网络结构.
如表 3所示,在 10个回归问题中,除了BlogFeedback和wiki4HE两个例子中EM-ELM算法的测试误差比CDAI-ELM 算法小,Housing、NoisyOffice、SML2010和 Facebook metrics 4个例子中CDAI-ELM算法与EM-ELM算法的测试误差比较接近外,其余例子中CDAI-ELM 算法的测试误差均为最小,这也说明了CDAI-ELM算法具有较好的泛化性能.
如表4所示,在10个回归问题中,除Noisy-Office,wiki4HE和UJIIndoorLoc三个例子中CI-ELM算法的训练时间比CDAI-ELM 算法短,Housing在CDAI-ELM算法与CI-ELM算法所用训练时间接近,其余例子中CDAI-ELM 算法的训练时间均为最小,这也说明了CDAI-ELM 算法可更快地确定最优的神经网络结构.
本文使用一台戴尔PowerEdge T640塔式服务器进行实验仿真.该服务器包含2个Xeon Silver 4114的标配CPU,64GB内存和120TB硬盘空间,服务器的操作系统为CentOS 7.5.利用KVM虚拟化技术在服务器上创建了具有相同配置的5台虚拟机,具体配置为单核Xeon Silver 4114 CPU,8GB内存和100GB硬盘空间.
表2 相同期望误差下4种算法隐含层节点数方差的比较Table 2 Variance of number of hidden layer node for four algorithms under same expected error
表3 4种算法的测试误差和方差比较Table 3 Comparison result of testing error and variance for four algorithms
表4 4种算法训练时间的比较(s)Table 4 Comparison result of training time for four algorithms(s)
本文选取模型有效性MV、均方根误差(Root mean square error,RMSE)、平均绝对误差(Mean absolute error,MAE)、相对百分误差(Mean absolution percent error,MAPE)和皮尔逊相关系数(Pearson correlation coefficients,PCCs)作为衡量预测模型的泛化性能与精度的评价指标[22−24].
均方根误差RMSE可表示为:
模型有效性MV可表示为:
平均绝对误差MAE可表示为:
相对百分误差MAPE可表示为:
皮尔逊相关系数PCCs可表示为:
式中,yj为预测模型输出值,为预测模型输出值的平均值,j为真实值,为真实值的平均值,K为样本数.均方根误差RMSE、平均绝对误差MAE和相对百分误差MAPE的大小反应了预测模型输出曲线在真实曲线上的波动情况,模型有效性MV和皮尔逊相关系数PCCs反应了预测模型输出与真实值的误差相对于真实值的离散程度.
为了验证本文所提算法的有效性,采用支持向量机(SVM)、基于核函数的极限学习机(KELM)、宽度学习系统(BLS)和基于压缩动量项的增量型极限学习机(CDAI-ELM)分别对虚拟机能耗数据进行建模预测.CDAI-ELM算法选用Sigmoid函数作为隐含层激励函数,隐含层节点参数(a b)服从一致分布,从[−1,1]d×[−1,1]中随机选取,最大隐含层节点数为300.选取RBF函数作为SVM和KELM的核函数,即K(xi,xj)=e−γkxi−xjk2,核函数参数和误差惩罚参数分别取值为γSVM=2−0.3、CSVM=21.1、γKELM=23、CKELM=25.宽度学习算法选用双曲正切函数作为增强节点的激励函数,特征节点数和增强节点数分别为50和10,收敛系数和正则化系数分别为0.1和0.02.
从图3和4可知,基于CDAI-ELM 的能耗预测模型精度与其他模型相比有较大的改进.与BLS、SVM 和 KELM 相比之下,基于 CDAIELM 的能耗预测模型的均方根误差分别减小了14.987、10.8682、14.9334,模型有效性分别提高了0.161049、0.192734、0.191137,平均绝对误差分别减少了11.99114、9.187067、13.20551,相对百分误差分别减少了5.816683%、4.478663%、6.377395%,皮尔逊相关系数分别提高了0.275662、0.104929、0.310567.根据表5可知,SVM模型的训练时间均大于其他模型,KELM模型训练时间与BLS模型接近,而CDAI-ELM 模型训练时间仅需0.5772s,均优于其他模型,其原因在于输入数据经过隐含层的特征映射后,根据每一个隐含层节点的网络输出误差构造合适的压缩动量项,隐含层输出矩阵的规模均小于其他算法,致使算法的计算复杂度降低,网络训练时间变短.根据图3和4及表5可知,BLS模型、SVM 模型和KELM 模型训练时间均大于CDAI-ELM模型,且对虚拟机能耗数据进行预测时效果较差,预测误差较大,而CDAI-ELM模型对虚拟机能耗数据进行预测准确度较高,预测误差小,收敛速度快,说明CDAI-ELM 模型对虚拟机能耗进行模拟预测是行之有效的.
图3 基于SVM、KELM、BLS和CDAI-ELM的虚拟机能耗预测曲线Fig.3 Predicted curve for power of virtual machine based on SVM、KELM、BLS和CDAI-ELM
图4 4种模型预测结果Fig.4 Predicted results of four models
表5 4种模型训练时间(s)Table 5 Training time of four models(s)
本文分析了国内外虚拟机能耗预测和增量型极限学习机的研究进展,针对增量型极限学习机因存在大量冗余节点,致使网络结构复杂,降低网络收敛速度,通过引入压缩动量项优化增量型极限学习机网络结构,提出了基于压缩动量项的增量型ELM虚拟机能耗预测方法,实现了对虚拟机能耗的高效精准预测.然而本文仅针对5个虚拟机进行预测建模,如何对大规模的虚拟机集群进行预测建模,仍需进一步进行实验验证.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!