CN113867889A - 一种分布式实时仿真平台 - Google Patents

一种分布式实时仿真平台 Download PDF

Info

Publication number
CN113867889A
CN113867889A CN202111122435.XA CN202111122435A CN113867889A CN 113867889 A CN113867889 A CN 113867889A CN 202111122435 A CN202111122435 A CN 202111122435A CN 113867889 A CN113867889 A CN 113867889A
Authority
CN
China
Prior art keywords
simulation
node
subtask
instruction
computing node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111122435.XA
Other languages
English (en)
Inventor
苏银科
郭卓锋
张津源
蒋传林
顿新箎
姚军
范大蔚
田禹泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Research Institute of Mechanical and Electrical Technology
Beijing Electromechanical Engineering Research Institute
Original Assignee
Beijing Electromechanical Engineering Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Electromechanical Engineering Research Institute filed Critical Beijing Electromechanical Engineering Research Institute
Priority to CN202111122435.XA priority Critical patent/CN113867889A/zh
Publication of CN113867889A publication Critical patent/CN113867889A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种分布式实时仿真平台,属于仿真技术领域,用以解决现有仿真平台中仿真任务分配不合理等问题。该平台包括:仿***控***、仿真管理总线、实时仿真总线及计算节点;仿***控***,根据仿真任务及计算节点列表生成仿真任务列表;仿真任务列表包括多个仿真子任务及部署每一仿真子任务的计算节点;将仿真任务列表发送至仿真管理总线,由仿真管理总线将仿真子任务发送至相应计算节点;还将仿真控制指令通过实时仿真总线发送至相应计算节点,以控制计算节点执行仿真处理过程的进度;计算节点,用于基于接收到的仿真子任务及仿真控制指令执行仿真处理过程,通过实时仿真总线与仿***控***及其他计算节点交互仿真处理过程中产生的数据。

Description

