论文部分内容阅读
互联网、PC机和Windows操作系统现已非常普及。构建在这种平台上的应用系统,其可用性是一个备受关注的问题。作为一种低成本的容错策略,回卷恢复技术对该类大众化的应用系统是一种首选的容错解决方法。不过就该类应用而言,回卷恢复技术有待进一步研究,其中关键问题是回卷恢复的实现问题和回卷恢复的开销。本论文的目标是:研究实现回卷恢复系统的策略和方法,探讨提高回卷恢复系统性能的途径,评估回卷恢复协议性能,提出新的回卷恢复策略,为回卷恢复技术的应用提供基础和支持。本文研究了多线程进程检查点用户级实现问题,提出了基于虚拟对象的检查点实现策略。基于虚拟对象的检查点实现策略不仅简化了检查点系统中的一些复杂问题,而且克服了原有检查点实现中的一些局限性。在基于虚拟对象的检查点实现,我们提出了虚拟对象的包裹成员函数原子方式执行的必要性,并给出了原子方式执行的一种实现方法。本文也研究了分布式系统回卷恢复的实现问题,提出了多线程化的回卷恢复统一框架。回卷恢复协议多种多样,我们通过分析它们间存在的共性,归纳出了一个基于事件驱动的回卷恢复统一框架。我们研究了进程中发送消息,接收消息,处理消息(计算),消息日志和检查点并发执行的可行性,并采用多线程技术实现了4种进程工作负载的并发执行。检查点完成时间是协同检查点协议一个重要性能指标。减少检查点完成时间既可降低协议的开销率,又可降低输出提交延迟。本文分析影响检查点完成时间的因素,探讨降低检查点完成时间的途径,提出了一种基于多线程模式的阻塞式协同检查点协议。在具体应用中,参与计算的主机,其故障率可能不相同,回卷开销可能不相同,回卷的允许度可能不相同。在满足系统要求的情况下,降低回卷恢复开销是一个重要问题。我们提出一种基于分块消息日志的回卷恢复协议,建立其性能模型,探讨协议开销率与协议参数和系统特性参数之间的关系。分块消息日志方法是一种可配置的一般化方法,悲观消息日志方法和协同检查点方法是其两个特例。理论分析结果表明,协议配置参数具有可优化特性,采用分块消息日志策略能够优化协议性能。我们针对协议的可扩展性,提出了限定回卷恢复范围的概念。为了在实现限定回卷范围的同时,使回卷恢复具有低开销特性,我们对分布式系统进行划分,提出了基于代理的消息日志协议,不同范围的低开销的回卷恢复容错技术研究消息传递使用不同的日志协议,克服了性能瓶颈问题。 基于本文所提的基于虚拟对象的检查点实现策略和多线程化的回卷恢复统一框架,我们在WindowS平台上开发了一个回卷恢复试验平台。我们采用标准性能检测程序进行回卷恢复试验。实现结果表明,多线程化进程工作负载不仅提高了程序的执行效率,而且显著地降低了回卷恢复系统的无故障时开销。我们相信,在系统无故障开销显著降低之后,可配置的分块消息日志协议(协同检查点协议和悲观消息日志协议的组合)会得到更加广泛的应用。关键词:软件容错;回卷恢复;检查点;消息日志;容错开销