论文部分内容阅读
仿真一般指利用相似原理,通过一定的模型对目标对象进行模拟,以了解目标对象特性的方法。仿真系统自产生以来,经历了从SIMNET、DIS、ALSP到HLA的发展历程,并在国防、经济、社会领域得到广泛应用。随着目前仿真系统规模的扩大,仿真时间的延长,仿真系统的可靠性却没有增强,分布式仿真中任务的实时问题也没有解决,而仿真系统在国民经济中担任的重要角色亟待这些问题的解决。目前在流行的HLA和复杂系统仿真中,容错研究很少,而且基本上是沿用了分布式系统的容错方法,没有与仿真系统的特性结合起来,一定程度上影响仿真系统的执行效率。有研究对仿真系统做了实时扩展,但是方案一般建立在具体的仿真架构上,不具备通用性。论文针对分布式交互仿真中的容错和实时问题进行了具体研究。首先,从三种不同的容错手段对分布式仿真容错进行了研究:●Replica方法,Replica方法通过冗余多个副本,能够解决系统的Fail-stop和Byzantine错误,解决方案具有普适性。我们给出replica容错的系统框架,并采用Byzantine quorum系统实现对副本的读写和一致性操作,并对M-Grid系统的实用化进行数值分析;●检查点卷回的方法,检查点的方法一直是容错的传统方法。首先对检查点方法的概况进行介绍,比较各种检查点算法的特点,研究了乐观时间推进机制中动态检查点设置算法,在已有的自适应乐观检查点算法的相关研究基础上,提出异步检查点和强制检查点结合的方案,并且建立概率模型对强制检查点周期的优化设置进行分析,得出周期最优化的充要条件;●动态Passive-backup方法,Replica和检查点卷回的容错方式,要么需要较多的冗余资源,要么恢复过程较长,不能够满足仿真预测预警系统的实时性要求。为此结合因果记录和主副备份的方法,利用仿真中时序特性,提出一种新颖的动态备份容错方法,不需要附加消息、无错进程不需卷回,重复计算过程短,而且容错协议一定条件下可扩展为容忍f个并发错误,并解决单节点失效的问题。理论分析证明了恢复算法能够保证整个仿真系统的状态一致性,实验数据表明其与检查点算法相比无错运行代价小,恢复时间短。除仿真系统容错之外,论文对仿真系统实时加强进行了研究:●介绍了HLA仿真中邦元克隆技术的产生及目前发展,讨论了克隆技术与仿真分支的关系,提出利用博弈理论对仿真分支进行剪枝。在此基础之上,结合目前的HLA数据分发规则给出仿真系统的克隆和剪枝框架,使得剪枝与克隆技术实用化,实验结果证明剪枝能有效减少次要仿真分支,因此能够加速仿真进程,该方法适用于需要实时获得结果的仿真预报系统。●实时系统的调度算法需要考虑实时和容错两个方面,目前主副备份的方法是实时调度的主要途径,副版本作为一种资源冗余的手段,容错的同时占用了相当多的系统资源,为了最大挖掘系统的计算资源潜力,减轻副本对系统任务接收率的影响,本文结合副本重载与主副重载的技术,提出重载度的概念,通过对实时任务重载度的计算和分析,给出基于重载度,以最小时间片占有率为启发函数的实时容错调度算法。实验结果表明,与原有单一重载方法相比,启发式算法有着较好的性能提升。算法的复杂度为O(nm~2),可以广泛应用于系统的实时和容错调度。●为了提高系统在网络延迟和网络分区情况下的实时及容错特性,针对连续状态和离散状态系统使用Hermite插值和马尔科夫随机状态转移矩阵来预测数据,从而减少网络异常对仿真系统的影响,在连续系统,小步长的情况下实验证明是有效的。