一种分布式仿真系统的顺序模型调度方法技术方案

技术编号:14844345 阅读:177 留言:0更新日期:2017-03-17 11:24
本发明专利技术一种分布式仿真系统的顺序模型调度方法,属于复杂系统仿真技术领域。所依托的一种分布式仿真系统包括客户端、主控引擎和计算节点。一种分布式仿真系统的顺序模型调度方法,包括1仿真运行初始化并完成模型分配;2运行仿真,即客户端向主控引擎发送调度指令,主控引擎接收调度指令,获得第一级运行模型,并向第一级运行模型所在节点发送驱动指令,驱动计算节点上的模型运行;3计算节点接收驱动指令驱动模型运行,产生结果数据并输出给主控引擎;4主控引擎接收结果数据并解算得到下游模型集合;5开始遍历下游模型ID集合;6判断是否移除当前模型;7判断是否达到下游模型集合数;8判断下游集合模型是否为空,跳至3还是完成本方法。本方法提升了模型运行效率,降低了主控引擎负载,减少了模型调度耗时,具有较强通用性。

【技术实现步骤摘要】

本专利技术涉及一种分布式仿真系统的顺序模型调度方法,属于复杂系统仿真

技术介绍
现代仿真环境越来越复杂,随着计算机技术的不断发展,涉及到的学科领域越来越多,仿真规模越来越大,单机、单平台的仿真已不能够满足现代系统仿真需求。20世纪80年代初期,分布式仿真应运而生。分布式仿真是采用协调一致的结构、标准、协议和数据库,通过广域网或局域网,将分散的仿真设备互联,形成可参与的综合性仿真环境。在分布式仿真环境中,仿真对象或仿真模型运行在分散的仿真设备上。通过调度主机对各仿真设备上的模型进行调度运行,仿真运行的效率以及精度取决于调度主机的模型调度策略,因此分布式仿真模型调度策略的研究具有十分重要的意义。目前,分布式仿真模型调度思想主要分为时间驱动的模型调度策略和数据驱动的模型调度策略。其中,时间驱动的模型调度策略以仿真步长为驱动单位,在单位仿真步长内所有参与仿真的模型都会进行一次运算,并根据时间的推进驱动模型进行下一个仿真步长的运行,直至所有仿真步长推进完毕,结束仿真。时间驱动的模型调度策略在实现上较为复杂,并且应用范围较窄,因此不适合大规模通用的仿真应用;数据驱动的模型调度策略以数据流作为驱动源,模型的运行顺序严格按照数据流向进行,并且仅在模型的输入数据有更新的情况下运行模型,对仿真时间没有依赖,能够方便的在仿真运行过程中进行数据的跟踪。上述数据驱动的模型调度策略更专注于仿真数据,因此,在大规模通用的仿真应用中具有十分重要的意义。综上所述,现有数据驱动模型调度方法实现了数据驱动的模型调度策略,但在仿真运行效率和模型调度的针对性方面提高还有很大的改进空间。本专利技术属于基于数据驱动的模型调度策略,目的是致力于解决现有数据驱动模型调度的缺陷,提出一种分布式仿真系统的顺序模型调度方法。
技术实现思路
本专利技术的目的在于针对现有数据驱动的模型调度方法中存在仿真运行调度效率低、不具有针对性为主的技术缺陷,提出了一种分布式仿真系统的顺序模型调度方法。一种分布式仿真系统的顺序模型调度方法,所依托的一种分布式仿真系统,简称仿真系统,包括客户端、主控引擎和计算节点;所述客户端为仿真系统工作时进行建模的人机交互端,客户端包含仿真运行所需的仿真任务,在仿真运行前将模型发送至主控引擎;所述主控引擎为仿真系统的控制端,仿真系统工作时将模型分配到计算节点,接收客户端发送的仿真任务,将模型分配到计算节点,进行模型调度以及数据传递;所述计算节点为仿真系统运行时运行模型并获取输出结果的计算端;一种分布式仿真系统的顺序模型调度方法,包括如下步骤:步骤1:仿真运行初始化,即发送仿真任务到主控引擎并完成模型分配,具体为:步骤1.1客户端收集仿真任务,发送给主控引擎;所述仿真任务包括仿真运行需要的所有模型以及模型之间的数据流;其中,模型包括模型基本信息、输入参数、输出参数、模型文件,输入参数为模型运行所需的初始化参数值,输出参数为模型运行完毕输出的参数值,模型文件为模型运行所需的工程文件;其中,模型基本信息主要包括模型ID、模型名称以及模型上游输出接口信息;工程文件,指模型算法程序文件;数据流为模型之间的数据流向,是模型之间数据传递的依据;步骤1.2主控引擎接收仿真任务,进行模型分配;主控引擎接收步骤1.1中客户端发送的仿真任务,主控引擎解析仿真任务,将模型和数据流分配到计算节点;步骤1.3计算节点接收主控引擎发送的模型和数据流;步骤2:运行仿真,即客户端向主控引擎发送调度指令,主控引擎接收调度指令,获得第一级运行模型,并向第一级运行模型所在节点发送驱动指令,驱动计算节点上的模型运行,具体为:步骤2.1客户端生成调度指令,并将调度指令发送给主控引擎;所述调度指令为客户端与主控引擎进行仿真运行调度的标志,调度指令包括模型ID和指令数据,其中指令数据包括运行指令和结束指令;步骤2.2主控引擎接收调度指令,获得第一级运行模型;主控引擎接收到客户端发送的调度指令,解析得到模型ID和运行指令,该模型ID所指向的模型即为本次模型调度的第一级运行模型;步骤2.3主控引擎驱动节点上的模型进行第一级模型的运算,具体为:主控引擎向第一级运行模型所在的节点发送驱动指令;所述驱动指令包括模型ID和模型运行指令数据;步骤3:计算节点接收驱动指令驱动模型运行,产生结果数据并输出给主控引擎,具体如下:步骤3.1计算节点接收到步骤2.3中主控引擎发送的驱动指令,解析得到模型ID,启动该模型进程,并等待进程结束;步骤3.2模型进程结束后,计算节点收集模型运行结束得到的结果数据,根据数据流关系将结果数据发送给下游模型所在的节点;所述下游模型为数据流中当前模型输出参数数据流指向的模型;所述结果数据包括模型ID、输出参数ID、输出参数值;步骤3.3将步骤3.2中的模型结果数据发送给主控引擎;步骤4:主控引擎接收结果数据并进行更新和解算,得到下游模型ID集合,具体如下:步骤4.1主控引擎接收步骤3.3中计算节点发送的结果数据并解析,得到模型ID、输出参数ID和输出参数值;步骤4.2主控引擎将结果数据发送到客户端,在客户端界面更新结果数据;步骤4.3主控引擎根据当前模型ID、输出参数ID和数据流关系解算得到当前模型ID的下游模型ID集合;步骤5:设置n为下游模型ID集合中的模型ID数量,设置i为下游模型ID集合中的模型ID序号,1≤i≤n,初始化i=1,开始遍历下游模型ID集合;步骤6:得到序号为i的模型ID所代表的模型,即当前模型,并决定是否将当前模型从下游模型ID集合中进行移除操作,具体为:6.1若当前模型的输入数据未发生变化,则将当前模型的模型ID从下游模型ID集合中移除,跳至步骤7;6.2若当前模型的输入数据发生变化,则在下游模型ID集合中保留当前模型的模型ID;步骤7:判断i是否达到下游模型集合数量n,并决定跳至步骤6还是步骤8,具体为:7.1若是,则表明i已达到下游模型集合数量n,即已得到经过移除操作的下游模型ID集合,跳至步骤8;7.2若否,则表明i未达到下游模型集合数量n,令i=i+1,跳至步骤6;步骤8:主控引擎判断步骤7的下游模型ID集合是否为空,决定跳至步骤3还是完成本方法,具体为:8.1若步骤7输出的下游模型ID集合不为空,则遍历下游模型ID集合,分别向模型所在的节点发送驱动指令,并跳至步骤3;8.2若步骤7输出的下游模型ID集合为空,则停止模型调度;至此,从步骤1到步骤8,完成了一种分布式仿真系统的顺序模型调度方法。有益效果一种分布式仿真系统的顺序模型调度方法,与现有模型调度方法相比,具有如下有益效果:1.本专利技术提出的模型调度采用数据驱动的模型调度策略,只关注模型之间的数据传递,没有时间信息的参与,模型的运行顺序比较清晰,并且能够实现模型的并行运行,提升了模型调度以及模型运行的效率;2.本专利技术提出的模型调度方法中计算节点之间直接进行数据传递,降低了主控引擎的负载,减少了模型调度耗时;3.本专利技术提出的模型调度方法可适用于各个专业领域,具有较强的通用性。4.本专利技术提出的模型调度方法可有针对性的运行对输入参数有影响的模型,从而能够避免无关模型的运行增加模型调度耗时。附图说明图1为本专利技术“一种分布式仿真系统的顺序模型调度方法”及实施例1中模型数据关系图;图2为本专利技术本文档来自技高网
...
一种分布式仿真系统的顺序模型调度方法

