论文部分内容阅读
计算机网络技术的迅猛发展,分布式系统应用的不断拓展,分布式应用对高可靠性和可用性的要求越来越迫切。一个高可用性的系统要求在任何情况下服务不会被中断并且能够提供正确的服务,因此,分布式系统的容错问题是目前分布式系统研究的热点和难点,同时也是一个富有挑战性的课题。由于分布式系统在地理区域分布的广泛性,使得整个系统无法获得一个统一的时钟,而这又是直接影响分布式系统性能的关键因素,这就给分布式系统的容错问题带来了巨大的挑战。本文以2008年申请的山东省自然科学基金项目为背景,以分布式系统容错检查点算法作为出发点,针对丰富的检查点设置策略和提高资源利用率和系统效率为目的,对分布式系统容错问题和检查点算法进行了深入的探索和研究。本文研究了分布式系统容错检查点的设置和恢复算法,容错检查点间隔设置的理论,方法和技术,探索将所研究的分布式容错检查点算法与实际的分布式容错软件相结合,提高分布式系统的可用性和算法的实用性,本文主要完成了如下工作:1.构造分布容错系统的层次结构模型并列举了该模型的主要特点,容错的概念和相关的定理,分析了分布式系统性能特性,并结合该性能提出分布式系统进程模型。根据进程通信模型进一步指出,分布式容错系统由于时钟自适应特性而出现的检查点通信问题,如孤儿报文、中途消息等。提出了如何消除这些非全局一致的检查点状态的条件和定理,给出了评价检查点算法性能优劣的指标,即算法的时间开销和空间开销。2.根据分布式容错检查点算法的原理,分析了同步检查点算法的设置,异步检查点设置和消息日志检查点算法的各自特点,深入理解了影响检查点算法性能的瓶颈因素,即算法设计较复杂,实用性较差,时空开销较大,对分布式系统性能的影响大。在此基础上,参与研究了一种改进的分布式容错检查的算法,矩阵一致检查点算法,该算法从容错的基本要素即进程间通信出发,以进程间通信的数目作为设计算法的核心思想,降低了算法的时空开销,提高了系统的整体性能,经演绎推理证明和实验验证,该检查点算法简洁有效。3.通过研究检查点算法的性能瓶颈,我们发现检查点间隔的设置和选取对于检查点算法的性能同样产生着重要的影响。在检查点间隔的设置算法中,尽量减少检查点机制所产生的时空开销对提高计算效率具有重要意义。本文在已有的动态检查点间隔设置的基础上,提出了一种新的动态检查点间隔的设置方法一随机时间序列分析方法的Markov动态检查点间隔设置,该算法既可以减少回滚重复计算时间,又可以降低检查点保存进程状态所需的存储空间。经Spin仿真实验结果表明,该动态检查点间隔算法与固定检查点算法和一般的动态检查点算法相比,平均检查点间隔开销率R(t)比传统方法平均减少1.019%。4.分布式容错软件平台的设计技术。由于分布式系统的跨平台特性,本文分别设计了Windows和Linux操作系统平台下的容错软件模块的设计方式,前者主要采用了Detour Windows API技术,通过在系统的进程中插入具有容错功能的线程来实现在Windows系统下的容错功能,并能根据保存的文件进行容错的恢复。后者主要采用了Linux LKM模块技术,在Linux内核中插入一个具有容错功能的LKM模块,进行Linux系统下检查点设置和容错恢复,该容错软件为分布式系统的可用性提供了有效的支持,具有一定的实际应用价值。