论文部分内容阅读
容错(fault tolerance)是分布式系统中一个富有挑战性的问题,也是当前大规模分布式仿真领域的一个研究热点。由于容错需要解决失效监控、状态保存与恢复及容错调度等一系列理论问题,同时,它又直接决定了分布式仿真系统的可靠性,因此,研究分布式仿真系统的容错具有重要的理论和实际意义。论文充分考虑了大规模分布式仿真系统的特殊性,结合网格的技术优势,对该类系统的容错需要解决的理论及工程实践问题进行了深入、系统的探索与研究。论文首先进行了分布式仿真容错系统(Distributed Simulation Fault-tolerant System,DS-FTS)的框架结构设计。分析了网格对解决分布式仿真系统中相关不足的意义,确立了基于网格技术实现DS-FTS的总体思路;分析了仿真系统容错的影响因素并引入了仿真系统全过程容错的思想;对仿真系统不同层次上可能发生的故障进行了分析并确定了DS-FTS的容错等级;对分布式仿真系统的容错设计模式进行了初步研究;分析了DS-FTS和仿真系统的相对关系,进行了DS-FTS的层次设计和功能结构设计,明确了DS-FTS需要解决的关键技术问题。失效探测是容错的前提,其性能受系统模型时间特性的影响。论文分析了大规模分布式仿真系统时间特性的特点,将不可靠失效探测器的思想引入到仿真系统的失效探测中,并在此基础上借鉴HLA仿真系统多联邦结构的特点提出了一种通用的、分布的层次式系统级失效探测算法Hi-UA-DSD。在该算法中,仿真节点被划分为多个分测试环,相应的失效探测分为环内失效探测和环间失效探测,前者基于UA-DSD算法,后者基于UA-DSD-Int算法。算法的正确性证明及评估结果表明,与其它算法相比,该算法具有更高的准确性、更小的网络开销、更低的诊断延迟和更好的可扩展性,可解决大规模分布式仿真系统的失效探测问题。此外,当系统规模相对较小时,可考虑用相对简单的UA-DSD算法替代Hi-UA-DSD。系统状态存储协议提供容错所需的系统状态数据。IEEE 1516-2000中提供了一种阻塞式的系统状态存储协议,这在实际使用时会给系统带来很大开销。根据对系统状态存储过程中仿真组件状态变化影响因素的分析,论文提出了一种非阻塞式的系统状态存储协议CICCP。该协议完整地解决了由于在系统状态存储期间允许时间推进导致所保存的RTI状态和对应成员状态时间上的不一致、由于成员问消息传递导致不同成员状态的不一致及in-transit消息问题。较原有协议,CICCP的开销大大降低。此外,为保证联邦恢复的一致性,对于一般HLA分布式仿真系统,论文提出了一种交叉时间推进的方法消除了零前瞻量对联邦恢复一致性的影响;对于分布式实时仿真系统,论文利用网络QoS(Quality of Service)技术对HLA的OMT(Obiect Model Template)及数据传输服务进行了局部扩展以保证网络的可重复性,从而最终保证联邦恢复的一致性。上述协议及解决方案可扩展用于解决其它类型的大规模分布式仿真系统的类似问题。不同的检查点文件存放策略的开销不同,而且上述失效探测及系统状态存储也会给系统带来开销。论文基于Markov链建立了分布式仿真系统的模型,以最大化系统的可用度为目标对上述问题进行了研究,给出了适用于分布式仿真系统的检查点文件存放策略及最佳心跳、检查点间隔的计算公式。该部分的研究是对前两部分研究的补充。容错调度算法是容错的最终体现,失效监控及系统状态存储都为容错调度服务。本部分首先基于ICM(Imprecise Computation Model)的思想,提出了一个容错调度算法框架ICM-FTSA。然后根据两种容错模型,提出了两类异构分布式仿真系统的容错调度算法:①提出了CSP-RTFT算法并进行了仿真评估,该算法基于一种改进的空闲处理机模型(Checkpoint-based Spare Processor,CSP)进行容错;②提出并分析了两个基于PB(Primary-Backup)模型的容错调度算法MW-RTFT和RC-RTFT:MW-RTFT基于最小最坏反应时间(Worst Case Response Time,WCRT)启发式规则进行主版本任务的调度,RC-RTFT则综合利用了最小可靠性代价及最小WCRT两种启发式规则进行主版本任务的调度;两个算法中副版本任务的调度都是基于最小WCRT启发式规则。两类算法可以满足不同情况下大规模分布式仿真系统的容错调度需求,并且都可以嵌入到ICM-FTSA中以产生更为灵活的算法。在工程实践方面,论文根据所设计的DS-FTS的框架结构,结合上述理论研究成果,分别实现了DS-FTS的失效探测模块、系统状态保存与恢复模块及容错调度模块。在具体应用方面,基于仿真系统全过程容错的思想对某HLA对抗仿真系统进行了重新设计、开发,并将DS-FTS用于为该仿真系统提供容错运行支撑。结果表明综合利用仿真系统全过程容错的思想及DS-FTS可基本解决分布式仿真系统的容错问题。