【技术保护点】
一种分布式仿真系统的顺序模型调度方法,其特征在于:所依托的一种分布式仿真系统,简称仿真系统,包括客户端、主控引擎和计算节点;所述客户端为仿真系统工作时进行建模的人机交互端,客户端包含仿真运行所需的仿真任务,在仿真运行前将模型发送至主控引擎;所述主控引擎为仿真系统的控制端,仿真系统工作时将模型分配到计算节点,接收客户端发送的仿真任务,将模型分配到计算节点,进行模型调度以及数据传递;所述计算节点为仿真系统运行时运行模型并获取输出结果的计算端;一种分布式仿真系统的顺序模型调度方法,包括如下步骤:步骤1:仿真运行初始化,即发送仿真任务到主控引擎并完成模型分配;步骤2:运行仿真,即客户端向主控引擎发送调度指令,主控引擎接收调度指令,获得第一级运行模型,并向第一级运行模型所在节点发送驱动指令,驱动计算节点上的模型运行;步骤3:计算节点接收驱动指令驱动模型运行,产生结果数据并输出给主控引擎;步骤4:主控引擎接收结果数据并进行更新和解算,得到下游模型ID集合;步骤5:设置n为下游模型ID集合中的模型ID数量,设置i为下游模型ID集合中的模型ID序号,1≤i≤n,初始化i=1,开始遍历下游模型ID集合;步骤6:得到序号为i的模型ID所代表的模型,即当前模型,并决定是否将当前模型从下游模型ID集合中进行移除操作;步骤7:判断i是否达到下游模型集合数量n,并决定跳至步骤6还是步骤8;步骤8:主控引擎判断步骤7得到的下游模型ID集合是否为空,决定跳至步骤3还是完成本方法;至此,从步骤1到步骤8,完成了一种分布式仿真系统的顺序模型调度方法。...

