论文部分内容阅读
软件系统在长期不间断的运行过程中,会产生一系列能够导致软件性能下降的现象,例如系统内存泄露、舍入误差的积累、未释放的文件锁以及大量的存储空间碎片等,这种现象被称为软件老化。软件老化不仅存在于通用的Web服务器和其它服务器中,也存在于一些要求高可靠性、可用性的应用系统中。无论是在商用领域或是军事领域,软件老化都可能会造成巨大的经济损失甚至人员的伤亡。因此,预测出软件老化的趋势,可以在软件失效之前及时采取相应的恢复策略,从而能够避免软件老化造成的损失。本文利用ARMA模型对软件老化趋势进行了预测,首先利用ARMA对使用的交换空间进行了预测;然后通过分析系统参数(空闲物理内存、使用的交换空间和响应时间)的关系,建立了多维的ARMA模型并对系统使用的交换空间进行了预测;其次,从用户的角度来看响应时间是影响系统性能的重要因素,而系统资源的消耗(平均负载、空闲物理内存、CPU利用率和可用交换空间)也影响着系统的性能,因此,提出了基于BP神经网络的软件性能评估模型(SPE,software performance evaluation),从而准确地对软件性能参数的变化趋势进行评估,并且在性能模型的基础上,应用强加权局部回归算法对软件的老化趋势进行了拐点识别;最后,利用加权马尔科夫链结合模糊论的综合评判理论,对反映软件老化情况的资源参数的变化趋势进行了短期预测。实验结果表明,ARMA模型和多维AR(multi-dimensionalAR,mAR)模型能够有效预测参数的变化趋势,通过SPE模型,可以对反映软件老化趋势的参数性能进行有效评估,加权马尔科夫链结合模糊综合评判理论在数据的短期预测方面的精确性很高,可以判断数据进入哪种状态。