CN110083518B - 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 - Google Patents
一种基于AdaBoost-Elman的虚拟机软件老化预测方法 Download PDFInfo
- Publication number
- CN110083518B CN110083518B CN201910354685.2A CN201910354685A CN110083518B CN 110083518 B CN110083518 B CN 110083518B CN 201910354685 A CN201910354685 A CN 201910354685A CN 110083518 B CN110083518 B CN 110083518B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- software aging
- cur
- disk
- elman
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000032683 aging Effects 0.000 title claims abstract description 132
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000013528 artificial neural network Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 18
- 239000000126 substance Substances 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 230000036541 health Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 6
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 claims description 3
- 101150049349 setA gene Proteins 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000003384 imaging method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- YQGOJNYOYNNSMM-UHFFFAOYSA-N eosin Chemical compound [Na+].OC(=O)C1=CC=CC=C1C1=C2C=C(Br)C(=O)C(Br)=C2OC2=C(Br)C(O)=C(Br)C=C21 YQGOJNYOYNNSMM-UHFFFAOYSA-N 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于AdaBoost‑Elman的虚拟机软件老化预测方法,涉及云计算技术领域。该方法首先设定评估虚拟机软件老化程度的等级,并训练虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型;然后将业务并发量预测值和性能数据输入到离线过程训练的虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型中,输出虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果;最后根据虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果来评估虚拟机的软件老化趋势。本发明方法能够预测出当前工作虚拟机的软件老化指标,并与未老化的虚拟机进行对比,从而得到下一段时间虚拟机的软件老化程度,提前采取防范措施。
Description
技术领域
本发明属于云计算技术领域,涉及一种基于AdaBoost-Elman的虚拟机软件老化预测方法。
背景技术
在云服务系统中,虚拟机长时间不间断地处理业务并发请求,会逐渐出现软件老化,从而导致云服务中断甚至失效。为了保证云服务的性能和可靠性,通常在虚拟机服务失效之前对其重启,恢复虚拟机应用和系统的初始状态。而软件老化趋势的预测是解决虚拟机软件老化问题的关键,如果采取措施太早,重启代价较高,则会造成资源的浪费;如果采取措施太晚,则起不到降低损失的作用。
虚拟机的软件老化是一个漫长复杂的过程,各种各样的错误都可能在虚拟机系统中出现并不断累积。对用户来说,请求的响应时间与失败的请求数是判断虚拟机软件老化的两个有效指标,随着虚拟机内软件老化,请求响应时间变长并且失败请求数增加,然而对云平台管理者来说,实时地获取请求响应时间和失败请求数两个指标会有延迟,而虚拟机的资源指标更加方便获取,并且可用资源的减少是软件老化的具体表现。内存泄漏是云服务系统最常见的老化现象之一,系统的可用内存过少导致虚拟机运行缓慢甚至直接崩溃,当虚拟机系统的物理内存过少时,磁盘上的虚拟内存发挥作用从而占用较多的磁盘资源。前人方法大多是设定固定的老化阈值,然后通过监测或者预测虚拟机的资源使用状况,判断是否超过老化阈值决定是否采取措施。但是这种单一的阈值监控方法并不能准确地表现虚拟机的“健康状况”,经常受到外界负载影响而造成误判。
在云服务系统中,虚拟机的软件老化归根结底是由大量的业务请求带来的,然而现有的软件老化预测方法往往直接对虚拟机资源的历史序列进行拟合,缺乏对虚拟机上各类业务的考虑,所有业务共享虚拟机资源,不同的业务请求需要的资源类型和资源数量不同,前人方法对虚拟机的软件老化指标直接拟合是有误差的。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于AdaBoost-Elman的虚拟机软件老化预测方法,实现对虚拟机软件老化情况进行预测。
一种基于AdaBoost-Elman的虚拟机软件老化预测方法,包括以下步骤:
步骤1:设定评估虚拟机软件老化程度的等级,具体方法为:
步骤1.1:选取磁盘、物理内存和虚拟内存的利用率作为虚拟机软件老化的评估指标,计算虚拟机的磁盘、物理内存和虚拟内存的平均利用率的性能损耗量wastagedisk、wastagemem、wastageswap,如下公式所示:
wastagedisk=|curdisk-conferdisk| (1a)
wastagemem=|curmem-confermem| (1b)
wastageswap=|curswap-conferswap| (1c)
其中,curdisk、curmem、curswap为虚拟机的平均磁盘利用率、平均物理内存利用率和平均虚拟内存利用率,而conferdisk、confermem、conferswap则是进行软件老化评估的磁盘、物理内存和虚拟内存的平均利用率的基准值;
步骤1.2:计算代表虚拟机的软件老化程度的虚拟机软件老化度s,如下公式所示:
s=ω1*wastagemem+ω2*wastageswap+ω3*wastagedisk (2)
其中,ω1、ω2、ω3为物理内存、虚拟内存和磁盘的平均利用率的性能损耗量的权重系数;
步骤1.3:根据软件老化度s将虚拟机的健康状态划分为五个等级,具体为:
当0≤s<0.2时,判定该虚拟机处于健康状况;
当0.2≤s<0.4时,判定该虚拟机处于轻微软件老化状况;
当0.4≤s<0.6时,判定该虚拟机处于中度软件老化状况;
当0.6≤s<0.8时,判定该虚拟机处于重度软件老化状况;
当0.8≤s≤1时,判定该虚拟机故障,无法正常使用;
步骤2:预测虚拟机的软件老化的离线训练过程,具体如下:
步骤2.1:训练虚拟机的软件老化指标预测模型;
步骤2.1.1:提取虚拟机性能日志库和虚拟机业务并发量日志库中的历史数据,并对提取的历史数据进行预处理;
步骤2.1.1.1:对提取的虚拟机业务并发量缺失点进行处理;
对于个别采样点缺失的情况,采用前一周期和后一周期业务并发量的平均值进行填补;
对于采样点缺失达到百分之九十以上的情况,舍弃全部采样并且将该段时间内业务并发量的值置为零;
步骤2.1.1.2:对于采集到的虚拟机业务并发量中存在异常波动的极大极小样本进行异常值调整;
步骤2.1.1.3:对从虚拟机日志数据库和虚拟机业务并发量日志库中提取到的业务并发量和CPU利用率数据进行数据间隔调整,对采集的数据以秒、分钟或小时为单位进行合并;
步骤2.1.1.4:采用最大最小值归一法将步骤2.1.1.3处理后的数据进行归一化;
步骤2.1.2:通过Elman神经网络建立业务并发量与软件老化指标之间的关系模型,即虚拟机软件老化指标的预测模型;
步骤2.1.2.1:设置Elman神经网络的层数为3;
步骤2.1.2.2:虚拟机支撑的业务数类型为n,设置Elman神经网络的输入节点数in为n+3,输出节点数out为3;
步骤2.1.2.3:采用柯尔莫哥洛夫定理得出Elman神经网络中隐藏节点数hide的大致范围,如下公式所示,然后逐一验证结果准确性;
其中,a∈(1,10);
步骤2.1.2.4:Elman神经网络输出层的传递函数采用ReLU线性整流函数或者Sigmod函数,隐藏层的传递函数采用Sigmod函数来对虚拟机的业务并发量和软件老化指标进行预测;
步骤2.1.2.5:将虚拟机的三类性能指标curmem(t)、curswap(t)、curdisk(t),虚拟机上业务并发量的预测值coni(t+1)和物理内存利用率、虚拟内存利用率以及磁盘利用率之间的影响因子σ1、σ2、σ3一同输入到Elman神经网络模型中;
步骤2.1.2.6:输出虚拟机的平均物理内存利用率、平均虚拟内存利用率以及平均磁盘利用率与业务并发量之间的非线性关系,如下公式所示:
curmem(t+1)=f′(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ1 (4a)
curswap(t+1)=g(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ2 (4b)
curdisk(t+1)=h(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ3 (4c)
其中,f′()、g()、h()分别为表示平均物理内存利用率、平均虚拟内存利用率以及平均磁盘利用率与业务并发量之间的非线性关系函数;
步骤2.1.3:使用AdaBoost.RT算法对虚拟机软件老化指标的预测模型进行优化,将一些Elman神经网络作为弱预测模型合成强预测模型Ada-Elman;
步骤2.1.3.1:输入训练样本集,初始化每个Elman神经网络预测器f(x)的参数和训练样本的权值及训练误差的阈值;
所述训练样本的权值及训练误差的阈值如下公式所示:
步骤2.1.3.2:设置平均误差率et为零,读取训练样本,训练第t个Elman神经网络预测器ft(x),进而合成强预测模型Ada-Elman;
步骤2.1.3.6:计算权值调整因子,如下公式所示:
lt=et 2 (9)
步骤2.1.3.7:更新每个训练样本的权重,具体为:
其中,Dt为第t次迭代样本权重的规范化因子;
步骤2.1.3.8:判断是否达到最大迭代次数;
若未达到最大迭代次数,继续迭代;
若达到最大迭代次数,输出Ada-Elamn模型,得到虚拟机软件老化指标预测模型g(x),如下公式所示:
g(x)=∑(-log lt*ft(x))/∑-log lt (12)
步骤2.2:训练未老化虚拟机参照预测模型;
步骤2.2.1:提取新创建并且刚启动不久的虚拟机的性能日志库和业务并发量日志库中的数据,并对提取的数据进行预处理;
步骤2.2.2:通过步骤2.1.2中Elman神经网络建立关系模型的方法和步骤2.1.3中使用AdaBoost.RT算法对关系模型进行优化的方法建立并训练未老化虚拟机参照预测模型;
步骤3:预测虚拟机的软件老化的在线训练过程,具体如下:
步骤3.1:将业务并发量预测值和性能数据输入到离线过程训练的虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型中;
步骤3.2:虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型分别输出虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果;
步骤3.3:结合步骤1中的评估虚拟机软件老化的方法,根据虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果来评估虚拟机的软件老化趋势。
采用上述技术方案所产生的有益效果在于:本发明提供的一种基于Ada-Elman的虚拟机软件老化预测方法,建立基于Ada-Elman的虚拟机软件老化模型,细粒度地研究各类业务并发量与虚拟机软件老化指标之间的关系,进而预测出当前工作虚拟机的软件老化指标,并与未老化的虚拟机进行对比,从而得到下一段时间虚拟机的软件老化程度,提前采取防范措施。
附图说明
图1为本发明实施例提供的飞机票在线订购系统的实例拓扑图;
图2为本发明实施例提供的一种基于AdaBoost-Elman的虚拟机软件老化预测方法的预测过程示意图;
图3为本发明实施例提供的三种不同模型对虚拟机的平均虚拟内存利用率的预测结果对比图;
图4为本发明实施例提供的是虚拟机的平均物理内存利用率的预测结果对比图;
图5为本发明实施例提供的是虚拟机的平均磁盘利用率的预测结果对比图。
图中,1、客户端;2、负载均衡Nginx;3、交换机;4、服务端;5、业务数据库MySQL。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例使用如图1所示的飞机票在线订购系统模拟PC端用户应用,在曙光服务器上搭建该服务系统,通过对飞机票在线订购系统加压模拟真实的业务并发场景,并采集不同的业务并发量数据,采用本发明的基于AdaBoost-Elman的虚拟机软件老化预测方法实现对该虚拟机软件老化情况进行预测。在该飞机票在线订购系统中,客户端1使用LoadRunner软件产生业务并发访问,它可以模拟大量的用户同时点击飞机票订购系统页面,LoadRunner发送页面请求后,由负载均衡Nginx2实现业务请求的接收和分配,最后服务端4安装Tomcat并部署飞机票在线预订系统,负责读写业务数据库MySQL5,处理LoadRunner发送的请求。通过开源监控工具Collectd周期性采集每台工作虚拟机的性能数据,并保存在Influxdb分布式数据库中,利用采集的虚拟机数据基于Ada-Elman建立模型。
一种基于AdaBoost-Elman的虚拟机软件老化预测方法,如图2所示,包括以下步骤:
步骤1:设定评估虚拟机软件老化程度的等级,具体方法为:
步骤1.1:选取磁盘、物理内存和虚拟内存的利用率作为虚拟机软件老化的评估指标,计算虚拟机的磁盘、物理内存和虚拟内存的平均利用率的性能损耗量wastagedisk、wastagemem、wastageswap,如下公式所示:
wastagedisk=|curdisk-conferdisk |(1a)
wastagemem=|curmem-confermem| (1b)
wastageswap=|curswap-conferswap| (1c)
其中,curdisk、curmem、curswap为虚拟机的平均磁盘利用率、平均物理内存利用率和平均虚拟内存利用率,而conferdisk、confermem、conferswap则是进行软件老化评估的磁盘、物理内存和虚拟内存的平均利用率的基准值;
步骤1.2:计算代表虚拟机的软件老化程度的虚拟机软件老化度s,如下公式所示:
s=ω1*wastagemem+ω2*wastageswap+ω3*wastagedisk (2)
其中,ω1、ω2、ω3为物理内存、虚拟内存和磁盘的平均利用率的性能损耗量的权重系数;
步骤1.3:根据软件老化度s将虚拟机的健康状态划分为五个等级,具体为:
当0≤s<0.2时,判定该虚拟机处于健康状况;
当0.2≤s<0.4时,判定该虚拟机处于轻微软件老化状况;
当0.4≤s<0.6时,判定该虚拟机处于中度软件老化状况;
当0.6≤s<0.8时,判定该虚拟机处于重度软件老化状况;
当0.8≤s≤1时,判定该虚拟机故障,无法正常使用;
步骤2:预测虚拟机的软件老化的离线训练过程,具体如下:
步骤2.1:训练虚拟机的软件老化指标预测模型;
步骤2.1.1:提取虚拟机性能日志库和虚拟机业务并发量日志库中的历史数据,并对提取的历史数据进行预处理;
步骤2.1.1.1:对提取的虚拟机业务并发量缺失点进行处理;
对于个别采样点缺失的情况,采用前一周期和后一周期业务并发量的平均值进行填补;
对于采样点缺失达到百分之九十以上的情况,舍弃全部采样并且将该段时间内业务并发量的值置为零;
步骤2.1.1.2:对于采集到的虚拟机业务并发量中存在异常波动的极大极小样本进行异常值调整;
步骤2.1.1.3:对从虚拟机日志数据库和虚拟机业务并发量日志库中提取到的业务并发量和CPU利用率数据进行数据间隔调整,对采集的数据以秒、分钟或小时为单位进行合并;
步骤2.1.1.4:采用最大最小值归一法将步骤2.1.1.3处理后的数据进行归一化;
步骤2.1.2:通过Elman神经网络建立业务并发量与软件老化指标之间的关系模型,即虚拟机软件老化指标的预测模型;
步骤2.1.2.1:设置Elman神经网络的层数为3;
步骤2.1.2.2:虚拟机支撑的业务数类型为n,设置Elman神经网络的输入节点数in为n+3,输出节点数out为3;
步骤2.1.2.3:采用kolmogorov柯尔莫哥洛夫定理得出Elman神经网络中隐藏节点数hide的大致范围,如下公式所示,然后逐一验证结果准确性;
其中,a∈(1,10);
步骤2.1.2.4:Elman神经网络输出层的传递函数采用ReLU线性整流函数或者Sigmod函数,隐藏层的传递函数采用Sigmod函数来对虚拟机的业务并发量和软件老化指标进行预测;
步骤2.1.2.5:将虚拟机的三类性能指标curmem(t)、curswap(t)、curdisk(t),虚拟机上业务并发量的预测值coni(t+1)和物理内存利用率、虚拟内存利用率以及磁盘利用率之间的影响因子σ1、σ2、σ3一同输入到Elman神经网络模型中;
步骤2.1.2.6:输出虚拟机的平均物理内存利用率、平均虚拟内存利用率以及平均磁盘利用率与业务并发量之间的非线性关系,如下公式所示:
curmem(t+1)=f′(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ1 (4a)
curswap(t+1)=g(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ2 (4b)
curdisk(t+1)=h(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ3 (4c)
其中,f′()、g()、h()分别为表示平均物理内存利用率、平均虚拟内存利用率以及平均磁盘利用率与业务并发量之间的非线性关系函数;
步骤2.1.3:使用AdaBoost.RT算法对虚拟机软件老化指标的预测模型进行优化,将一些Elman神经网络作为弱预测模型合成强预测模型Ada-Elman;
步骤2.1.3.1:输入训练样本集,初始化每个Elman神经网络预测器f(x)的参数和训练样本的权值及训练误差的阈值;
所述训练样本的权值及训练误差的阈值如下公式所示:
步骤2.1.3.2:设置平均误差率et为零,读取训练样本,训练第t个Elman神经网络预测器ft(x),进而合成强预测模型Ada-Elman;
步骤2.1.3.6:计算权值调整因子,如下公式所示:
lt=et 2 (9)
步骤2.1.3.7:更新每个训练样本的权重,具体为:
其中,Dt为第t次迭代样本权重的规范化因子;
步骤2.1.3.8:判断是否达到最大迭代次数;
若未达到最大迭代次数,继续迭代;
若达到最大迭代次数,输出Ada-Elamn模型,得到虚拟机软件老化指标预测模型g(x),如下公式所示:
g(x)=∑(-log lt*ft(x))/∑-log lt (12)
步骤2.2:训练未老化虚拟机参照预测模型;
步骤2.2.1:提取新创建并且刚启动不久的虚拟机的性能日志库和业务并发量日志库中的数据,并对提取的数据进行预处理;
步骤2.2.2:通过步骤2.1.2中Elman神经网络建立关系模型的方法和步骤2.1.3中使用AdaBoost.RT算法对关系模型进行优化的方法建立并训练未老化虚拟机参照预测模型;
步骤3:预测虚拟机的软件老化的在线训练过程,具体如下:
步骤3.1:将业务并发量预测值和性能数据输入到离线过程训练的虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型中;
步骤3.2:虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型分别输出虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果;
步骤3.3:结合步骤1中的评估虚拟机软件老化的方法,根据虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果来评估虚拟机的软件老化趋势。
本实施例中,虚拟机老化的模拟和预测过程如下:
(1)首先在订票网页的Servlet中申请一个静态的HashSet,然后在doPost方法中申请一定数量的对象放到之前的HashSet中,在虚拟机运行时不断地调用订票网页即可达到消耗可用内存的目的,虚拟机内存消耗的速度由doPost方法中申请对象的数量决定,运用此过程来模拟虚拟机软件老化。
(2)使用LoadRunner对服务端虚拟机加压并采集数据。采集的数据进行规范化,并将数据间隔设为15秒,分成data_health和data_aging两组,分别用来建立当前虚拟机的软件老化指标预测模型和参照预测模型。data_health取自新建虚拟机启动后3个小时,时间为2018年10月8日9时至2018年10月8日12时;data_aging取自虚拟机持续工作一段时间后3个小时的监测数据,时间为2018年10月8日18时至2018年10月8日21时。
(3)通过分析前165分钟的监测数据,分别利用Ada-Elman、Elman和BP神经网络对虚拟机建立软件老化指标预测模型,记为aging_Ada-Elman、aging_Elman和aging_BP模型,预测未来15分钟的虚拟机软件老化指标。同样地,利用Ada-Elman、Elman和BP神经网络分别建立参照模型,记为confer_Ada-Elman、confer_Elman和confer_BP模型,并将所有模型的输出与真实值对比分析。实验中共设置登录、退票、浏览、注册等八类业务,因此Ada-Elman和Elman模型的输入包括八类业务的并发访问量和物理内存、虚拟内存、磁盘数据,BP模型是直接对三类老化指标的历史序列进行拟合。多次实验后设定Elman模型各层的节点数为11-8-3,学习率是0.2,Ada-Elman模型中Elman预测器个数为10,每个预测器的各层节点数为11-7-3,学习率是0.2,BP模型的各层节点数为11-8-3,学习率是0.3,三种模型的最大迭代轮数为1000。
本实施例中,aging_Ada-Elman、aging_Elman和aging_BP三种模型对虚拟机软件老化指标的预测结果如图3-5所示。aging_Ada-Elman模型的预测结果更加接近虚拟机的真实性能值,尤其对波动频繁的虚拟内存利用率预测时,aging_BP和aging_Elman的拟合结果偏差较大,而aging_Ada-Elman拟合效果更好。
本实施例中,不同模型预测的误差表1所示,对于虚拟机的三类软件老化指标,Ada-Elman预测的平均绝对误差MAE和均方误差MSE均小于Elman预测的平均绝对误差和均方误差,表明本文提出的Ada-Elman预测精度比单个Elman模型高,同样Ada-Elman预测的平均绝对误差和均方误差也均小于BP模型预测的平均绝对误差和均方误差,这是因为Ada-Elman并没有直接对历史序列建模,而是充分考虑了业务并发量和软件老化指标之间的关系。
表1不同方法对软件老化指标的预测误差
表1反映了不同模型的时间开销,表中结果为多次预测后的平均值,其中,BP模型所用时间最短,Ada-Elman和Elman模型时间更长,这是因为BP模型是直接对软件老化指标的历史序列进行建模,而不用输入业务并发量。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (6)
1.一种基于AdaBoost-Elman的虚拟机软件老化预测方法,其特征在于:包括以下步骤:
步骤1:设定评估虚拟机软件老化程度的等级,具体方法为:
步骤1.1:选取磁盘、物理内存和虚拟内存的利用率作为虚拟机软件老化的评估指标,计算虚拟机的磁盘、物理内存和虚拟内存的平均利用率的性能损耗量wastagedisk、wastagemem、wastageswap;
步骤1.2:计算代表虚拟机的软件老化程度的虚拟机软件老化度s;
步骤1.3:根据软件老化度s将虚拟机的健康状态划分为五个等级,具体为:
当0≤s<0.2时,判定该虚拟机处于健康状况;
当0.2≤s<0.4时,判定该虚拟机处于轻微软件老化状况;
当0.4≤s<0.6时,判定该虚拟机处于中度软件老化状况;
当0.6≤s<0.8时,判定该虚拟机处于重度软件老化状况;
当0.8≤s≤1时,判定该虚拟机故障,无法正常使用;
步骤2:预测虚拟机的软件老化的离线训练过程,具体如下:
步骤2.1:训练虚拟机的软件老化指标预测模型;
步骤2.1.1:提取虚拟机性能日志库和虚拟机业务并发量日志库中的历史数据,并对提取的历史数据进行预处理;
步骤2.1.2:通过Elman神经网络建立业务并发量与软件老化指标之间的关系模型,即虚拟机软件老化指标的预测模型;
步骤2.1.3:使用AdaBoost.RT算法对虚拟机软件老化指标的预测模型进行优化,将一些Elman神经网络作为弱预测模型合成强预测模型AdaBoost-Elman;
步骤2.2:训练未老化虚拟机参照预测模型;
步骤2.2.1:提取新创建并且刚启动不久的虚拟机的性能日志库和业务并发量日志库中的数据,并对提取的数据进行预处理;
步骤2.2.2:通过步骤2.1.2中Elman神经网络建立关系模型的方法和步骤2.1.3中使用AdaBoost.RT算法对关系模型进行优化的方法建立并训练未老化虚拟机参照预测模型;
步骤3:预测虚拟机的软件老化的在线训练过程,具体如下:
步骤3.1:将业务并发量预测值和性能数据输入到离线过程训练的虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型中;
步骤3.2:虚拟机的软件老化指标预测模型和未老化虚拟机参照预测模型分别输出虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果;
步骤3.3:结合步骤1中的评估虚拟机软件老化的方法,根据虚拟机的软件老化指标预测结果和未老化虚拟机的参照预测结果来评估虚拟机的软件老化趋势。
2.根据权利要求1所述的一种基于AdaBoost-Elman的虚拟机软件老化预测方法,其特征在于:步骤1.1所述虚拟机的磁盘、物理内存和虚拟内存的平均利用率的性能损耗量wastagedisk、wastagemem、wastageswap的计算公式如下所示:
wastagedisk=|curdisk-conferdisk| (1a)
wastagemem=|curmem-confermem| (1b)
wastageswap=|curswap-conferswap| (1c)
其中,curdisk、curmem、curswap为虚拟机的平均磁盘利用率、平均物理内存利用率和平均虚拟内存利用率,而conferdisk、confermem、conferswap则是进行软件老化评估的磁盘、物理内存和虚拟内存的平均利用率的基准值。
3.根据权利要求2所述的一种基于AdaBoost-Elman的虚拟机软件老化预测方法,其特征在于:步骤1.2所述虚拟机软件老化度s如下公式所示:
s=ω1*wastagemem+ω2*wastageswap+ω3*wastagedisk (2)
其中,ω1、ω2、ω3为物理内存、虚拟内存和磁盘的平均利用率的性能损耗量的权重系数。
4.根据权利要求3所述的一种基于AdaBoost-Elman的虚拟机软件老化预测方法,其特征在于:所述步骤2.1.1的具体方法为:
步骤2.1.1.1:对提取的虚拟机业务并发量缺失点进行处理;
对于个别采样点缺失的情况,采用前一周期和后一周期业务并发量的平均值进行填补;
对于采样点缺失达到百分之九十以上的情况,舍弃全部采样并且将该段时间内业务并发量的值置为零;
步骤2.1.1.2:对于采集到的虚拟机业务并发量中存在异常波动的极大极小样本进行异常值调整;
步骤2.1.1.3:对从虚拟机日志数据库和虚拟机业务并发量日志库中提取到的业务并发量和CPU利用率数据进行数据间隔调整,对采集的数据以秒、分钟或小时为单位进行合并;
步骤2.1.1.4:采用最大最小值归一法将步骤2.1.1.3处理后的数据进行归一化。
5.根据权利要求4所述的一种基于AdaBoost-Elman的虚拟机软件老化预测方法,其特征在于:所述步骤2.1.2的具体方法为:
步骤2.1.2.1:设置Elman神经网络的层数为3;
步骤2.1.2.2:虚拟机支撑的业务数类型为n,设置Elman神经网络的输入节点数in为n+3,输出节点数out为3;
步骤2.1.2.3:采用柯尔莫哥洛夫定理得出Elman神经网络中隐藏节点数hide的范围,如下公式所示,然后逐一验证结果准确性;
其中,a∈(1,10);
步骤2.1.2.4:Elman神经网络输出层的传递函数采用ReLU线性整流函数或者Sigmod函数,隐藏层的传递函数采用Sigmod函数来对虚拟机的业务并发量和软件老化指标进行预测;
步骤2.1.2.5:将虚拟机的三类性能指标curmem(t)、curswap(t)、curdisk(t),虚拟机上业务并发量的预测值coni(t+1)和物理内存利用率、虚拟内存利用率以及磁盘利用率之间的影响因子σ1、σ2、σ3一同输入到Elman神经网络模型中;
步骤2.1.2.6:输出虚拟机的平均物理内存利用率、平均虚拟内存利用率以及平均磁盘利用率与业务并发量之间的非线性关系,如下公式所示:
curmem(t+1)=f′(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ1 (4a)
curswap(t+1)=g(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ2 (4b)
curdisk(t+1)=h(coni(t+1),curmem(t),curswap(t),curdisk(t))+σ3 (4c)
其中,f′()、g()、h()分别为表示平均物理内存利用率、平均虚拟内存利用率以及平均磁盘利用率与业务并发量之间的非线性关系函数。
6.根据权利要求5所述的一种基于AdaBoost-Elman的虚拟机软件老化预测方法,其特征在于:所述步骤2.1.3的具体方法为:
步骤2.1.3.1:输入训练样本集,初始化每个Elman神经网络预测器f(x)的参数和训练样本的权值及训练误差的阈值;
所述训练样本的权值及训练误差的阈值如下公式所示:
步骤2.1.3.2:设置平均误差率et为零,读取训练样本,训练第λ个Elman神经网络预测器fλ(x),进而合成强预测模型AdaBoost-Elman;
步骤2.1.3.6:计算权值调整因子,如下公式所示:
步骤2.1.3.7:更新每个训练样本的权重,具体为:
其中,Dt为第t次迭代样本权重的规范化因子;
步骤2.1.3.8:判断是否达到最大迭代次数;
若未达到最大迭代次数,继续迭代;
若达到最大迭代次数,输出AdaBoost-Elman模型,得到虚拟机软件老化指标预测模型g(x),如下公式所示:
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354685.2A CN110083518B (zh) | 2019-04-29 | 2019-04-29 | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 |
PCT/CN2019/090871 WO2020220437A1 (zh) | 2019-04-29 | 2019-06-12 | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910354685.2A CN110083518B (zh) | 2019-04-29 | 2019-04-29 | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083518A CN110083518A (zh) | 2019-08-02 |
CN110083518B true CN110083518B (zh) | 2021-11-16 |
Family
ID=67417651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910354685.2A Active CN110083518B (zh) | 2019-04-29 | 2019-04-29 | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110083518B (zh) |
WO (1) | WO2020220437A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627759B (zh) * | 2023-05-19 | 2024-02-27 | 北京神州安付科技股份有限公司 | 一种金融支付设备电路安全检测装置 |
CN116661954B (zh) * | 2023-07-21 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 虚拟机异常预测方法、装置、通信设备及存储介质 |
CN117271350A (zh) * | 2023-09-28 | 2023-12-22 | 江苏天好富兴数据技术有限公司 | 一种基于日志分析的软件质量评估系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010122709A1 (ja) * | 2009-04-23 | 2010-10-28 | 日本電気株式会社 | 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法 |
CN104951379A (zh) * | 2015-07-21 | 2015-09-30 | 国家计算机网络与信息安全管理中心 | 一种基于乘积季节模型的软件再生方法 |
CN106776288A (zh) * | 2016-11-25 | 2017-05-31 | 北京航空航天大学 | 一种基于Hadoop的分布式系统的健康度量方法 |
CN109408386A (zh) * | 2018-10-18 | 2019-03-01 | 中国电子科技集团公司第二十八研究所 | 一种软件老化流式监测系统及其监测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101377756B (zh) * | 2007-08-30 | 2011-04-27 | 联想(北京)有限公司 | 一种评估计算机系统老化的方法 |
JP6365543B2 (ja) * | 2013-08-12 | 2018-08-01 | 日本電気株式会社 | ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム |
-
2019
- 2019-04-29 CN CN201910354685.2A patent/CN110083518B/zh active Active
- 2019-06-12 WO PCT/CN2019/090871 patent/WO2020220437A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010122709A1 (ja) * | 2009-04-23 | 2010-10-28 | 日本電気株式会社 | 若化処理装置、若化処理システム、コンピュータプログラムおよびデータ処理方法 |
CN104951379A (zh) * | 2015-07-21 | 2015-09-30 | 国家计算机网络与信息安全管理中心 | 一种基于乘积季节模型的软件再生方法 |
CN106776288A (zh) * | 2016-11-25 | 2017-05-31 | 北京航空航天大学 | 一种基于Hadoop的分布式系统的健康度量方法 |
CN109408386A (zh) * | 2018-10-18 | 2019-03-01 | 中国电子科技集团公司第二十八研究所 | 一种软件老化流式监测系统及其监测方法 |
Non-Patent Citations (3)
Title |
---|
Software Aging in Virtualized Environments: Detection and Prediction;L. Cui, B. Li, J. Li, J. Hardy and L. Liu;《2012 IEEE 18th International Conference on Parallel and Distributed Systems》;20130117;全文 * |
基于Elman_AdaBoost强预测器的目标威胁评估模型及算法;王改革; 郭立红; 段红; 刘逻; 王鹤淇;《电子学报》;20120515;第40卷(第5期);全文 * |
基于人工神经网络的软件系统老化预测研究;渊岚;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170228;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020220437A1 (zh) | 2020-11-05 |
CN110083518A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5313990B2 (ja) | 応答時間に基づいてサービスリソース消費を推定すること | |
CN105550323B (zh) | 一种分布式数据库负载均衡预测方法和预测分析器 | |
CN110187990B (zh) | 一种基于模式转移的虚拟机混合备用动态可靠性评估方法 | |
CN110083518B (zh) | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 | |
WO2021174811A1 (zh) | 车流量时间序列的预测方法及预测装置 | |
WO2018166113A1 (zh) | 随机森林模型训练的方法、电子装置及存储介质 | |
CN112270545A (zh) | 基于迁移样本筛选的金融风险预测方法、装置和电子设备 | |
CN106803799B (zh) | 一种性能测试方法和装置 | |
JP2006024017A (ja) | コンピュータ資源のキャパシティを予測するためのシステム、方法およびプログラム | |
CN106776288B (zh) | 一种基于Hadoop的分布式系统的健康度量方法 | |
CN114297036B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN110413657B (zh) | 面向季节型非平稳并发量的平均响应时间评估方法 | |
Yu et al. | Integrating clustering and learning for improved workload prediction in the cloud | |
CN111369299A (zh) | 识别的方法、装置、设备及计算机可读存储介质 | |
CN111858265A (zh) | 一种存储系统的存储故障预测方法、系统及装置 | |
CN115221396A (zh) | 基于人工智能的信息推荐方法、装置及电子设备 | |
Incerto et al. | Moving horizon estimation of service demands in queuing networks | |
Sindhu et al. | Workload characterization and synthesis for cloud using generative stochastic processes | |
Adegboyega | Time-series models for cloud workload prediction: A comparison | |
CN116703466A (zh) | 基于改进灰狼算法的系统访问量预测方法及其相关设备 | |
WO2022022572A1 (en) | Calculating developer time during development process | |
CN112801156B (zh) | 用于人工智能机器学习的业务大数据采集方法及服务器 | |
CN111598390B (zh) | 服务器高可用性评估方法、装置、设备和可读存储介质 | |
CN113821419A (zh) | 一种基于svr和高斯函数的云服务器老化预测方法 | |
US11354475B2 (en) | Systems and methods for accurate voltage impact on integrated timing simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190802 Assignee: Shenyang Zhizhi Technology Co.,Ltd. Assignor: Northeastern University Contract record no.: X2023210000209 Denomination of invention: A Virtual Machine Software Aging Prediction Method Based on AdaBoost Elman Granted publication date: 20211116 License type: Common License Record date: 20231127 |