【技术特征摘要】
1.一种分布式仿真系统的顺序模型调度方法,其特征在于:所依托的一种分布式仿真系统,简称仿真系统,包括客户端、主控引擎和计算节点;所述客户端为仿真系统工作时进行建模的人机交互端,客户端包含仿真运行所需的仿真任务,在仿真运行前将模型发送至主控引擎;所述主控引擎为仿真系统的控制端,仿真系统工作时将模型分配到计算节点,接收客户端发送的仿真任务,将模型分配到计算节点,进行模型调度以及数据传递;所述计算节点为仿真系统运行时运行模型并获取输出结果的计算端;一种分布式仿真系统的顺序模型调度方法,包括如下步骤:步骤1:仿真运行初始化,即发送仿真任务到主控引擎并完成模型分配;步骤2:运行仿真,即客户端向主控引擎发送调度指令,主控引擎接收调度指令,获得第一级运行模型,并向第一级运行模型所在节点发送驱动指令,驱动计算节点上的模型运行;步骤3:计算节点接收驱动指令驱动模型运行,产生结果数据并输出给主控引擎;步骤4:主控引擎接收结果数据并进行更新和解算,得到下游模型ID集合;步骤5:设置n为下游模型ID集合中的模型ID数量,设置i为下游模型ID集合中的模型ID序号,1≤i≤n,初始化i=1,开始遍历下游模型ID集合;步骤6:得到序号为i的模型ID所代表的模型,即当前模型,并决定是否将当前模型从下游模型ID集合中进行移除操作;步骤7:判断i是否达到下游模型集合数量n,并决定跳至步骤6还是步骤8;步骤8:主控引擎判断步骤7得到的下游模型ID集合是否为空,决定跳至步骤3还是完成本方法;至此,从步骤1到步骤8,完成了一种分布式仿真系统的顺序模型调度方法。2.根据权利要求1所述的一种分布式仿真系统的顺序模型调度方法,其特征还在于:步骤1,具体为:步骤1.1客户端收集仿真任务,发送给主控引擎;所述仿真任务包括仿真运行需要的所有模型以及模型之间的数据流;其中,模型包括模型基本信息、输入参数、输出参数、模型文件,输入参数为模型运行所需的初始化参数值,输出参数为模型运行完毕输出的参数值,模型文件为模型运行所需的工程文件;其中,模型基本信息主要包括模型ID、模型名称以及模型上游输出接口信息;工程文件,指模型算法程序文件;数据流为模型之间的数据流向,是模型之间数据传递的依据;步骤1.2主控引擎接收仿真任务,进行模型分配;主控引擎接收步骤1.1中客户端发送的仿真任务,主控引擎解析仿真任务,将模型和数据流分配到计算节点;步骤1.3计算节点接收主控引擎发送的模型和数据流。3.根据权利要求1所述的一种分布式仿真系统的顺序模型调度方法,其特征还在于:步骤2,具体为:步骤...

【专利技术属性】
技术研发人员:李文光王强龙腾刘莉
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

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

1