基于乐观策略的雷达对抗的并行仿真研究
2018-03-14赵忠文吕雅帅郭皇皇
于 尧,赵忠文,吕雅帅,郭皇皇
(航天工程大学 复杂电子系统仿真实验室, 北京 101416)
雷达对抗仿真属于分析仿真,一般需要对系统快速准确的评估,或对不确定性因素进行探索,以便让决策者或研究者从众多方案中快速选择最佳策略,因此对仿真效率的要求越来越高。随着雷达对抗系统装备间交互的规模越来越大,该问题越来越凸显,现有文献中,在对雷达对抗的小规模系统进行分析仿真时,仍采用基于HLA[1-6]分布式仿真技术以及时间步进机制,由于该架构中联邦成员内的实体仍然是串行运行,同步和通信问题的仿真开销影响较大,极大影响了仿真效率,因此为提高仿真效率,必须抛开这种仿真架构,采用适合高性能计算机计算的并行离散事件仿真 (Parallel Discrete Event Simulation,PDES)技术[7-13]。
随着高性能计算机技术的发展,近年来国内一些院校对并行离散事件仿真技术展开了研究,其中以国防科大[10-13]的银河舒跑并行仿真引擎最为著名,而且在很多领域取得了很好的效果,但该引擎作为一种通用型的仿真引擎,目的是适应更多类型的仿真应用,一些机制的选择并没有结合雷达对抗的特点进行选择,乐观协议内的很多算法都有各自适用的场景,单纯从通用性并不能发挥出它最大作用。
因此本文分析了并行离散事件的乐观策略在雷达对抗仿真中的特征,根据雷达对抗仿真的特征进行了乐观策略的适配及优化,并借鉴参考了国外著名的面向事件的离散事件仿真引擎GTW和ROSS的相关论文及相关代码,设计了乐观策略的运行流程及数据结构,并基于ROSS引擎验证了其有效性。
1 乐观策略的理论基础
在乐观策略中,当逻辑进程不能确定其它逻辑进程发送的未处理事件消息是否会引起因果关系错误时,“乐观”的假定不会发生因果关系错误,继续事件的计算,当发生了因果关系错误时,能够通过一定的机制恢复正确的计算,该策略主要由本地控制机制和全局控制机制两部分组成。
1) 本地控制机制
本地控制机制是由系统中各个独立的处理器执行的,本地控制机制能够使得并行仿真计算与串行仿真计算得到相同的结果,当多个处理器及逻辑进程在执行事件计算发生因果关系错误时,该机制用来解决将错误的计算还原到一个正确的状态,然后再继续事件计算。每个处理器由若干个逻辑进程组成,每个逻辑进程可看成是一个串行仿真,也就是说每个逻辑进程都包括一个“事件列表”的数据结构,该列表用来存储该逻辑进程上所有已调度但尚未处理的事件。为保证在发生因果关系错误时能够回退到原来正确的状态,事件队列按照时戳的大小逐个处理事件后,并不从队列中立即删除,而是暂时保存在队列当中,当发生回退时(例如掉队事件到来),这些已处理事件必须按照新的时戳次序再次被处理。因此回退需要进行两步操作:(a)消息回收,撤销大于错误事件时戳的所有事件消息;(b)恢复状态变量,将错误计算而修改的状态变量恢复为先前某时戳正确的状态变量。
2) 全局控制机制
全局控制机制,涉及到系统中的所有处理器,它是为本地机制提供需要内存的机制,由于本地机制可能产生回退,需要保留大量的消息、反消息及状态变量,这会占用大量的内存,因此需要全局虚拟时间(Global Virtual Time,GVT)计算和化石回收,需两步操作:(a)为了保证小于仿真时间T的已处理事件所保存状态变量的内存可以回收,确定一个回退操作的时戳下限,这个下限称为全局虚拟时间(Global Virtual Time,GVT),即需要进行GVT计算。(b)只有时戳值严格小于GVT值的消息或状态变量才能释放其所占用的内存,即化石回收。
2 面向雷达对抗仿真乐观策略的优化与设计
本节首先从雷达对抗仿真的特点入手,分析乐观策略在雷达对抗中的特征,明确乐观策略如何与雷达对抗的特点进行结合以及需要从哪些地方进行优化,同时借鉴了国外著名的面向事件的离散事件仿真引擎GTW和ROSS的相关论文及其代码,然后设计了乐观策略的运行流程及支持该策略的数据结构。
2.1 乐观策略在雷达对抗仿真中的特征分析
雷达对抗仿真系统是以研究特定作战任务为仿真目标,具有仿真实体繁多、交互关系复杂等特点。由于雷达对抗仿真属于任务级仿真,体系对抗条件下,仿真效果更多地取决于装备的典型作战能力,因此仿真不需要实现装备内部具体处理机制,采用仿真粒度较低的功能仿真即可达到仿真要求。在雷达对抗仿真中,模型交互具有较强的因果关系,例如雷达侦察的信息一定会传输给决策模型,然后由决策模型再传输给干扰或武器打击模型,而且有严格的先后次序,因此雷达对抗仿真呈现交互事件数量规模大、事件仿真粒度低,事件的因果关系较强且要求严格等特点。针对上述雷达对抗的特点,乐观策略在并行仿真中体现为以下5个特征。
1) 大规模事件造成较大开销
在仿真中由于模型的频繁交互,将会产生大量的事件需要处理,同时还需要及时的化石回收,由于处理事件需要进行队列检查,这种频繁的检查将会造成较大的开销。
2) 内存需求比较大
由于仿真交互事件数量规模大,意味着系统将储存更多的状态变量,而事件的仿真粒度低将使得事件被更快地处理,这对于提高仿真效率自然是好事,但由于事件在LP上的处理过快,使得系统在每一次事件处理后都需要存储状态变量以及事件的消息和反消息,以便仿真在发生因果关系错误时能够回滚,因此内存的需求将会比较大。
3) 频繁的GVT计算
由于内存需求比较大,为得到足够的内存需要频繁的进行化石回收,因此GVT的计算将会很频繁,频繁的GVT计算本身也增加系统的开销。
4) “狗咬尾巴”现象
在雷达对抗装备模型紧密交互的情况下,乐观的执行会使得更多错误计算和正确计算交织在一块,由于每个事件的计算量相对小,如果出现错误计算,将会加快错误计算的传播速度,很容易出现“狗咬尾巴”现象,即错误传播速度大于撤销错误的速度。
5) LP过度乐观
乐观策略对 LP 的推进没有太多的限制,系统仿真可能会因为LP过度推进,导致各LP的局部仿真时钟差异过大问题,即LP过度乐观。在雷达对抗作战应用设计中,需要根据不同的应用场景进行相应的并行设计,如果设计不当或在并行度较低的情况下,很可能会出现LP过度乐观,这很可能会发生在两次GVT计算期间,由于其他LP的过度乐观处理,耗尽了所有内存,导致GVT永远无法推进,不能通过化石回收进行内存回收,而剩余内存不足以满足基本的串行仿真,导致仿真无法继续执行,这将给应用开发人员带来极大的困难。
2.2 乐观策略的适用性分析及优化
乐观策略的算法需要根据其在雷达对抗中的特征进行适配性分析,挑选适合雷达对抗仿真特征的算法,对于选择的算法仿真中可能存在的问题进行了相应的优化。
1) 反向计算的适配
本地控制机制中的恢复状态变量可采用反向计算的方法,状态保存将会导致大量内存被占用,而反向计算的实质是增加计算开销换取内存性能,该方法对于内存的占用比较小。随着现有新兴的硬件处理器速度和内存/存储速度之间的差异越来越大,反向计算的计算速度将快于内存访问,因此在某些应用中反向计算的效率很高。但该方法需要仿真模型容易反向操作,否则其计算性能比状态保存效果要差得多。
但在雷达对抗仿真中这将是容易克服的,反向计算是正向计算的逆过程,这里的正向计算并不是模型的所有计算,而只是使状态改变的计算,在雷达对抗仿真中,会涉及到很多数学模型计算,但这些数学模型并不需要反向计算,只有涉及到状态变量的改变才需要进行反向计算。进行反向计算需要注意两点:(a)状态变量才需要反向计算,(b)需要记录条件分叉点。
(a)状态变量的反向计算
在仿真中,不同事件的到来将会执行不同的模型,而产生结果如果需要记录则为状态变量。如果直接将产生结果以事件的形式发出并不记录,那么该结果就不为状态变量,因为随着事件被取消,该结果对系统将不产生任何影响。
(b)条件分叉点
雷达对抗仿真中多采用蒙特卡洛法,需要现根据数学模型计算出识别概率或命中概率等,然后生成随机数判断是否成功,这个判断的过程可认为是反向计算中的条件分叉点。
在雷达侦察时,雷达负责计算可侦察的范围及在该范围内不同位置处的识别概率,然后根据蒙特卡罗法确定能否识别,然后将识别的结果发送给干扰决策模型。在发生事件回退时,这里涉及到的计算都不需要进行状态回滚,因为没有状态变量的改变。干扰决策模型在接收到侦察事件后,需要对目标进行型号匹配产生识别概率,然后判断是否识别,若识别则分配合适的干扰资源进行干扰。这里发生状态变量改变的地方只有干扰资源的减少,即干扰资源数-1,因此反向计算为干扰资源数+1,这个识别判断就是条件分叉点的位置。
由于反向计算只需记录最后的状态点以及条件分叉点的信息,大大减少了内存资源的占用,也省去很多为保证LP过度乐观的内存管理协议,从而减少系统的开销。而且这种计算极其简单,比起状态保存,反向计算的优势极其明显。
2) 反消息机制优化
消息回收一般采用反消息机制,针对可能出现的“狗咬尾巴”现象,需要进行优化处理,以加快反消息机制运行,从而减少错误的传播。这里可以引入直接撤销的方法,可以加快具有因果关系的错误消息的撤销速度,这需要利用消息指针来进行操作。在雷达对抗仿真中,当模型(LP)计算产生并向其他模型发送了新事件时,新事件的指针将被保留在该事件的数据结构中。每个事件包含着一定数量的指针变量,一般称为因果关系指针,调度事件被保存在链接列表,这在模型存在紧密关系的处理将是有效的。例如雷达侦察模型产生的事件一定会调度决策模型产生决策事件,然后传递给武器打击模型,生成袭击事件,这个过程就可以使用直接撤销。很显然侦察模型的侦察事件会调度决策事件和袭击事件,此时若需要将侦察事件回退,决策事件和袭击事件将直接插入取消队列中以撤销他们,从而加快了事件消息的撤销速度。但如果模型(LP)存储在其他处理器时,需要处理器的指针能够指向其他处理器的数据,因此该技术需要在共享内存机制下实现。
3) 事件处理的优化
为减少大规模事件造成较大开销,可通过事件批处理方法解决,将每处理一个事件前检查队列,变为每处理B个事件前检查取消队列和消息队列,如果需要处理的事件没有B个,则将现有的事件处理后再进行两个队列检查。但这种做法会延迟消息和反消息到达,可能会引起过多错误发生,因此B的值设置不宜过大。这种批处理方法将队列检查开销分到多个事件处理中去,减少了大规模事件带来的开销。
4) 异步GVT计算的适配及优化
同步GVT计算和异步GVT计算分别基于消息确认机制和共享内存机制两种,而频繁的GVT计算会使得消息确认机制的内存变得紧张,大大降低并行仿真效率,而共享内存机制在这方面显示出它的优势,它不需要消息确认机制同步及阻塞事件所带来的额外内存开销,GVT计算期间也不需要停止事件的执行,可以缓解仿真内存紧张的问题并且提高事件处理的效率。但在两次GVT计算期间,可能由于其他LP的过度乐观处理,耗尽了所有内存,导致GVT永远无法推进,不能通过化石回收进行内存回收,而剩余内存不足以满足基本的串行仿真,导致仿真无法继续执行,因此异步GVT计算需要对过度乐观问题进行优化。
在GVT计算中,需要中央控制器发送计算GVT的命令,并在所有处理器上报本地最小时戳后,中央控制器需要进行全局最小时戳的计算,并发送给其他所有处理器。为了防止某个处理器上的LP过度乐观进行导致内存不足,可通过不设定固定的中央控制器,每个处理器定期检查事件数目。任何处理器都可以作为中央控制器,每个处理器在调度周期的开始阶段检查该处理器的已处理事件数(或占用的内存量)是否需要进行GVT计算,如果需要则发起GVT计算。这样一旦某个处理器上LP过度乐观,则该处理器就直接发起GVT计算,从而解决LP过度乐观导致内存不足的问题。
5) 批处理化石回收的适配及优化
全局控制机制中化石回收的方法可采用传统的批量化石处理的方法,其中运动中化石收集技术虽然无需扫描映射到处理器的对象列表,但这种按“需要”化石收集,会造成更频繁的GVT计算。自适应技术是动态地调整内存量的技术,在回滚较多的条件下会有较高的性能提升,尤其是在一个因素连续作用的情况。雷达对抗系统由于大量装备的交互,很容易产生回滚,但这种回滚引起的是多因素,自适应技术很难适应,而且由于事件粒度小,自适应技术本身的开销相对而言太重了。而传统的批处理化石回收相比之下,不会引起频繁的GVT计算,化石回收的开销也比较小,该方法比较适合雷达对抗仿真中应用,但该方法仍有它的缺点。由于仿真中实体装备或作战兵力可以认为是由一个或若干个功能模型组成的,每一个功能模型可以看成是一个LP,因此在仿真中LP的规模是巨大的,由于每个LP都需要一个“事件列表”存储该逻辑进程上所有已调度但尚未处理的事件,那么每次化石回收都需要访问处理器的所有LP,访问搜索将花费大量的时间。
针对批处理化石回收访问处理器所有LP的已处理事件列表花费大量时间可作如下改进,可将一部分具有紧密联系的LP共用一个已处理的事件列表,由于已处理事件列表的减少,使得化石回收的开销大大减少,这种优化也将减少存储器的使用,尤其在LP数量规模比较大时,对减少内存占用也起到一定作用。但这种改进可能会因错误回滚而降低性能,当一个LP或几个LP发生回滚,可能造成这一组LP的已处理事件列表回滚,使得回滚事件增加,这就需要在应用设计时,将交互作用紧密的模型(LP)聚合到一个已处理事件列表中,以减少因错误回滚而降低性能。
2.3 乐观策略运行流程及数据结构的设计
2.3.1 乐观策略运行流程的设计
在并行离散事件仿真中,乐观策略主要研究如何实现全局控制机制和本地控制机制,通过乐观策略的适配性分析,确定本地控制机制采用反向计算方法与具有直接撤销的反消息机制,全局控制机制采用优化的异步GVT计算和传统批量化石回收的方法。
在此需要定义几个变量:PEmin变量负责记录每个处理器发送到中央控制器的最小时戳值;GVT变量为全局虚拟时间变量;GVTFlag变量为全局标记变量,该变量相当于一个计数器,用来记录未发送本地最小时戳处理器的数量;SendMin变量负责记录处理器在GVTFlag设立后,发送PEmin之前所有发送消息的最小时戳值,该参数的设立是为了解决暂态消息问题[8],s变量为处理器上报标记变量,s=1说明该处理器已经上报过本地最小时戳。E为event_q队列未处理事件数,B为批处理参数。
本节研究优化后的乐观策略处理器的运行流程的设计问题,其中并行机制的整体流程设计如图1所示。在对消息事件、模型的数据初始化后,处理器正常处理初始化的事件。当某个处理器满足GVT计算周期(一段时间或固定数量的事件),可选取该处理器作为中央控制器。它将设置一个名为GVTFlag的全局标记变量,GVTFlag的值为系统中处理器的总数,其他处理器向中央控制器发送本地最小时戳值。所有处理器(包括中央控制器)都需要执行以下的事件处理、事件回滚、化石回收以及向中央控制器发送本地最小时戳,唯一区别在于中央控制器需要额外计算全局最小时戳值GVT。每个事件处理循环开始前都需要检查GVTFlag是否设立,在设计中需要先发送事件消息后再进行GVTFlag检查,这是为了消除互斥假设[8],Sengmin负责记录设立后发送的消息或反消息,发送消息的时候需要区分发送LP与接收LP是否在同一处理器,若在同一处理器上则直接插入该处理器的事件队列中,若不在同一处理器,为了支持事件批处理,需要将消息插入其他处理器的message_q和cancel_q队列中,然后当event_q满足批处理参数时批量取出处理,若不满足则先处理event_q队列的事件再将message_q和cancel_q队列的事件消息逐个取出处理。这期间可能发生事件回滚,若发生回滚,则需要进行消息取消和状态回滚两个步骤,其中在消息取消中需要检验是该消息是否具有因果关系,若有因果关系则按照直接撤销的方法撤销,若不存在因果关系,则直接发送反消息进行消息泯灭,然后再次进行事件处理。若GVTFlag检查大于0,说明此时中央控制器负责GVT计算还未完成,若未上报本地最小时戳,则需要更新GVTFlag标记设立后发送消息的最小时戳Sendmin,并将message_q和cancel_q队列的值插入后,本地最小时戳PEmin即为发送消息事件与待处理事件时戳的最小值,并发送给中央控制器,并令GVTFlag-1进行计数统计,然后正常进行事件处理及事件回退。若为中央控制器,需要判断是否所有处理器都已上报本地最小时戳,若均上报则需要计算GVT值;若GVTFlag检查不大于0或s不为0,说明其他处理器并未发起GVT计算或本地处理器已经上报最小时戳,然后进行GVT值更新检查,若GVT值更新了,则释放时戳小于GVT值的消息和反消息的内存,若GVT未更新,则进行事件批处理。
2.3.2 乐观策略的数据结构
数据结构描述的是数据之间的关系,是对事件处理、本地控制机制及全局控制机制实现的逻辑支持,该结构是在共享内存系统中建立的。虽说共享内存系统中所有内存可被任意处理器访问,但为了减少同步操作以及尽量访问本地内存,在仿真设计上需要将每个数据结构分配给唯一的事件、逻辑进程以及处理器,这是因为同步操作以及非本地内存引用要比本地内存引用开销大得多[7]。本文的乐观策略需要以下5个数据结构的支持,分别是数据存储结构、事件结构、逻辑进程结构(Logical Process,LP)和内核结构(Kernel Processes,KP)、处理器结构(processor,PE),他们的作用及关系设计如下。
1) 数据结构的作用
事件结构是乐观策略的最基本部分,事件按照时戳的顺序处理,其中应用程序数据保存在数据存储结构中。仿真开始前,系统需要初始化一些事件,这些事件处理后离开系统时将创建新的事件,所有的事件都需要该结构创建或保存。LP结构是事件处理的地方,在雷达对抗仿真中一个或若干个LP组成一个模型,当事件传入LP后,LP处理消息事件并产生新事件,新事件再由其他LP执行,这种循环形成了事件处理循环。KP结构也是基于共享数据结构设计的,KP结构是为了实现批量化石回收优化而设立的,聚合多个LP的已处理事件列表为一个共享已处理事件列表,由于KP的数量比LP少得多,降低了化石收集开销,从而允许频繁的化石回收。PE结构作为整个数据结构的执行者,每个处理器会有若干个KP结构和LP结构,他们的映射关系是:事件由LP执行,若干个LP聚合到KP上,然后KP再映射到相应的PE上,从而实现层次化处理。
2) 数据结构的关系
其中事件的消息数据存储在数据存储结构中,事件结构通过*message指针进行消息数据的调用,省去了数据存储结构存储信息到事件中的开销,event_time是该事件时戳,事件的处理正式按照时戳由小到大执行。*cur_event指针指向tw_event结构,获取事件相关信息,表示此LP正在处理的当前事件, 事件通过*dest_lp与*src_lp指针指向发送该事件的LP和接收该事件的LP,记录事件与LP的关系,事件由发送LP发送到接收LP上进行相应的事件处理或回退,bf作为反向计算的条件分叉点,lp_state记录了LP在添加新事件之前LP的状态变量值,以便当发生因果关系错误时,LP可通过反向计算回到正确的状态。
整个系统含有event_q(事件列表)、cancel_q(取消列表)、message_q(消息列表)、lp_list(处理器上的LP列表)、kp_list(处理器上的KP列表)、cause_list (事件引发的事件列表)6种列表,其中cancel_q、message_q用来存储来自其他处理器传来的消息或反消息,event_q用来存储本处理器的未处理事件,处理完的消息通过*pevent_next指针插入KP结构的pevent_q共享已处理事件列表,若某类事件的产生会直接产生其他因果事件,cause_list列表可存储由该事件引发的因果事件,该列表服务于直接撤销机制的。事件结构通过*event _next、*cancel _next、*message_next、*cause_by_me指针调用处理器结构中的event_q、cancel_q、message_q、cause_list列表,考虑到减少内存分配和回收操作,每个事件在整个系统中只有一份内存,通过指针记录事件列表的位置。lp_list用来保存该处理器上调用LP顺序的信息,kp_list用来保存该处理器调用KP顺序的信息,LP通过pe_next指针指向其在PE的lp_list中的位置,从而处理器可以按照lp_list执行。KP结构中的kp_next指针指向其在PE的kp_list中的位置,在进行化石回收时,可对KP进行处理。
由于每个PE、KP、LP分别会被分配唯一的PE_id、KP_id、LP_id,初始化设计时需要将LP、KP映射到PE上,LP结构中的twlp_pe指针指向为这个LP服务的PE,实现了初始化LP到PE的映射,twlp_kp指向为这个LP服务的KP,实现了多个LP绑定到KP上,KP结构中的twkp_pe指向为这个KP服务的PE,实现了多个KP绑定到PE上。整个数据结构的关系如图2所示。
3 实例验证
共享内存机制进程之间的读写操作、同步问题、及锁处理比较繁琐难以实现,而ROSS引擎是基于共享内存机制实现的,文献[7]证明该引擎的大规模事件测试有很好的效果。该引擎采用模块化设计,整个引擎的代码全部开放并支持个模块的修改,支持状态保存和反向计算机制,综上所述雷达对抗仿真可基于ROSS仿真引擎进行修改设计,而不必重复开发或从头开发,降低雷达对抗并行仿真的开发难度。
现在Ubuntu Kylin 15.10系统下,基于ROSS仿真引擎建立导弹攻防的离散事件仿真模型,明确每个模块的状态定义及转换逻辑,对各参数接口进行设计并做好初始化,对每个模块进行C语言编程实现。现对敌方分布的目标群的地面目标进行导弹袭击,导弹可被目标群的雷达及干扰设备侦察以及干扰,分别采用128/256/384/512/640枚导弹对等额的目标进行轰炸,雷达探测范围与干扰作用范围均为2 400 m,探测概率为0.6,识别导弹信息概率为0.8,干扰概率为0.8,干扰资源总共为640个,导弹速度为900 m/s,将模型分别映射到处理器为四、八核的处理器上进行运行,并与串行仿真进行比较,比较结果如图3所示,经比较发现并行仿真中,四核处理器仿真效率比串行提高63.0%,八核处理器仿真效率比串行提高73.6%,均能够较好地发挥并行仿真的能力,验证了乐观策略在雷达对抗仿真的有效性。
4 结论
传统的串行仿真、HLA仿真技术不能满足雷达对抗的大规模作战分析仿真要求,本文采用并行离散事件的乐观策略,针对乐观策略在雷达对抗仿真中具有事件开销较大、内存需求较大、GVT计算较频繁、“狗咬尾巴”现象、LP过度乐观的特征,进行反向计算,在反消息机制引入直接撤销、在事件处理及化石回收方面均进行批处理优化,并对异步GVT计算的过度乐观进行了优化,设计了乐观策略的运行流程及数据结构,运用该策略对导弹突袭的例子进行仿真,仿真结果证明了乐观策略在雷达对抗仿真中的有效性。
:
[1] 杨妹,杨山亮,许霄,等.面向高层辅助决策的作战分析仿真系统框架[J].系统工程与电子技术,2016,38(6):1440-1449.
[2] 王国胜,戚宗锋,徐享忠.预警机雷达电子对抗系统作战效能仿真分析[J].装甲兵工程学院学报,2014,28(6):76-81.
[3] 李娟,张效民.基于HLA的仿真雷达对抗系统的设计与实现[J].电子设计工程,2015(6):33-36.
[4] YIN Q,DUAN B,KANG C,et al.Design of energy system and cyber system co-simulation based on HLA/agent[J].Automation of Electric Power Systems,2016.
[5] BRITO A V,BUCHER H,OLIVEIRA H,et al.A distributed simulation platform using HLA for complex embedded systems design[C]//Distributed Simulation and Real Time Applications.2015:195-202.
[6] 陈兴凯,韩壮志,封吉平,等.基于 HLA的火控雷达网反侦察仿真系统的开发[J].计算机测量与控制,2014(1).
[7] CAROTHERS C D,BAUER D,PEARCE S.ROSS:a high-performance,low memory,modular time warp system[C]//Parallel and Distributed Simulation,2000.PADS 2000.Proceedings.Fourteenth Workshop on.IEEE,2000:53-60.
[8] FUJIMOTO R M,HYBINETTE M.Computing global virtual time in shared-memory multiprocessors[J].Acm Transactions on Modeling & Computer Simulation,1997,7(4):425-446.
[9] 王娴,吴张永,牛骁,等.并行离散事件仿真系统时钟管理及推进机制研究[J].信息技术,2012(6):11-14.
[10]张颖星,姚益平.乐观策略下并行离散事件仿真动态负载划分优化算法[J].计算机学报,2010,33(5):000813-821.
[11]解海涛,李轩涯,姚益平.并行离散事件仿真集成开发环境的设计与实现[J].系统仿真学报,2009,21(13):3929-3932.
[12]陈莉丽,姚益平,蔡潞.多核环境下负载均衡的并行离散事件全局调度机制[J].国防科技大学学报,2012,34(4):108-113.
[13]周维贵,姚益平.并行离散事件仿真对象调度的开发框架研究[C]//系统仿真技术及其应用学术会议论文集.中国科学技术大学出版社,2009.
[14]赵严冰.雷达对抗侦察仿真训练中的信号产生方法研究[J].兵工自动化,2017(3):31-34.
[15]吕可,郑威,赵严冰.雷达对抗侦察装备作战能力的ANP幂指数评估方法[J].火力与指挥控制,2016(12):59-63.