一种分布式实时仿真平台
技术领域
本发明涉及仿真技术领域,尤其涉及一种分布式实时仿真平台。
背景技术
在利用仿真平台对仿真对象进行仿真的过程中,涉及的交互对象繁多、交互数据多样、交互过程复杂;同时,不同的仿真任务所需的计算资源并不相同,若在仿真平台中预置的计算资源过多,则容易造成资源浪费,若预置的计算资源过少,则无法满足计算量较大的仿真任务的仿真要求。
综上,如何基于现有仿真平台架构存在的上述问题优化仿真平台的架构,实现仿真任务的合理分配、优化仿真配置及仿真时的数据交互过程,是亟需解决的问题。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种分布式实时仿真平台,用以解决现有仿真平台架构存在的仿真任务分配不够合理、仿真配置及仿真数据交互过程复杂程度高的问题。
本发明公开了一种分布式实时仿真平台,所述平台包括:仿***控***、仿真管理总线、实时仿真总线及若干计算节点;其中,
所述仿***控***,
用于根据仿真任务及计算节点列表生成仿真任务列表;所述仿真任务列表包括多个仿真子任务及部署每一仿真子任务的计算节点;
还用于将所述仿真任务列表发送至仿真管理总线,由仿真管理总线将每一仿真子任务发送至部署该仿真子任务的计算节点;
还用于将仿真控制指令通过实时仿真总线发送至部署仿真子任务的计算节点,以控制计算节点执行仿真处理过程的进度;
部署仿真子任务的计算节点,用于基于接收到的仿真子任务及所述仿真控制指令执行仿真处理过程,并通过实时仿真总线与仿***控***及其他计算节点交互仿真处理过程中产生的数据。
在上述方案的基础上,本发明还做出了如下改进:
进一步,所述平台还包括仿真监控***,
仿真监控***接入仿真管理总线、实时仿真总线,用于监控仿真过程。
进一步,所述平台还包括时钟同步***及时钟同步总线;其中,
仿***控***、计算节点及仿真监控***均接入时钟同步总线;
时钟同步***生成的时间同步信号通过时钟同步总线发送至仿***控***、全部计算节点及仿真监控***,以实现仿***控***、全部计算节点及仿真监控***之间的时间同步。
进一步,所述仿真任务包括多个仿真模型及仿真配置参数,仿真配置参数包括仿真初始参数、仿真步长及每一仿真模型的接口通讯周期;
所述计算节点列表包括每一计算节点的节点属性配置信息以及节点状态;
所述节点属性配置信息包括:
节点ID,用于描述计算节点在***中的唯一标识;
性能属性,用于描述计算节点的性能属性信息;
通讯端口号,用于描述计算节点的端口号;
节点服务器的IP地址,用于描述计算节点中节点服务器的IP地址;
节点状态分为空闲、占用及异常状态。
进一步,所述仿***控***通过执行以下操作生成仿真任务列表:
基于每一仿真模型及仿真配置参数,确定匹配于该仿真模型的仿真子任务;所述仿真子任务包括仿真初始参数、仿真模型的动态链接库及仿真资源数据;
预测每一仿真子任务的计算量,基于每一仿真子任务的计算量及计算节点列表中处于空闲状态的计算节点的性能属性,确定部署每一仿真子任务的计算节点,并更新计算节点列表中部署仿真子任务的计算节点的节点状态为忙时状态;
汇总全部仿真子任务及部署每一仿真子任务的计算节点,形成仿真任务列表。
进一步,所述仿真任务列表中还包括数据交互列表;所述数据交互列表中维护了仿***控***的ID,每一仿真子任务的任务编号,部署每一仿真子任务的计算节点的节点ID,以及每一仿真子任务的仿真数据存储模块;其中,
所述仿真数据存储模块用于存储该仿真子任务的仿真处理过程中产生的数据;每一仿真子任务的仿真数据存储模块与仿真子任务的任务编号一一对应;
连接在同一实时仿真总线上的仿***控***及计算节点共享同一数据交互列表。
进一步,所述仿真控制指令包括初始化指令、运行指令、暂停指令、停止指令及重启指令;
仿***控***通过执行以下操作控制计算节点执行仿真处理过程的进度:
在获取到全部仿真模型启动成功指令后,生成初始化指令;
在获取到全部仿真模型响应初始化指令生成的初始化成功指令后,生成运行指令;
在获取到部分或全部仿真模型响应运行指令生成的开始运行指令后,根据仿真进度生成控制相应仿真模型暂停的暂停指令、控制相应仿真模型停止的停止指令和/或控制相应仿真模型重启的重启指令,以便相应仿真模型基于暂停指令暂定运行当前仿真模型、基于停止指令停止运行当前仿真模型和/或基于重启指令重启当前仿真模型;
当部署仿真子任务的计算节点处于异常状态时,所述仿***控***将该计算节点上的仿真子任务迁移到处于空闲状态的计算节点上。
进一步,每一计算节点基于接收到的相应的仿真子任务及仿真控制指令执行仿真处理过程,包括:
基于仿真子任务中的仿真模型,加载与当前仿真子任务关联的动态链接库及仿真资源数据,并生成启动成功指令;
基于仿***控***响应启动成功指令生成的初始化指令及与当前仿真子任务关联的仿真初始参数初始化当前仿真模型,并生成初始化成功指令;
基于仿***控***响应初始化成功指令生成的运行指令运行相应的仿真模型,并将仿真运行过程中产生的数据更新并存储至当前仿真子任务的仿真数据存储模块,以便其他计算节点及仿***控***通过数据交互列表访问并获取各仿真数据存储模块存储的仿真运行过程中产生的数据;
若接收到暂停指令,则基于暂停指令暂定运行当前仿真模型;
若接收到停止指令,则基于停止指令停止运行当前仿真模型;
若接收到重启指令,则基于重启指令重启当前仿真模型。
进一步,计算节点还定期反馈子任务执行状态至所述仿***控***,以便所述仿***控***根据所述子任务执行状态动态更新所述仿真任务列表中的仿真子任务仿真进度;
当计算节点完成部署的仿真子任务时,反馈子任务执行完成状态至所述仿***控***,以便所述仿***控***根据仿真子任务执行完成状态动态更新所述仿真任务列表中的仿真子任务仿真进度为已完成,并控制仿真管理总线更新当前计算节点的节点状态为空闲状态。
进一步,仿真管理总线通过管理计算节点的节点属性信息来管控计算节点的加入和退出:
当计算节点动态接入所述仿真管理总线时:
计算节点发送节点属性配置信息至仿真管理总线,并向仿真管理总线周期性地发送心跳信息;
仿真管理总线基于所述节点属性配置信息及周期性的心跳信息动态维护所述计算节点列表;
当计算节点主动或被动断开仿真管理总线后,仿真管理总线无法接收到计算节点发送的心跳信息;若仿真管理总线在第一预设时间内接收不到计算节点发送的心跳信息,则更新该计算节点的节点状态为异常状态;若在长于第一预设时间的第二预设时间内仍接收不到计算节点发送的心跳信息,则从计算列表中删除该计算节点的节点属性配置信息以及节点状态。
与现有技术相比,本发明至少可实现如下有益效果之一:
本发明提供的分布式实时仿真平台,具备如下优点:
第一,本发明提供的分布式实时仿真平台,通过将仿真任务分解为多个仿真子任务,并将多个仿真子任务分别部署在相应的计算节点上,有效提升了计算节点的资源利用率以及仿真子任务的处理速度;优化了仿真配置及仿真任务分配过程,降低了仿真数据交互过程复杂程度。
第二,本发明还采用仿真管理总线传输对实时性要求较低的仿真任务列表、并管理计算节点列表,而采用实时仿真总线传输对实时性要求较高的控制指令及仿真处理过程中产生的数据,从硬件上提供了高速、稳定的网络通讯,消除了不同传输延迟对信息交互的影响。
第三,由于本发明中的实时仿真平台采用分布式方式实现,平台中涉及的各***、总线、计算节点的功能相对独立,遵循松散耦合的原则,能够实现仿真过程的分布式运行、集中式管理。此外,平台涉及多个***、多条总线及计算节点之间的数据交互,具备较强的可重用性、互操作性、可组合性,便于用户根据实际的仿真要求进行选择,有效扩展了分布式实时仿真平台的使用场景。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例1中的分布式实时仿真平台结构示意图;
图2为本发明实施例2中的适用于仿真模型及流程模型的分布式实时仿真平台结构示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
实施例1
本发明的具体实施例1,公开了一种分布式实时仿真平台,结构示意图如图1所示。所述平台包括仿***控***(1)、仿真管理总线(2)、实时仿真总线(3)及若干计算节点(4);其中,
仿***控***(1),用于根据仿真任务及计算节点列表生成仿真任务列表;所述仿真任务列表包括多个仿真子任务以及部署每一仿真子任务的计算节点(4);还用于将所述仿真任务列表发送至仿真管理总线(2),由仿真管理总线(2)将每一仿真子任务发送至部署该仿真子任务的计算节点;还用于将仿真控制指令通过实时仿真总线(3)发送至部署仿真子任务的计算节点(4),以控制计算节点执行仿真处理过程的进度。
部署仿真子任务的计算节点(4),用于基于接收到的仿真子任务及仿真控制指令执行仿真处理过程,并通过实时仿真总线(3)与仿***控***(1)及其他计算节点(4)交互仿真处理过程中产生的数据。
与现有技术相比,在本实施例中,通过将仿真任务分解为多个仿真子任务,并将多个仿真子任务分别部署在相应的计算节点上,有效提升了计算节点的资源利用率以及仿真子任务的处理速度;本实施例还采用仿真管理总线(2)传输对实时性要求较低的仿真任务列表,而采用实时仿真总线(3)传输对实时性要求较高的控制指令及仿真处理过程中产生的数据,从硬件上提供了高速、稳定的网络通讯,消除了不同传输延迟对信息交互的影响;实际应用过程中,考虑到仿真管理总线(2)对实时性要求低,因此可以选用以太网络进行通讯;而实时仿真总线(3)对实时性要求高,且需要及时完成数据交互,可选用实时光纤反射内存网络。
优选地,本实施例中的分布式实时仿真平台还可以包括仿真监控***(5),仿真监控***(5)接入仿真管理总线(2)、实时仿真总线(3),用于监控仿真过程;在实际工作过程中,可根据用户需求开通或关断仿真监控***(5),从有效增强的仿真平台的灵活性。
优选地,分布式实时仿真平台还可以包括时钟同步***(6)及时钟同步总线(7);其中,仿***控***(1)、计算节点(4)及仿真监控***(5)均接入时钟同步总线(7),时钟同步***(6)生成的时间同步信号通过时钟同步总线(7)发送至仿***控***(1)、全部计算节点(4)及仿真监控***(5),以实现仿***控***(1)、全部计算节点(4)及仿真监控***(5)之间的时间同步,从而提供了有效的时间管理机制,保证了各***及计算节点的时间一致性,满足了平台对实时性的需求。
优选地,仿真任务包括多个仿真模型及仿真配置参数;需要说明的是,本实施例中描述的仿真模型均为基于数学建模工具得到的仿真模型;仿真配置参数包括仿真初始参数、仿真步长及每一仿真模型的接口通讯周期等信息。仿真子任务与仿真模型一一对应。计算节点列表包括每一计算节点的节点属性配置信息以及节点状态;其中,节点属性配置信息为计算节点的固有信息,不随仿真进程发生变化;节点状态为计算节点的可变信息,会随着仿真进程及节点自身状态发生变化,如CPU占用率、内核占用率、内存占用率及硬盘占用率等;优选地,节点属性配置信息包括:
节点ID,用于描述计算节点在***中的唯一标识;
性能属性,用于描述计算节点的性能属性信息,如内存大小、CPU主频、CPU内核数量、硬盘大小及实时操作***类型等;
通讯端口号,用于描述计算节点的端口号;
节点的IP地址,用于描述计算节点中节点的IP地址,仿真处理过程在节点服务器上完成。
优选地,节点状态分为空闲、占用及异常状态;其中,空闲状态表示计算节点自身处于正常状态、且未被分配仿真子任务;占用状态表示计算节点自身处于正常状态、且被分配仿真子任务;异常状态表示计算节点自身处于异常状态。
基于上述仿真任务及计算节点列表,仿***控***(1)通过执行以下操作生成仿真任务列表:
1)基于每一仿真模型及仿真配置参数,确定匹配于该仿真模型的仿真子任务;所述仿真子任务包括仿真初始参数、仿真模型的动态链接库及仿真资源数据等信息;
2)预测每一仿真子任务的计算量,基于每一仿真子任务的计算量及计算节点列表中处于空闲状态的计算节点的性能属性,确定部署每一仿真子任务的计算节点,并更新计算节点列表中部署仿真子任务的计算节点的节点状态为忙时状态;
在该过程中,根据实际情况,可将一个仿真子任务部署在一个计算节点上,若计算节点的性能属性较好,也可将数个仿真子任务部署在同一计算节点上,此时,为保证仿真子任务之间不会相互影响,一般会将每一仿真子任务单独部署在计算节点的一个CPU内核上,可综合每一仿真子任务的计算量及计算节点的性能属性确定相应的部署方式。
3)汇总全部仿真子任务及部署每一仿真子任务的计算节点,形成仿真任务列表。
优选地,为提升数据交互效率及定位准确度,仿真任务列表中还可以包括数据交互列表,数据交互列表中维护了仿***控***(1)的ID,每一仿真子任务的任务编号,部署每一仿真子任务的计算节点(4)的节点ID,以及每一仿真子任务的仿真数据存储模块;其中,所述仿真数据存储模块用于存储该仿真子任务的仿真处理过程中产生的数据;每一仿真子任务的仿真数据存储模块与仿真子任务的任务编号一一对应;连接在同一实时仿真总线上的仿***控***及计算节点共享同一数据交互列表;数据交互列表包括仿真子任务仿真进度,此外,仿真任务列表中也可以包括仿真子任务仿真进度,以便用户随时了解仿真进度。示例性地,仿***控***(1)通过执行以下操作生成仿真任务列表中的数据交互列表:
4)为每一仿真子任务分配唯一任务编号,并汇总仿真任务编号、部署仿真子任务的计算节点的节点ID、仿***控***(1)的ID、仿真数据存储模块及每一仿真子任务仿真进度,形成数据交互列表。
此外,需要说明的是,考虑到仿***控***(1)可能同时接收到多个仿真任务,为便于优先处理紧急任务,仿真任务还可以包括任务优先级,用于描述当前仿真任务的紧急程度,任务优先级越高,相应地,仿真任务的紧急程度也就越高;若同时存在多个仿真任务,则所述仿***控***(1)基于多个仿真任务中每一仿真任务的任务优先级确定多个仿真任务的执行顺序。
优选地,仿真控制指令由仿***控***产生,包括初始化指令、运行指令、暂停指令、停止指令及重启指令;示例性地,仿***控***(1)通过执行以下操作控制计算节点执行仿真处理过程的进度:
1)在获取到全部仿真模型启动成功指令后,生成初始化指令;
2)在获取到全部仿真模型响应初始化指令生成的初始化成功指令后,生成运行指令;
3)在获取到部分或全部仿真模型响应运行指令生成的开始运行指令后,根据仿真进度生成控制相应仿真模型暂停的暂停指令、控制相应仿真模型停止的停止指令和/或控制相应仿真模型重启的重启指令,以便相应仿真模型基于暂停指令暂定运行当前仿真模型、基于停止指令停止运行当前仿真模型和/或基于重启指令重启当前仿真模型;
4)当部署仿真子任务的计算节点(4)处于异常状态时,将该计算节点上的仿真子任务迁移到处于空闲状态的计算节点上。
优选地,每一计算节点(4)基于接收到的相应的仿真子任务及仿真控制指令执行仿真处理过程,包括:
1)基于仿真子任务对应的仿真模型,加载与当前仿真子任务关联的动态链接库及仿真资源数据,并生成启动成功指令;
2)基于仿***控***(1)响应启动成功指令生成的初始化指令及与当前仿真子任务关联的仿真初始参数初始化当前仿真模型,并生成初始化成功指令;
3)基于仿***控***(1)响应初始化成功指令生成的运行指令运行相应的仿真模型,并将仿真运行过程中产生的数据更新并存储至当前仿真子任务的仿真数据存储模块,以便其他计算节点(4)及仿***控***(1)通过数据交互列表访问并获取各仿真数据存储模块存储的仿真运行过程中产生的数据;
4)若接收到暂停指令,则基于暂停指令暂定运行当前仿真模型;
若接收到停止指令,则基于停止指令停止运行当前仿真模型;
若接收到重启指令,则基于重启指令重启当前仿真模型。
上述仿真处理过程中涉及的指令及数据均更新并存储在每一仿真子任务对应的仿真数据存储模块中,部署仿真子任务的计算节点(4)与仿***控***(1)共享该仿真数据存储模块,以便获得与自身相关的、最新的仿真处理过程中产生的数据。
此外,计算节点还定期反馈子任务执行状态至所述仿***控***(1),以便所述仿***控***(1)根据所述子任务执行状态动态更新所述仿真任务列表中的仿真子任务仿真进度。当计算节点完成部署的仿真子任务时,反馈子任务执行完成状态至所述仿***控***(1),以便所述仿***控***(1)根据仿真子任务执行完成状态动态更新所述仿真任务列表中的仿真子任务仿真进度为已完成,并控制仿真管理总线(2)更新当前计算节点(4)的节点状态为空闲状态。
需要说明的是,实时仿真平台的计算资源由计算节点(4)构成,计算节点(4)可以动态的加入和退出仿真平台。在本实施例中,仿真管理总线(2)通过管理计算节点(4)的节点属性信息来管控计算节点(4)的加入和退出。具体地,
当计算节点(4)动态接入所述仿真管理总线(2)时:
计算节点(4)发送节点属性配置信息至仿真管理总线(2),并向仿真管理总线(2)周期性地发送心跳信息;
仿真管理总线(2)基于所述节点属性配置信息及周期性的心跳信息动态维护所述计算节点列表。
当计算节点主动或被动断开仿真管理总线(21)后,仿真管理总线(21)无法接收到计算节点发送的心跳信息;若仿真管理总线(21)在第一预设时间内接收不到计算节点发送的心跳信息,则更新该计算节点的节点状态为异常状态;若在长于第一预设时间的第二预设时间内仍接收不到计算节点发送的心跳信息,则从计算列表中删除该计算节点的节点属性配置信息以及节点状态。
优选地,根据实时仿真平台的仿真计算量,可以设计多种计算节点(4),以满足仿真过程的多样化需求。如基于X86或嵌入式架构的计算节点,其中,基于X86架构的计算节点具备高性能、容易进行性能扩展及兼容性强等优势,但是存在功耗较高的缺点;基于嵌入式架构的计算节点具备低功耗的优点。此外,还可设置多种不同性能属性的计算节点,以便根据不同仿真模型选择适配的计算节点,达到兼顾仿真处理速度及性能的效果。
实施例2
考虑到在实际硬件在环的仿真过程中,除基于数学建模工具得到的、针对仿真对象功能算法的仿真模型外,还需要对仿真对象物理接口的通讯格式及流程进行仿真,将对仿真对象物理接口的通讯格式及流程进行仿真的模型称为流程模型。在进行流程模型的仿真过程中,需要连接实物或物理效应设备,由实物或物理效应设备共同配合完成仿真任务。因此,为适应这类流程模型的仿真,增强分布式实时仿真平台的适应性,本发明实施例2在实施例1方案的基础上进行了改进,形成了本实施例2中可同时满足仿真模型及流程模型仿真过程的分布式实时仿真平台,即适用于仿真模型及流程模型的分布式实时仿真平台,结构示意图如图2所示。改进方式为:
在实施例1方案的基础上增设I/O接口适配器(8),所述I/O接口适配器(8)用于根据仿真任务连接实物或物理效应设备,并配合计算节点(4)完成仿真处理过程中与所述实物或物理效应设备之间的I/O仿真数据交互。I/O接口适配器还接入时钟同步总线(7);时钟同步***(6)生成的时间同步信号还通过时钟同步总线(7)发送至I/O接口适配器,以实现仿***控***(1)、全部计算节点(4)、仿真监控***(5)及I/O接口适配器(8)之间的时间同步。
优选地,分布式实时仿真平台还包括I/O接口总线(9),I/O接口适配器(8)还接入仿真管理总线(2)及I/O接口总线(9);通过仿真管理总线(2)管理I/O接口适配器(8)及实物或物理效应设备的接入或退出,通过I/O接口总线(9)实现仿真过程中计算节点(4)与I/O接口适配器(8)上连接的实物或物理效应设备之间的I/O仿真数据交互。
在执行与流程模型相关的仿真任务之前,需要将I/O接口适配器(8)接入仿真管理总线(2),然后将所需的实物或物理效应设备连接至I/O接口适配器(8)的对应接口。在本实施例中,仿真管理总线(2)通过动态维护接口适配器列表来管理I/O接口适配器及实物或物理效应设备的接入或退出;以确保I/O接口适配器(8)、仿真管理总线(2)及实物或物理效应设备三者之间的可靠连接。
优选地,接口适配器列表由若干条接口适配器配置信息组成,每一接口适配器配置信息均包括:
I/O接口适配器ID,用于描述I/O接口适配器的唯一地址;一条接口适配器配置信息对应唯一的I/O接口适配器ID,I/O接口适配器ID由仿真管理总线唯一分配得到;
接口分配列表,包括I/O接口适配器中每一接口的接口号、接口类型、接口性能参数;接口号用于描述I/O接口适配器(8)中接口的唯一地址;接口类型用于描述接口传输的数据类型;示例性地,接口类型可以为开关量、模拟量等;接口性能参数用于描述接口的性能参数信息,如波特率等;
接口状态列表,用于描述I/O接口适配器中每一接口的接口状态,当实物或物理效应设备接入接口时,该接口的接口状态为已连接,否则,该接口的接口状态为未连接;
I/O接口适配器状态,用于描述I/O接口适配器的状态为正常或者异常。
具体地,仿真管理总线(2)通过动态维护接口适配器列表来管理I/O接口适配器(8)及实物或物理效应设备的接入或退出,包括:
当I/O接口适配器(8)动态接入所述仿真管理总线(2)时,I/O接口适配器(8)发送接口分配列表至仿真管理总线(2),仿真管理总线(2)接收到接口分配列表后,为I/O接口适配器(8)分配I/O接口适配器ID,并更新I/O接口适配器状态的状态为正常;
当实物或物理效应设备接入或退出I/O接口适配器(8)的接口时,I/O接口适配器(8)更新接口状态列表,并将更新后的接口状态列表发送至仿真管理总线(2),由仿真管理总线(2)更新接口状态列表;
I/O接口适配器(8)还向仿真管理总线(2)周期性地发送心跳信息;当I/O接口适配器(8)主动或被动断开仿真管理总线(21)后,仿真管理总线(21)将无法接收到I/O接口适配器(8)发送的心跳信息;若仿真管理总线(21)在第一预设时间内接收不到I/O接口适配器(8)发送的心跳信息,则更新该I/O接口适配器(8)的ID状态为异常状态,并停用该I/O接口适配器(8)的所有接口;若在长于第一预设时间的第二预设时间内仍接收不到I/O接口适配器(8)发送的心跳信息,则从接口适配器列表中删除当前I/O接口适配器ID对应的接口适配器配置信息。
I/O接口适配器(8)、仿真管理总线(2)及实物或物理效应设备三者可靠连接后,仿***控***(1)即可生成任务列表,具体地:
仿***控***(1),用于根据仿真任务、计算节点列表及接口适配器列表生成仿真任务列表;所述仿真任务包括若干流程模型、若干仿真模型或者若干流程模型与若干仿真模型的组合;所述仿真任务列表包括:多个仿真子任务以及部署每一仿真子任务的计算节点(4);每一仿真子任务关联一个仿真模型或流程模型;关联流程模型的仿真子任务中还包括流程模型关联的I/O接口适配器(8)的接口的接口号;还用于将所述仿真任务列表发送至仿真管理总线(2),由仿真管理总线(2)将每一仿真子任务发送至部署该仿真子任务的计算节点(4);还用于将仿真控制指令通过实时仿真总线(3)发送至部署仿真子任务的计算节点(4),以控制计算节点执行仿真处理过程的进度;
部署仿真子任务的计算节点(4),用于基于仿真子任务及仿真控制指令执行仿真处理过程,并通过实时仿真总线(3)与仿***控***(1)及其他计算节点(4)交互仿真处理过程中产生的数据;当所述计算节点(4)上部署的仿真子任务关联流程模型时,还通过I/O接口总线(9)及I/O接口适配器(8)与该流程模型关联的I/O接口适配器(8)的接口所连接的实物或物理效应设备交互仿真I/O数据。
优选地,本实施例2的仿真任务中还包括仿真配置参数以及每一流程模型的接口配置信息;仿真配置参数包括仿真初始参数、仿真步长、每一仿真模型及每一流程模型的接口通讯周期等信息;接口配置信息包括接口类型及接口配置参数,用于确定与流程模型关联的I/O接口适配器(8)的接口。计算节点列表同实施例1。
优选地,在本实施例中,仿***控***(1)通过执行以下操作生成仿真任务列表:
1)对于每一仿真模型,基于仿真模型及仿真配置参数确定匹配于该仿真模型的仿真子任务;此时,仿真子任务包括仿真初始参数、相应仿真模型的动态链接库及仿真资源数据等信息;
对于每一流程模型,基于流程模型、仿真配置参数、接口配置信息及接口适配器列表确定匹配于该流程模型的仿真子任务:具体地,
若接口适配器列表中的接口满足:接口状态为已连接、接口类型同接口配置信息中的接口类型,且接口性能参数匹配接口配置参数,则将该接口作为流程模型关联的I/O接口适配器(8)的接口;此时,仿真子任务还包括该流程模型的仿真初始参数、动态链接库、仿真资源数据及接口配置参数等信息;
2)该步骤同实施例1中仿***控***(1)生成仿真任务列表的步骤2);
3)汇总全部仿真子任务和部署每一仿真子任务的计算节点,当所述计算节点(4)上部署的仿真子任务关联流程模型时,还汇总流程模型关联的I/O接口适配器(8)的接口的接口号,形成仿真任务列表。
4)该步骤同实施例1中仿***控***(1)生成仿真任务列表的步骤4);
此外,仿真任务列表中还可以包括接口地址交互列表,接口地址交互列表中维护了每一流程模型对应的仿真子任务的任务编号、部署每一流程模型对应的仿真子任务的计算节点(4)的节点ID、流程模型关联的I/O接口适配器(8)的接口的接口号以及相应的I/O接口适配器ID;
示例性地,仿***控***(1)通过执行以下操作生成仿真任务列表中的接口地址交互列表:
5)从接口适配器列表中获取流程模型关联的I/O接口适配器(8)的接口的接口号、以及相应的I/O接口适配器ID(即该实物或物理效应设备所接入的I/O接口适配器(8)的I/O接口适配器ID),与每一流程模型对应的仿真子任务的任务编号、部署每一流程模型对应的仿真子任务的计算节点(4)的节点ID共同形成接口地址交互列表。连接在同一I/O接口总线上的计算节点(4)、I/O接口适配器(8)共享同一接口地址交互列表。
优选地,当处理仿真模型对应的仿真子任务时,计算节点(4)的仿真处理过程同实施例1中计算节点(4)基于接收到的相应的仿真子任务及仿真控制指令执行仿真处理过程;
当处理流程模型对应的仿真子任务时,计算节点(4)基于接收到的相应的仿真子任务及仿真控制指令执行仿真处理过程,包括:
1)基于仿真子任务中的流程模型,加载对应的动态链接库及仿真资源数据,并生成启动成功指令;
2)基于仿***控***(1)响应启动成功指令生成的初始化指令,包括:
基于当前流程模型的仿真初始参数,初始化流程模型;
基于当前流程模型的接口配置参数,配置关联的I/O接口适配器(8)的接口;
然后,生成初始化成功指令;
3)基于仿***控***(1)响应初始化成功指令生成的运行指令运行相应的流程模型、以及当前流程模型关联的I/O接口适配器(8)的接口所连接的实物或物理效应设备,并将仿真运行过程中产生的数据更新并存储至仿真数据存储模块中相应的数据存储空间,以便其他计算节点(4)及仿***控***(1)通过数据交互列表访问并获取各仿真数据存储模块存储的仿真运行过程中产生的数据;
同时,在执行仿真任务过程中,计算节点(4)还通过接口地址交互列表与当前流程模型关联的I/O接口适配器(8)的接口所连接的实物或物理效应设备交互仿真处理过程中产生的仿真I/O数据,包括:获取流程模型输出的接口控制数据,或者,向流程模型反馈接口输入数据。
4)若接收到暂停指令,则基于暂停指令暂定运行当前流程模型;
若接收到停止指令,则基于停止指令停止运行当前流程模型;
若接收到重启指令,则基于重启指令重启当前流程模型。
其余未描述的内容可参考实施例1中的相关内容。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种分布式实时仿真平台,其特征在于,所述平台包括:仿***控***、仿真管理总线、实时仿真总线及若干计算节点;其中,
所述仿***控***,
用于根据仿真任务及计算节点列表生成仿真任务列表;所述仿真任务列表包括多个仿真子任务及部署每一仿真子任务的计算节点;
还用于将所述仿真任务列表发送至仿真管理总线,由仿真管理总线将每一仿真子任务发送至部署该仿真子任务的计算节点;
还用于将仿真控制指令通过实时仿真总线发送至部署仿真子任务的计算节点,以控制计算节点执行仿真处理过程的进度;
部署仿真子任务的计算节点,用于基于接收到的仿真子任务及所述仿真控制指令执行仿真处理过程,并通过实时仿真总线与仿***控***及其他计算节点交互仿真处理过程中产生的数据。
2.根据权利要求1所述的分布式实时仿真平台,其特征在于,所述平台还包括仿真监控***,
仿真监控***接入仿真管理总线、实时仿真总线,用于监控仿真过程。
3.根据权利要求2所述的分布式实时仿真平台,其特征在于,所述平台还包括时钟同步***及时钟同步总线;其中,
仿***控***、计算节点及仿真监控***均接入时钟同步总线;
时钟同步***生成的时间同步信号通过时钟同步总线发送至仿***控***、全部计算节点及仿真监控***,以实现仿***控***、全部计算节点及仿真监控***之间的时间同步。
4.根据权利要求1-3中任一项所述的分布式实时仿真平台,其特征在于,
所述仿真任务包括多个仿真模型及仿真配置参数,仿真配置参数包括仿真初始参数、仿真步长及每一仿真模型的接口通讯周期;
所述计算节点列表包括每一计算节点的节点属性配置信息以及节点状态;
所述节点属性配置信息包括:
节点ID,用于描述计算节点在***中的唯一标识;
性能属性,用于描述计算节点的性能属性信息;
通讯端口号,用于描述计算节点的端口号;
节点服务器的IP地址,用于描述计算节点中节点服务器的IP地址;
节点状态分为空闲、占用及异常状态。
5.根据权利要求4所述的分布式实时仿真平台,其特征在于,所述仿***控***通过执行以下操作生成仿真任务列表:
基于每一仿真模型及仿真配置参数,确定匹配于该仿真模型的仿真子任务;所述仿真子任务包括仿真初始参数、仿真模型的动态链接库及仿真资源数据;
预测每一仿真子任务的计算量,基于每一仿真子任务的计算量及计算节点列表中处于空闲状态的计算节点的性能属性,确定部署每一仿真子任务的计算节点,并更新计算节点列表中部署仿真子任务的计算节点的节点状态为忙时状态;
汇总全部仿真子任务及部署每一仿真子任务的计算节点,形成仿真任务列表。
6.根据权利要求5所述的分布式实时仿真平台,其特征在于,所述仿真任务列表中还包括数据交互列表;所述数据交互列表中维护了仿***控***的ID,每一仿真子任务的任务编号,部署每一仿真子任务的计算节点的节点ID,以及每一仿真子任务的仿真数据存储模块;其中,
所述仿真数据存储模块用于存储该仿真子任务的仿真处理过程中产生的数据;每一仿真子任务的仿真数据存储模块与仿真子任务的任务编号一一对应;
连接在同一实时仿真总线上的仿***控***及计算节点共享同一数据交互列表。
7.根据权利要求5或6所述的分布式实时仿真平台,其特征在于,所述仿真控制指令包括初始化指令、运行指令、暂停指令、停止指令及重启指令;
仿***控***通过执行以下操作控制计算节点执行仿真处理过程的进度:
在获取到全部仿真模型启动成功指令后,生成初始化指令;
在获取到全部仿真模型响应初始化指令生成的初始化成功指令后,生成运行指令;
在获取到部分或全部仿真模型响应运行指令生成的开始运行指令后,根据仿真进度生成控制相应仿真模型暂停的暂停指令、控制相应仿真模型停止的停止指令和/或控制相应仿真模型重启的重启指令,以便相应仿真模型基于暂停指令暂定运行当前仿真模型、基于停止指令停止运行当前仿真模型和/或基于重启指令重启当前仿真模型;
当部署仿真子任务的计算节点处于异常状态时,所述仿***控***将该计算节点上的仿真子任务迁移到处于空闲状态的计算节点上。
8.根据权利要求7所述的分布式实时仿真平台,其特征在于,每一计算节点基于接收到的相应的仿真子任务及仿真控制指令执行仿真处理过程,包括:
基于仿真子任务中的仿真模型,加载与当前仿真子任务关联的动态链接库及仿真资源数据,并生成启动成功指令;
基于仿***控***响应启动成功指令生成的初始化指令及与当前仿真子任务关联的仿真初始参数初始化当前仿真模型,并生成初始化成功指令;
基于仿***控***响应初始化成功指令生成的运行指令运行相应的仿真模型,并将仿真运行过程中产生的数据更新并存储至当前仿真子任务的仿真数据存储模块,以便其他计算节点及仿***控***通过数据交互列表访问并获取各仿真数据存储模块存储的仿真运行过程中产生的数据;
若接收到暂停指令,则基于暂停指令暂定运行当前仿真模型;
若接收到停止指令,则基于停止指令停止运行当前仿真模型;
若接收到重启指令,则基于重启指令重启当前仿真模型。
9.根据权利要求8所述的分布式实时仿真平台,其特征在于,
计算节点还定期反馈子任务执行状态至所述仿***控***,以便所述仿***控***根据所述子任务执行状态动态更新所述仿真任务列表中的仿真子任务仿真进度;
当计算节点完成部署的仿真子任务时,反馈子任务执行完成状态至所述仿***控***,以便所述仿***控***根据仿真子任务执行完成状态动态更新所述仿真任务列表中的仿真子任务仿真进度为已完成,并控制仿真管理总线更新当前计算节点的节点状态为空闲状态。
10.根据权利要求4所述的分布式实时仿真平台,其特征在于,仿真管理总线通过管理计算节点的节点属性信息来管控计算节点的加入和退出:
当计算节点动态接入所述仿真管理总线时:
计算节点发送节点属性配置信息至仿真管理总线,并向仿真管理总线周期性地发送心跳信息;
仿真管理总线基于所述节点属性配置信息及周期性的心跳信息动态维护所述计算节点列表;
当计算节点主动或被动断开仿真管理总线后,仿真管理总线无法接收到计算节点发送的心跳信息;若仿真管理总线在第一预设时间内接收不到计算节点发送的心跳信息,则更新该计算节点的节点状态为异常状态;若在长于第一预设时间的第二预设时间内仍接收不到计算节点发送的心跳信息,则从计算列表中删除该计算节点的节点属性配置信息以及节点状态。
CN202111122435.XA 2021-09-24 2021-09-24 一种分布式实时仿真平台 Pending CN113867889A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111122435.XA CN113867889A (zh) 2021-09-24 2021-09-24 一种分布式实时仿真平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111122435.XA CN113867889A (zh) 2021-09-24 2021-09-24 一种分布式实时仿真平台

