高层体系结构中时间管理算法研究及改进
2013-09-29李宏伟孙黎阳
王 月,李宏伟,孙黎阳
(1.中国人民解放军65635部队,辽宁 锦州 121017;2.解放军理工大学工程兵工程学院,南京 210094;3.中国电子科技集团公司第二十八研究所,南京 210007)
1 概述
高层体系结构(High Level Architecture, HLA)[1]是美国国防部提出的关于分布式仿真的一个标准,其主要目的是实现各类仿真的互操作和重用。在典型的分布式仿真应用中,由于成员(Federate)方的计算量、处理器的计算速度及网络延迟等因素的影响,因此成员之间的消息传递存在不确定性,而消息的先后次序对整个仿真是非常重要的。
时间管理服务是 HLA的重要组成部分,其主要目的是保证成员能够按照正确的顺序接收消息,从而保证仿真的正确执行。HLA支持2类时间推进机制,即保守成员的时间推进机制和乐观成员的时间推进机制。
保守成员可采用TAR(Time Advance Request)、TARA(Time Advance Request Available)、NMR(Next Message Request)(IEEE 1516中的NMR/NMRA对应于 HLA1.3中的 NER/NERA)和 NMRA(Next Message Request Available)等 4种 HLA标准服务进行时间推进;乐观成员可采用FQR(Flush Queue Request)服务进行时间推进。时间管理服务是基于HLA标准实现 RTI(Runtime Infrastructure)软件的重点和难点,而GALT(Greatest Available Logical Time)(IEEE 1516中的 GALT相当于 HLA1.3中的 LBTS(Lower Bound Time Stamp))。IEEE 1516去掉了 LBTS,而增加GALT和LITS(Least Incoming Time Stamp)的计算问题则是 RTI中时间管理模块实现的关键。GALT是IEEE 1516标准提出的新概念,在此之前,GALT被称为LBTS。
本文遵循 IEEE1516标准,统一采用 GALT名称。GALT计算应该综合考虑各种时间推进方式,许多学者对此进行了卓有成效的研究,但考虑得不够全面。文献[2]对RTI中保守时间推进机制进行了分析,讨论了如何避免死锁,但主要针对死锁检测机制进行研究。文献[3]对HLA中保守和乐观时间推进机制进行了比较和分析,但未涉及死锁问题。文献[4-5]都对HLA中的时间管理进行研究,特别 是文献[5]对Lookahead为0时的情况进行了详细研究。……
