论文部分内容阅读
机群已经成为主流的并行计算机体系结构,但是随着机群系统规模的不断扩大,机群系统的可靠性却呈下降趋势.深入研究机群容错技术,提高机群系统的可靠性和可用性已经成为当前机群系统研究中的迫切任务.理想的机群容错技术应该继承机群的低成本、高性能、低开销、易扩展的特点,而现有的并行检查点等机群容错技术无法满足这一要求.
在回顾机群容错技术的现状和分析机群常见故障的特点的基础上,针对机群系统中的并行计算应用的需求,以降低检查点和恢复过程所带来的性能和存储开销,提高检查点和恢复过程的扩展性和灵活性为目标,本文提出了一种轻量级容错技术--故障时检查点,详细论述了其关键技术的原理,描述了其原型系统的设计和实现,并给出了其正确性测试和性能测试的实验结果.本文的主要工作和创新点体现在:
1.提出了基于远程直接内存访问技术的远程检查点机制.该技术利用远程直接内存访问的通信过程无需目标结点的CPU和操作系统参与的特点和机群高速通信系统的优异性能,在目标结点的操作系统拒绝服务等故障条件下能高效地切取应用状态.
2.设计并实现了用户级机群通信系统的检查点和恢复机制.该机制利用机群通信系统中的应答、重发和消息缓冲等通信可靠性保障机制,降低了并行检查点过程对维护通信系统全局一致性状态的要求,减少了进程的检查点和恢复过程的开销.
3.在用户机群通信系统的检查点和恢复机制的基础上,探索了机群通信协议如何对并行应用的故障时检查点和恢复操作提供支持,设计和实现了针对并行应用中单个进程的检查点的通信断点恢复机制.
4.设计并实现了支持故障时检查点的结点级容错机制,主要包括基于协处理器的结点故障检测技术和基于进程运行上下文切换的CPU寄存器状态保存技术,能够实现结点故障的快速检测并确保目标进程的状态在结点故障发生之后的完整性.
5.在以上技术的基础上,本文提出了故障时检查点和恢复的思想,并实现了其原型系统CTCKR.针对机群结点中的操作系统拒绝服务故障和性能故障,该技术实现了仅在故障被探测到之后,且仅针对故障结点中的进程,才执行检查点和恢复操作.该技术避免了以往的并行检查点系统需要定期、全局地执行检查点操作所带来的性能和存储开销,其开销与机群系统规模基本不相关,具有良好的可扩展性.
利用NPB、LINPACK等基准测试程序的评测实验表明,CTCKR在各项性能测试和基于故障注入的正确性测试中都很好地达到了设计目标,这充分表明故障时检查点是一种可行的轻量级机群容错技术.