一种仿真并行推进方法、服务器以及存储介质技术

技术编号:35230420 阅读:40 留言:0更新日期:2022-10-15 10:51
本申请公开了一种仿真并行推进方法、服务器以及存储介质,属于仿真技术领域,该方法包括:将参与仿真的所有仿真实体进行分组,为每组仿真实体创建一个物理进程,在每个物理进程中均建立一个事件队列;当仿真实体产生新事件时,通过对应的物理进程将新事件放入对应的事件队列的队尾,并为新事件添加时间戳,时间戳用于指示事件的执行时间;所有物理进程均按照同一时间推进机制进行推进,依次调度事件队列中的事件进行可运行判断,当判断通过时则执行该事件并更新与该事件有关的仿真实体的状态,否则将该事件排列至事件队列的队尾;当运行至预设结束时间或接收到结束指令时终止仿真过程。本发明专利技术能够使仿真系统计算效能显著提升。本发明专利技术能够使仿真系统计算效能显著提升。本发明专利技术能够使仿真系统计算效能显著提升。

【技术实现步骤摘要】
一种仿真并行推进方法、服务器以及存储介质


[0001]本申请属于仿真
,特别涉及一种仿真并行推进方法、服务器以及存储介质。

技术介绍

[0002]随着信息技术在军事领域方面的迅猛发展和快速应用,推动了武器装备的进步、战争理论的发展、军事行动的演变和战争形态的变革。仿真技术作为以计算机和专用设备为工具,建立并利用系统模型对实际或设想的系统进行动态实验研究的综合应用技术,在模拟仿真训练、军事演习决策、推演实验、指挥控制、作战分析等多个军事领域发挥着日益重要的作用。
[0003]为了研究军事系统内在规律,特别是军事规律的自底向上的“涌现性”过程,必须实现更高精度和更大规模的军事仿真,需要构建高效实时的仿真引擎。仿真引擎系统的调度问题是一个由多因素组成的决策问题,与实时调度相关的研究包括时间推进机制、运行支撑环境、模型应用改进等多方面,其中起决定作用的是时间推进机制。
[0004]时间推进机制是指仿真模拟过程中推动模拟时钟时间变动的机制,一般有固定步长推进和事件驱动推进两种方式。前者定期计算系统中模型的状态并予以更新,实现简单但存在大量计算空转,推进效率较低;后者多用于离散事件系统模拟,通过执行事件完成系统状态更替,避免计算空转,能够提高仿真引擎工作灵活性,但需要保证事件的因果关系。
[0005]考虑到对实际应用场景的贴合,现有作战仿真系统的时间推进机制多采用事件驱动和单进程处理方式,即:通过维护一个事件队列实现事件调度,提供事件的执行时间戳,按照时间戳顺序对事件进行排序,仿真引擎按顺序调取事件队列中的所有事件,进而实现仿真推进。这种时间推进机制严格按照事件的时间戳顺序,是保守时间推进机制。然而这种时间推进机制依然存在着明显的问题:一方面,这种单进程处理方式只能利用一个内核,导致多CPU多核计算机的处理能力不能够被充分利用,造成了硬件资源的浪费;另一方面,事件的单线程调度意味着事件只能被串行计算处理,随着仿真规模即作战场景规模的增大,尤其是多兵种联合作战场景下,这种时间推进机制大大增加了仿真运行时间的开销,时延等问题也愈专利技术显。
[0006]因此,需要一种新型的仿真引擎的推进方法,能够解决上述问题。

技术实现思路

