论文部分内容阅读
高可靠容错计算机的成本、可实现性和可扩展性问题一直是困扰其开发和广泛使用的主要问题,而利用商用计算机成熟硬软件技术和资源(COTS技术)实现容错计算系统,拥有传统专用容错设计没有的许多优点,成为了容错技术研究热点。但在当前以COTS技术为基础的软件和软硬件协同实现的容错计算系统中,如何实现容错功能的透明性和提高故障检测、诊断、恢复的效率,减少对系统正常工作的影响一直是研究的重点和难点问题;另外,目前使用广泛的基于卷回的故障恢复机制存在一些先天不足,必须加以克服。基于此,本文在对目前国内外一些容错计算系统的实现原理和集群技术进行深入研究后,提出了利用COTS技术、容错和集群思想,实现容错集群服务器的结构模型,以满足一些领域对服务器高可靠、高可用及高性能的要求。研究并实现了一种基于PC/Linux平台下结合容错技术和集群技术优点的OPIAC容错集群服务器系统,对其故障发生情形进行了分析研究,重点研究了它的故障恢复模型和策略、检查点实现技术,并对系统性能进行了评估。首先,对几种具有典型代表性的容错计算系统体系结构进行了分析,对当前容错系统设计中使用的故障恢复机制、方法,检查点技术实现原理进行了研究,分析了影响检查点系统开销的关键因素、检查点技术的演化趋势及基于检查点技术实现COTS智能容错计算和故障恢复存在的困难及目前需要解决的一些主要技术问题。其次,研究了在有备份模块和无备份模块的TMR容错结构中故障发生及故障恢复的各种情形,定量分析、比较了两种容错体系结构下使用的故障恢复算法的效率;根据实时应用系统对实时任务(进程)运行时间的限制,研究了检查点设置间隔(两次进程状态保存之间的时间)对进程正常运行的影响,给出了一种满足实时应用需求的动态保存进程状态的检查点设置策略。为进一步提高故障恢复效率,提出了智能容错系统的透明、并行故障恢复算法—阶梯型算法。第三,提出了一种基于COTS技术、结合容错技术和集群技术构造高可靠和高性能容错服务器的思想,并据此基于PC/Linux系统平台,设计实现了一个集成了容错机高可靠性、高可用性和集群系统高性能的OPIAC容错集群服务器。通过对Linux内核的改造和扩充,采用具有自主处理能力的容错管理模块完成系统容错功能,实现了容错功能对应用的透明,一方面对在OPIAC容错集群服务器上运行的应用程序的编写和运行没有任何限制和附加要求;另一方面对与服务器通信的客户端应用来说,感觉不到服务器内部的故障检测、诊断和恢复及服务进程在内部节点间的迁移过程,并且不影响新的网络连接的建立。详细描述了实际实现中进行故障恢复时,为了有效减少故障恢复时间,提高容错服务器执行效率采用的多种措施。通过设计虚拟设备驱动层、设备资源管理层和内核服务仿真层,并将其与基于日志的故障恢复算法配合使用,克服了基于检查点的传统卷回恢复技术在I/O恢复方面存在的不足。最后,详细介绍了在Linux操作系统中如何实现对进程状态的保存和恢复。