【技术实现步骤摘要】
一种保守时间同步并行事件调度计算架构和方法
[0001]本申请涉及仿真
,特别是涉及一种保守时间同步并行事件调度计算架构和方法
。
技术介绍
[0002]仿真引擎主要驱动构造模型的高速解算和调度公共服务并行计算,在可用
IT
资源受约束的条件下,通过并行仿真和动态负载均衡算法创新,实现整体
IT
资源有效利用率和仿真运行效率的最大化
。
在仿真业务中,对仿真模型规模
、
数据的实时性和仿真运行速度等因素具有较高的要求
。
现在大部分仿真软件仅支持使用单机硬件资源,限制了模型实体规模大
、
模型交互频繁和超实时仿真等应用场景的计算需求
。
当仿真业务要求支撑大体量的复杂计算
、
以毫秒级别的速度执行实时数据
、
实现高吞吐,低延迟的的计算能力时,传统的仿真技术无法满足仿真运行效率的最大化
。
技术实现思路
[0003]基于此,有必要针对上述技术问题,提供一种保守时间同步并行事件调度计算架构和方法,能够支撑大体量的复杂计算,并确保计算的实时性,提高仿真运行效率
。
[0004]一种保守时间同步并行事件调度计算架构,所述架构包括:数据管理模块
、Flink
流处理平台和多任务并行计算模块;
Flink
流处理平台中包括事件调度模块和时间同步模块;数据管理模块用于使
Flink
流处 ...
【技术保护点】
【技术特征摘要】
1.
一种保守时间同步并行事件调度计算架构,其特征在于,所述架构包括:数据管理模块
、Flink
流处理平台和多任务并行计算模块;所述
Flink
流处理平台中包括事件调度模块和时间同步模块;所述数据管理模块用于使
Flink
流处理平台从
Kafka
外部消息系统中获取事件流,以及将所述
Flink
流处理平台更新得到的事件流转发至
Kafka
外部消息系统;所述事件流中包括多个事件队列;所述事件调度模块用于构建多个事件调度器;每一事件调度器对应一个仿真模型,一个仿真模型对应一个事件队列;在事件队列中,每一事件对应一个时间戳;所述事件为规划事件或交互事件;所述时间戳表示事件的执行时间;所述事件调度器用于从
Kafka
外部消息系统中读取上一轮次更新得到的对应的事件队列,再分别取各自的事件队列中的最小时间戳向时间同步模块提交当前轮次仿真周期的时间推进请求;所述时间同步模块用于构建时间同步核;所述时间同步核根据各个时间推进请求分别计算对应的允许推进时间,并返回给对应的事件调度器,然后事件调度器将对应的事件队列中时间戳不大于相应的允许推进时间的事件作为待执行事件,并驱动对应的仿真模型执行所述待执行事件,然后将已执行的事件从事件队列中删除,并将所述仿真模型在执行过程中产生的新事件插入对应的事件队列中来更新事件队列,然后将更新后的事件队列发送至所述
Kafka
外部消息系统;所述
Flink
流处理平台将所述事件调度器和所述时间同步模块构成的算子任务发送至所述多任务并行计算模块,所述多任务并行计算模块将所述算子任务分解为多个子任务并分布在多个线程中,当需要子任务执行事件流时,检测子任务对应的空闲线程,并采用空闲线程执行事件流
。2.
根据权利要求1所述的架构,其特征在于,所述数据管理模块还用于在第一轮次仿真周期中输入字符串类型的想定消息至外部
Kafka
消息系统中;所述外部
Kafka
消息系统中包括
Kafka
集群;所述
Kafka
集群中包括多个
Kafka
主题;以及,使得
Flink
流处理平台从所述外部
Kafka
消息系统中读取所述想定消息并对所述想定消息进行序列化,得到以事件基类为模板的事件基类对象实例;所述事件基类包括事件的发送者模型
ID、
发送者模型实体
ID、
接收者模型
ID、
接收者模型实体
ID、
当前时间戳
、
事件时间戳
、
是否是当前轮次将要执行的事件标识符;以及,将更新后的事件队列反序列化为字符串并发送至对应的
Kafka
主题中
。3.
根据权利要求1所述的架构,其特征在于,事件调度器将对应的事件队列中时间戳不大于相应的允许推进时间的事件作为待执行事件,并驱动对应的仿真模型执行所述待执行事件,包括:事件调度器将对应的事件队列中时间戳不大于相应的允许推进时间的事件作为待执行事件并发送至事件调度模块;事件调度模块根据所述待执行事件的接收者模型
ID
调用对应的仿真模型处理所述待执行事件
。4.
根据权利要求2所述的架构,其特征在于,所述数据管理模块中包括
Kafka
发送端接口和
Kafka
接收端接口;
所述
Flink
流处理平台中包括
Flink
发送端接口和
Flink
接收端接口;所述数据管...
【专利技术属性】
技术研发人员:艾川,尹路珈,彭勇,尹全军,秦龙,许凯,张琪,吴鸿萍,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。