节点文献
低开销的回卷恢复容错技术研究
The Research on Low-overhead Rollback Recovery Fault-Tolerance Technology
【作者】 杨金民;
【导师】 张大方;
【作者基本信息】 湖南大学 , 计算机应用技术, 2005, 博士
【摘要】 互联网、PC机和Windows操作系统现已非常普及。构建在这种平台上的应用系统,其可用性是一个备受关注的问题。作为一种低成本的容错策略,回卷恢复技术对该类大众化的应用系统是一种首选的容错解决方法。不过就该类应用而言,回卷恢复技术有待进一步研究,其中关键问题是回卷恢复的实现问题和回卷恢复的开销。本论文的目标是:研究实现回卷恢复系统的策略和方法,探讨提高回卷恢复系统性能的途径,评估回卷恢复协议性能,提出新的回卷恢复策略,为回卷恢复技术的应用提供基础和支持。本文研究了多线程进程检查点用户级实现问题,提出了基于虚拟对象的检查点实现策略。基于虚拟对象的检查点实现策略不仅简化了检查点系统中的一些复杂问题,而且克服了原有检查点实现中的一些局限性。在基于虚拟对象的检查点实现,我们提出了虚拟对象的包裹成员函数原子方式执行的必要性,并给出了原子方式执行的一种实现方法。本文也研究了分布式系统回卷恢复的实现问题,提出了多线程化的回卷恢复统一框架。回卷恢复协议多种多样,我们通过分析它们间存在的共性,归纳出了一个基于事件驱动的回卷恢复统一框架。我们研究了进程中发送消息,接收消息,处理消息(计算),消息日志和检查点并发执行的可行性,并采用多线程技术实现了4种进程工作负载的并发执行。检查点完成时间是协同检查点协议一个重要性能指标。减少检查点完成时间既可降低协议的开销率,又可降低输出提交延迟。本文分析影响检查点完成时间的因素,探讨降低检查点完成时间的途径,提出了一种基于多线程模式的阻塞式协同检查点协议。在具体应用中,参与计算的主机,其故障率可能不相同,回卷开销可能不相同,回卷的允许度可能不相同。在满足系统要求的情况下,降低回卷恢复开销是一个重要问题。我们提出一种基于分块消息日志的回卷恢复协议,建立其性能模型,探讨协议开销率与协议参数和系统特性参数之间的关系。分块消息日志方法是一种可配置的一般化方法,悲观消息日志方法和协同检查点方法是其两个特例。理论分析结果表明,协议配置参数具有可优化特性,采用分块消息日志策略能够优化协议性能。我们针对协议的可扩展性,提出了限定回卷恢复范围的概念。为了在实现限定回卷范围的同时,使回卷恢复具有低开销特性,我们对分布式系统进行划分,提出了基于代理的消息日志协议,不同范围的低开销的回卷恢复容错技术研究消息传递使用不同的日志协议,克服了性能瓶颈问题。 基于本文所提的基于虚拟对象的检查点实现策略和多线程化的回卷恢复统一框架,我们在WindowS平台上开发了一个回卷恢复试验平台。我们采用标准性能检测程序进行回卷恢复试验。实现结果表明,多线程化进程工作负载不仅提高了程序的执行效率,而且显著地降低了回卷恢复系统的无故障时开销。我们相信,在系统无故障开销显著降低之后,可配置的分块消息日志协议(协同检查点协议和悲观消息日志协议的组合)会得到更加广泛的应用。关键词:软件容错;回卷恢复;检查点;消息日志;容错开销
【Abstract】 Nowadays Internet, Desktop PC and Windows operating system are almost pervasive in every office, family and laboratory, with numerious application running on such a platform. For such a ubiquitous computing, fault-toleranc becomes highly desirable. Furthermore, many of them require that fault- tolerance should be provided with low overhead in terms of hardware/software resources. Rollback recovery seems meeting this demand quite well, providing an attractive low-overhead solution to building fault-tolerance application. However, such applications also bring some challenges to rollback recovery, in which the inplementation of rollback recovery and decrease of the overhead call for further study. The dissertation aims at reasonable implementation, approaches to decreasing low overhead, evaluation to performance and new rollback recovery protocols with favorite properities, providing support and basis for the use of rollback recovery.We address the problems in user-level implementation of checkpointing for multithreaded process, introducing the implementation strategy based on virtual object. The strategy not only simplifies some inherent issues in checkpointing, but also overcome some limitations in the existing checkpoint systems. In our scheme based on virtual object, the necessity of atomic operation of wrapped member fuctions of virtual object is manifestly introduced. We also present an approach to atomic operation of wrapped member fuctions.We also address the problems in implementation of rollback recovery in distributed systems, introducing a multithreading unified rollback recovery framework for various rollback recovery protocols. In spite of the diversity of protocols, afer closely examining them, we extract a set of common basic components involved in various protocols. We set up buffers to enable simultaneous execution of sending message, receiving message, computing, logging message and checkpointing in a process. Multithreading is used to achieve simultaneous execution of 4 workloads in a process.In coordinated checkpointing, checkpoint time is an important performance metrics. Short checkpoint time can result in low overall overhead ratio and fast output commit. After analyzing the factors influcencing the checkpint time and studying the approachs to reduce checkpoint time, we propose a new coordinate checkpointing protocol base on multithreading mode, with shorter checkpoint time compared to the existing protocols.In distributed systems, it is possible that various hosts hold different fault ratio, rollback overhead and the degree of permission to rollback. It is desirable that rollback recovery cannot only meet the specific demands but also hold the feature of low overhead. We develop a rollback recovery scheme based on partitioned message logging, establish its performance model, and evaluate its average overhead ratio. Our scheme being a configurable general rollback recovery approach, its two end points correspond to conventional pessimistic message logging and coordinated checkpointing, respectively. Theoretical results show that protocol overhead ratio can be reduced by right configuration parameters fitting into system characteristics. Our scheme can optimize protocol performance. Considering the scalability of rollback recovery, we introduce the conception of bounding the scope of rollback. In order to achieve local recovery and low overhead, we introduce a three-layer model of large distributed system in WAN environment, and present a protocol of message dependency tracking based on proxy.According to checkpoint implementation strategy based on virtual object and multithreading unified rollback recoveryframework, we develop a testded for rollback recovery on Windows operating system. We run performance benchmarks on our testbed. It is observed that multithreading is an effective approach to decrease significantly the overhead of checkpointing and logging message. We think that, after achieveing low overheads by multithreading, configurable coarse-grained pessimistic message logging protocol (i
【Key words】 Sofeware fault tolerance; Rollback Recovery; Checkpoint; Message logging; Overhead;