Publications (1)

Publication Number Publication Date
CN113867889A true CN113867889A (zh) 2021-12-31

Family

ID=78993815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111122435.XA Pending CN113867889A (zh) 2021-09-24 2021-09-24 一种分布式实时仿真平台

Country Status (1)

Country Link
CN (1) CN113867889A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567627A (zh) * 2022-02-25 2022-05-31 山东云海国创云计算装备产业创新中心有限公司 一种仿真平台管理方法、***、设备以及介质
CN116150948A (zh) * 2022-11-21 2023-05-23 中国船舶重工集团公司第七一九研究所 一种复杂***的仿真数据分析方法及相关装置
WO2023178723A1 (zh) * 2022-03-24 2023-09-28 上海御微半导体技术有限公司 基于模型开发的仿真控制平台及上料交接测试方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114567627A (zh) * 2022-02-25 2022-05-31 山东云海国创云计算装备产业创新中心有限公司 一种仿真平台管理方法、***、设备以及介质
CN114567627B (zh) * 2022-02-25 2024-01-26 山东云海国创云计算装备产业创新中心有限公司 一种仿真平台管理方法、***、设备以及介质
WO2023178723A1 (zh) * 2022-03-24 2023-09-28 上海御微半导体技术有限公司 基于模型开发的仿真控制平台及上料交接测试方法
CN116150948A (zh) * 2022-11-21 2023-05-23 中国船舶重工集团公司第七一九研究所 一种复杂***的仿真数据分析方法及相关装置

