论文部分内容阅读
计算系统正在变得越来越复杂,许多已知和未知的软件缺陷无法避免,由其引发的软件老化现象成为我们不得不接受和面对的事实,因此,必须对软件抗衰技术进行探索和研究,尽可能地降低计算系统性能衰退和意外失效所导致的损失。本文阐述了软件抗衰技术的研究背景和研究现状,并对其目前面临的一些问题进行了分析,针对这些问题在四个方面展开研究,包括新型的单级软件抗衰策略、细粒度软件抗衰策略、细粒度重启技术、细粒度软件抗衰策略的建模与分析技术,完成的主要工作和取得的研究成果如下: (1) 针对现有软件抗衰策略不够完善的问题,提出了两种新的策略:基于时间与检测的软件抗衰策略和基于特定失效概率的软件抗衰策略,并采用半马尔可夫过程对这两种策略所导致的系统可用性和抗衰成本进行分析,与两种基本策略进行了比较。这些基础性研究考虑了多种可能的实际需求,完善了策略分类,并且为下一步实施细粒度的抗衰提供了必要的支持,在一定条件下,它们可以进一步减少停机时间,降低抗衰成本,提高系统可靠性。 (2) 针对现有的软件抗衰策略的抗衰粒度较为粗糙的问题,提出了根据计算系统的性能衰退规律制定细粒度软件抗衰策略的一般思路。通过监控系统资源的使用情况,采用小波技术对采样数据进行处理,确定了系统性能的检测指标及其反映的性能衰退规律,进而确定了抗衰粒度,建立了重启链,并说明了各级重启对象间的嵌套重启关系。 (3) 对细粒度重启技术进行了深入研究,用以保证各级重启对象的安全重启。根据软件工程的相关理论,分析软件的体系结构和各个模块间的数据访问关系,给出了模块间关系的形式化表示,通过搜索两模块间的可达路径,求得了任意两个模块的重启相关性,并据此定义了模块的重启群,建立了计算系统的重启树,为制定和实施细粒度软件抗衰策略提供支持。 (4) 建立了细粒度软件抗衰策略的形式化模型,给出了模型的求解方法。为了更清晰地描述细粒度软件抗衰策略,论文综合采用Petri网和有限状态自动机为其建立形式化模型,用Petri网表示各次重启的动态行为细节,用自动机控制策略的抗衰粒度、重启级别和执行周期,最终得到的策略模型比较简单,且易于理解。考虑到细粒度软件抗衰策略具有相同的恢复子过程,只是各子过程的性能参数不同,论文首先对各个子过程采用半马尔可夫过程求解,再进行统计求和来