[0007]为了解决仿真引擎在多实体仿真,尤其是作战模拟场景中的应用问题,针对单进程处理方式的低效率问题,设计了一种基于事件驱动的仿真并行推进方法,能够优化作战仿真引擎的调度策略。该方法中,每个物理进程被建模成一个离散事件队列,物理进程的交互作用被建模成在相应离散事件队列间的带时间戳的消息交互,从而将复杂的仿真计算分解成多个进程,实现仿真进程的并行运行处理,充分利用硬件资源并减少仿真计算时间的开销,进而实现时间推进效率乃至仿真系统计算效能的显著提升。
[0008]本申请所要达到的技术效果通过以下方案实现:根据本专利技术的第一方面,提供了一种仿真并行推进方法,包括如下步骤:步骤一:将参与仿真的所有仿真实体进行分组,为每组仿真实体创建一个物理进程,在每个物理进程中均建立一个事件队列;步骤二:当仿真实体产生新事件时,通过对应的物理进程将新事件放入对应的事件队列的队尾,并为新事件添加时间戳,其中时间戳用于指示事件的执行时间;步骤三:所有物理进程均按照同一时间推进机制进行推进,依次调度事件队列中的事件进行可运行判断,当判断通过时则执行该事件并更新与该事件有关的仿真实体的状态,否则将该事件排列至事件队列的队尾;步骤四:当运行至预设结束时间或接收到结束指令时终止仿真过程。
[0009]优选地,在步骤三中,所有物理进程均按照同一时间推进机制进行推进具体为:将整个仿真过程划分为若干等长的时间单元;在同一时间单元内,所有物理进程并行推进;在每个时间单元结束时,各个物理进程之间进行状态同步。
[0010]优选地,在步骤三中,依次调度事件队列中的事件进行可运行判断具体为:依次调度事件队列中的事件,判断该事件的时间戳是否在当前的时间单元内;若时间戳位于当前时间单元内则判断通过;否则判断不通过。
[0011]优选地,将新事件放入对应的事件队列的队尾时,还为新事件添加第一标记,第一标记表示该事件是由归属于本物理进程的仿真实体所产生的事件。
[0012]优选地,在步骤三中还包括:在执行一事件时,若当前事件涉及另一物理进程中的一仿真实体,则将该事件及其时间戳发送至所述另一物理进程,以使所述另一物理进程将该事件及其时间戳放入事件队列的队尾并添加第二标记,其中,第二标记表示该事件是由归属于其它物理进程的仿真实体所产生的事件。
[0013]优选地,该方法还包括:为每个仿真实体创建对应的状态存储空间,用于按照时间的先后顺序保存仿真实体在时间单元内的不同时刻的状态值。
[0014]优选地,在步骤三中还包括:当前物理进程在执行一事件的过程中,判断当前事件与已执行的其他事件是否存在因果乱序;若是则判断当前事件是否具有第一标记;若当前事件具有第一标记,则当前物理进程针对当前事件所涉及的当前仿真实体,读取该仿真实体在当前事件的时间戳的前一时刻的状态值,将该仿真实体的状态回退到读取到的状态值,回退完成后重新开始执行当前事件,并在当前事件执行完毕后再执行所述其他事件。
[0015]优选地,在判断当前事件是否具有第一标记之后,还包括:判断当前事件是否具有第二标记;若当前事件具有第二标记,且当前事件还涉及其他物理进程的另一仿真实体,则当前物理进程读取当前仿真实体在当前时间单元开始时刻的状态值,将当前仿真实体的状态回退到读取到的状态值,向所述其他物理进程发送通知消息,所述通知消息用于通知所
述其他物理进程将所述另一仿真实体的状态回退到当前时间单元开始时刻的状态值;所述当前物理进程在回退完成后重新开始执行所述当前事件,并在当前事件执行完毕后执行所述其他事件。
[0016]根据本专利技术的第二方面,提供了一种服务器,包括:至少一个处理器和存储器;所述存储器存储计算机程序,所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述任一项所述的仿真并行推进方法。
[0017]根据本专利技术的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一项所述的仿真并行推进方法。
[0018]根据本专利技术的一个实施例,本专利技术的一个有益效果在于:本专利技术的仿真并行推进方法,能够将复杂的仿真计算分解成多个进程,实现仿真进程的并行运行处理,充分利用计算机的硬件资源并减少仿真计算时间的开销,进而实现时间推进效率乃至仿真系统计算效能的显著提升。
附图说明
[0019]为了更清楚地说明本申请实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本申请一实施例中一种仿真并行推进方法的流程图;图2为本申请一实施例中的仿真并行推本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种仿真并行推进方法,其特征在于,包括如下步骤:步骤一:将参与仿真的所有仿真实体进行分组,为每组仿真实体创建一个物理进程,在每个物理进程中均建立一个事件队列;步骤二:当仿真实体产生新事件时,通过对应的物理进程将所述新事件放入对应的事件队列的队尾,并为所述新事件添加时间戳,其中时间戳用于指示事件的执行时间;步骤三:所有物理进程均按照同一时间推进机制进行推进,依次调度事件队列中的事件进行可运行判断,当判断通过时则执行该事件并更新与该事件有关的仿真实体的状态,否则将该事件排列至事件队列的队尾;步骤四:当运行至预设结束时间或接收到结束指令时终止仿真过程。2.根据权利要求1所述的仿真并行推进方法,其特征在于,在步骤三中,所有物理进程均按照同一时间推进机制进行推进具体为:将整个仿真过程划分为若干等长的时间单元;在同一时间单元内,所有物理进程并行推进;在每个时间单元结束时,各个物理进程之间进行状态同步。3.根据权利要求2所述的仿真并行推进方法,其特征在于,在步骤三中,依次调度事件队列中的事件进行可运行判断具体为:依次调度事件队列中的事件,判断该事件的时间戳是否在当前的时间单元内;若时间戳位于当前时间单元内则判断通过;否则判断不通过。4.根据权利要求1所述的仿真并行推进方法,其特征在于,将所述新事件放入对应的事件队列的队尾时,还为所述新事件添加第一标记,第一标记表示该事件是由归属于本物理进程的仿真实体所产生的事件。5.根据权利要求1所述的仿真并行推进方法,其特征在于,在步骤三中还包括:在执行一事件时,若当前事件涉及另一物理进程中的一仿真实体,则将该事件及其时间戳发送至所述另一物理进程,以使所述另一物理进程将该事件及其时间戳放入事件队列的队尾并添加第二标记,其中,第二标记表示该事件是由归属于其它物理进...

【专利技术属性】
技术研发人员:臧义华张丽颖梁佳李小娟
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1