Similar Documents

Publication Publication Date Title
CN113867889A (zh) 一种分布式实时仿真平台
CN113848752B (zh) 一种分布式实时仿真方法
CN107612962B (zh) 一种分布式仿真评估试验管理***
CN114327858A (zh) 基于控域的云边端分布式算力协同方法及***
CN108293041A (zh) 一种资源的分配方法、装置和***
US20060184819A1 (en) Cluster computer middleware, cluster computer simulator, cluster computer application, and application development supporting method
CN110838961B (zh) 一种通用航空总线消息调度***
WO2021103646A1 (zh) 一种部署pod的方法及装置
CN112437129B (zh) 集群的管理方法及集群的管理装置
CN111343219B (zh) 计算服务云平台
CN114996018A (zh) 面向异构计算的资源调度方法、节点、***、设备及介质
CN113051040A (zh) 一种异地远程分布式联合仿真方法
CN109446062A (zh) 云计算服务中的软件调试的方法和装置
CN113836061A (zh) 一种适用于仿真模型及流程模型的分布式实时仿真方法
CN110618821A (zh) 基于Docker的容器集群***及快速搭建方法
CN115617364A (zh) Gpu虚拟化部署方法、***、计算机设备和存储介质
CN105933136B (zh) 一种资源调度方法及***
CN117435324B (zh) 基于容器化的任务调度方法
CN116932130A (zh) 一种基于OpenStack的仿真实验环境部署方法
CN110569104A (zh) 深度学习***中任务训练的管理方法和计算机存储介质
CN113836060B (zh) 一种适用于仿真模型及流程模型的分布式实时仿真平台
CN115827285B (zh) 一种跨平台通信方法、***、装置、设备及介质
CN114615268B (zh) 基于Kubernetes集群的服务网络、监控节点、容器节点及设备
CN116339911A (zh) 一种基于K8S的弹性仿真Modelica模型的方法、***、设备及介质
CN110162381A (zh) 一种容器内代理执行方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination