论文部分内容阅读
为避免软件老化带来的消极影响,贝尔实验室的研究人员提出了称为软件Rejuvenation的主动性软件容错策略,即每隔一段时间,主动停止程序运行,清理程序的内部环境,使重启后的软件进入一个正常的初始状态.目前,国外很多科研机构都致力于软件Rejuvenation技术的研究,部分的研究成果已应用于实际系统中.该文以存在老化现象的软件系统为研究目标,对基于Rejuvenation策略的软件可靠性技术进行了研究.Rejuvenation作为一种主动性、预防性的容错策略,并不能代替传统的被动容错策略,这一策略和传统策略的结合是一个有效的方法.该文提出了Rejuvenation和检查点相结合的策略以改善软件系统的性能.文中把定时Rejuvenation和定时检查点技术结合起来,在Rejuvenation周期间插入适当数目的检查点,用随机回报网建立了三种情况下的系统模型:基本系统、单独采用Rejuvenation技术的系统、结合Rejuvenation和检查点的系统.通过分析不同参数配置下系统平均停机成本这一指标的变化规律,得到了合理的检查点和Rejuvenation策略.关于Rejuvenation的大部分文献都是针对长期连续运行的软件,例如网络服务器等;该文采用"面向任务"的观点,以执行时间有限的单任务程序为研究对象,在程序运行过程中插入适当数目的Rejuvenation,以减小程序的执行时间.文中利用随机过程理论,给出了程序执行时间的均值和方差的解析解,通过数值计算得到兼顾期望和方差的Rejuvenation优化策略.机群系统由于能提供硬件/软件冗余、屏蔽单点失效,而且具有理想的性能价格比,已经成为提供高可靠性网络服务的有效结构.该文以分配器/服务器架构的机群系统为研究目标,采用Rejuvenation策略分别提高分配器、服务器这两类实体的可用性,进而达到提高整个机群系统性能的目的.实验结果表明,采用定时Rejuvenation策略时,当前端的分配器和后端的服务器都选择合适的Rejuvenation时间间隔,可以有效的减少机群系统总的停机成本.该文以应用广泛的Apache网络服务器软件为研究目标,用不同连接率的负载对服务器进行了长期的测试.文中首先通过对响应时间、剩余内存等指标的分析验证了软件老化现象的存在,并且分析了不同的负载对资源损耗情况的影响.然后,该文采用神经网络和遗传算法相结合的方法研究系统资源的使用情况,根据历史数据对资源的使用进行建模,预测资源在未来时刻的使用情况.实验结果表明,遗传神经网络方法可以有效的预测资源的使用情况.基于Rejuvenation策略的软件可靠性研究是可靠性研究领域的一个新兴课题,对软件老化现象的建模以及Rejuvenation时机的选取都需要进一步研究和改进,该文在最后提出了几个可行的研究方向.