CN104615815A - 一种并行模型的消息传输方法及系统 - Google Patents
一种并行模型的消息传输方法及系统 Download PDFInfo
- Publication number
- CN104615815A CN104615815A CN201510041057.0A CN201510041057A CN104615815A CN 104615815 A CN104615815 A CN 104615815A CN 201510041057 A CN201510041057 A CN 201510041057A CN 104615815 A CN104615815 A CN 104615815A
- Authority
- CN
- China
- Prior art keywords
- parallel
- message
- model component
- model
- mpi
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种并行模型的消息传输方法,该方法的步骤包括将CISE引擎集中式开发的仿真模型组件转换为并行运行的模型组件,并生成并行代码框架;对并行仿真运行平台内所有的复杂数据类型进行注册管理和生成类型代理;将并行运行的模型组件之间的信息交互封装为消息传递编程模型MPI的消息格式,从而完成消息的发送与接收。本发明所述技术方案通过将仿真应用中的相关模型实例自动映射为在并行机上运行的逻辑进程LP,通过LP之间发送MPI消息完成模型之间的通信,同时也通过在LP之间发送MPI消息实现时间同步等功能。实现了并行模型之间事件调度和处理、消息发送等对用户透明,减少用户的开发难度和开发工作量,提高开发效率。
Description
技术领域
本发明涉及通信领域,特别是涉及一种并行模型的消息传输方法及系统。
背景技术
当前,计算机微处理器的发展已进入多核时代,并由多核向众核发展。传统仿真软件在多核平台中只能被分配到单个处理器核上执行,无法充分利用多核平台的计算资源,显示出预期的加速性能。仿真软件并行化是提高多核平台计算资源利用率和仿真运行速度的有效方法。但传统的实体级模型的并行仿真编程模式需要在模型代码内部实现并行,需要模型编程人员不仅对模型建模还要对并行编程模式有很深入的了解,这将对模型构建人员产生很高要求并增加模型开发的难度。
因此需要提供一种针对实体级的并行仿真模型的自动消息传输实现方法,可充分兼容现有的仿真模型组件,同时可减少模型开发人员的工作量,在并行仿真运行平台中的完全重用原有的模型组件,同时封装了底层并行相关操作,自动实现并行模型的消息传输,以满足实体级模型的并行仿真需求。
发明内容
本发明要解决的技术问题是提供一种并行模型的消息传输实现方法及系统,解决以往串行仿真向并行仿真平台移植过程中,建模人员需要对模型进行大量修改且并行编程模式复杂的问题。
为解决上述技术问题,本发明采用下述技术方案:
一种并行模型的消息传输方法,该方法的步骤包括
将CISE引擎集中式开发的仿真模型组件转换为并行运行的模型组件,并生成并行代码框架;
对并行仿真运行平台内所有的复杂数据类型进行注册管理和生成类型代理;
将并行运行的模型组件之间的信息交互封装为消息传递编程模型MPI的消息格式,从而完成消息的发送与接收。
优选的,所述并行运行的模型组件包括并行仿真中所需的数据结构和时间管理机制。
优选的,所述将常规集中式开发的仿真模型组件封装为并行运行的模型组件的过程中还生成模型进程分配文件,该文件包括记录仿真应用初始化的模型组件实例个数,并静态的为每个模型组件实例分配一个进程ID,同时记录进程ID与模型组件实例的对应关系。
优选的,所述对并行仿真运行平台内所有的复杂数据类型进行注册管理和生成类型代理包括
获取原并行仿真运行平台内所有的复杂数据类型的结构、属性和每个属性所占用的字节数;
按照MPI的格式,定义需要注册的消息类型;
向MPI注册消息类型;
删除已经注册的消息类型。
一种并行模型的消息传输系统,该系统包括
并行适配映射单元,用于常规集中式开发的仿真模型组件转换为并行运行的模型组件;
数据转换单元,用于对并行仿真运行平台内所有的复杂数据类型进行类型注释;
信息交互单元,用于将并行运行的模型组件之间的信息交互转换为MPI格式的消息。
优选的,该所述并行适配映射单元包括
并行代码框架生成模块,用于完成常规集中式开发的仿真模型组件和代码转换为并行运行的模型组件及代码的过程;
模型进程分配文件生成模块,用于根据仿真应用初始化的模型组件实例个数,静态的为每个模型组件实例分配一个进程ID,同时记录进程ID与模型组件实例的对应关系。
优选的,所述数据转换单元包括
原始信息获取模块,用于获取原并行仿真运行平台内所有的复杂数据类型的结构、属性和每个属性所占用的字节数;
数据注册管理模块,用于向MPI注册消息类型和删除已经注册的消息类型;
生成类型代理模块,用于按照MPI的格式,定义需要注册的消息类型。
优选的,所述信息交互单元包括
转换模块,用于将并行运行的模型组件之间的信息交互转换为MPI格式的消息;
消息发送模块,用于一对一或一对多的并行消息发送;
消息接收模块,用于并行消息的接收。
优选的,该系统还包括
时间管理模块,用于实时获取CISE引擎的时间;
时间同步模块,用于根据时间管理模块获取的时间,同步并行消息传输系统。
本发明的有益效果如下:
本发明所述技术方案通过将仿真应用中的相关模型实例自动映射为在并行机上运行的逻辑进程LP,通过LP之间发送MPI消息完成模型之间的通信,同时也通过在LP之间发送MPI消息实现时间同步等功能。实现了并行模型之间事件调度和处理、消息发送等对用户透明,减少用户的开发难度和开发工作量,提高开发效率。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明;
图1示出本发明所述一种并行模型的消息传输实现系统的示意图。
具体实施方式
目前CISE为集中式的仿真引擎,所有模型组件都在CISE引擎中串行执行,当实体个数比较多或者模型计算比较复杂的时候,计算性能会有所下降。因此本并行仿真运行平台将仿真应用中的仿真实体进行并行化,使仿真实体运行不同的进程中,均衡仿真引擎的负载,充分利用并行机或者集群的计算性能。
本发明公开了一种并行模型的消息传输实现方法,该方法的步骤包括
首先,串行仿真模型组件自动映射为并行模型组件:通过将仿真应用中的相关模型实例自动映射为在并行机上运行的逻辑进程LP,一组并行执行的逻辑进程LP协作完成的并行仿真应用。生成并行仿真模型组件是将原有集中式开发的仿真模型组件封装为可以并行运行的模型组件,主要是为其增加并行仿真中所需要的数据结构和时间管理机制。并行代码框架是仿真应用的主控程序,包含了多个并行仿真模型的调度和仿真应用的推进控制程序。与集中式仿真应用不同,并行仿真应用是由一些并行执行的进程组成的,每个进程的代码都相同,代码的具体执行逻辑由控制程序进行分配和选择。因此需要将全部仿真应用逻辑和仿真模型的调度都包含在一个应用程序中。并行代码框架生成即完成将原有仿真应用的模型和代码转换为并行仿真应用代码的过程。由于并行代码框架适用于所有模型组件,因此需要对进程执行的模型组件程序做运行时选择。并行适配映射的另一个功能就是生成模型进程分配文件,该文件记录仿真应用初始化时的模型组件实例个数,并静态的为每个模型组件实例分配一个进程ID,该文件会记录进程ID与模型组件实例的对应关系。
其次,MPI消息类型注释:消息类型注册管理主要用于对仿真应用中的复杂数据类型进行注册。由于所有在MPI中进行通信的类型都需要首先进行注册和生成消息代理,因此需要在并行仿真运行平台内对所有的复杂类型进行注册管理和生成类型代理,其中包括
1)获取消息类型声明:获取原类型的结构,包括其中有几个属性,每个属性占用的字节数等;
2)定义消息类型代理:按照MPI的格式,设计需要注册的消息类型;
3)添加消息类型注册:向MPI注册消息类型;
4)删除消息类型注册:删除已经注册的消息类型。
第三,将模型间交互映射为MPI消息:该步骤主要是为提供基于MPI的并行通信能力,为并行引擎中运行的各个模型提供并行通信能力,将模型组件实例之间的信息交互封装为为MPI的消息,完成消息的发送与接收。并行通信模块的功能主要是并行消息的收发,具体包括:一对一的并行消息发送;一对多的并行消息发送;并行消息接收。
并行消息管理类CParPortMng,封装CPort类任意自定义类型的消息都需要实现该基类。主要目的是用于通信。包括:1)MPI类型MPI_Datatype;2)具体CPort;3)Port类型指针
包括的函数:
构造函数MsgBaseType(CPort)
主要功能:完成类型定义和提交
返回CPort指针
发送函数:
主要功能:1)数据打包(在需要的时候);2)数据发送
本发明进一步公开了一种并行模型的消息传输实现系统,该系统包括
并行适配映射单元,用于常规集中式开发的仿真模型组件转换为并行运行的模型组件;该单元包括并行代码框架生成模块,用于完成常规集中式开发的仿真模型组件和代码转换为并行运行的模型组件及代码的过程;模型进程分配文件生成模块,用于根据仿真应用初始化的模型组件实例个数,静态的为每个模型组件实例分配一个进程ID,同时记录进程ID与模型组件实例的对应关系。
数据转换单元,用于对并行仿真运行平台内所有的复杂数据类型进行类型注释;该单元包括原始信息获取模块,用于获取原并行仿真运行平台内所有的复杂数据类型的结构、属性和每个属性所占用的字节数;数据注册管理模块,用于向MPI注册消息类型和删除已经注册的消息类型;生成类型代理模块,用于按照MPI的格式,定义需要注册的消息类型。
信息交互单元,用于将并行运行的模型组件之间的信息交互转换为MPI格式的消息;转换模块,用于将并行运行的模型组件之间的信息交互转换为MPI格式的消息;消息发送模块,用于一对一或一对多的并行消息发送;消息接收模块,用于并行消息的接收。
该系统还包括时间管理模块,用于实时获取CISE引擎的时间;和时间同步模块,用于根据时间管理模块获取的时间,同步并行消息传输系统。
综上所述,本发明所述技术方案通过将仿真应用中的相关模型实例自动映射为在并行机上运行的逻辑进程LP,通过LP之间发送MPI消息完成模型之间的通信,同时也通过在LP之间发送MPI消息实现时间同步等功能。实现了并行模型之间事件调度和处理、消息发送等对用户透明,减少用户的开发难度和开发工作量,提高开发效率。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (9)
1.一种并行模型的消息传输方法,其特征在于,该方法的步骤包括
将CISE引擎集中式开发的仿真模型组件转换为并行运行的模型组件,并生成并行代码框架;
对并行仿真运行平台内所有的复杂数据类型进行注册管理和生成类型代理;
将并行运行的模型组件之间的信息交互封装为消息传递编程模型MPI的消息格式,从而完成消息的发送与接收。
2.根据权利要求1所述的消息传输实现方法,其特征在于,所述并行运行的模型组件包括并行仿真中所需的数据结构和时间管理机制。
3.根据权利要求1所述的消息传输实现方法,其特征在于,所述将常规集中式开发的仿真模型组件封装为并行运行的模型组件的过程中还生成模型进程分配文件,该文件包括记录仿真应用初始化的模型组件实例个数,并静态的为每个模型组件实例分配一个进程ID,同时记录进程ID与模型组件实例的对应关系。
4.根据权利要求1所述的消息传输实现方法,其特征在于,所述对并行仿真运行平台内所有的复杂数据类型进行注册管理和生成类型代理包括
获取原并行仿真运行平台内所有的复杂数据类型的结构、属性和每个属性所占用的字节数;
按照MPI的格式,定义需要注册的消息类型;
向MPI注册消息类型;
删除已经注册的消息类型。
5.一种并行模型的消息传输系统,其特征在于,该系统包括
并行适配映射单元,用于常规集中式开发的仿真模型组件转换为并行运行的模型组件;
数据转换单元,用于对并行仿真运行平台内所有的复杂数据类型进行类型注释;
信息交互单元,用于将并行运行的模型组件之间的信息交互转换为MPI格式的消息。
6.根据权利要求5所述的消息传输实现系统,其特征在于,该所述并行适配映射单元包括
并行代码框架生成模块,用于完成常规集中式开发的仿真模型组件和代码转换为并行运行的模型组件及代码的过程;
模型进程分配文件生成模块,用于根据仿真应用初始化的模型组件实例个数,静态的为每个模型组件实例分配一个进程ID,同时记录进程ID与模型组件实例的对应关系。
7.根据权利要求5所述的消息传输实现系统,其特征在于,所述数据转换单元包括
原始信息获取模块,用于获取原并行仿真运行平台内所有的复杂数据类型的结构、属性和每个属性所占用的字节数;
数据注册管理模块,用于向MPI注册消息类型和删除已经注册的消息类型;
生成类型代理模块,用于按照MPI的格式,定义需要注册的消息类型。
8.根据权利要求5所述的消息传输实现系统,其特征在于,所述信息交互单元包括
转换模块,用于将并行运行的模型组件之间的信息交互转换为MPI格式的消息;
消息发送模块,用于一对一或一对多的并行消息发送;
消息接收模块,用于并行消息的接收。
9.根据权利要求5所述的消息传输实现系统,其特征在于,该系统还包括
时间管理模块,用于实时获取CISE引擎的时间;
时间同步模块,用于根据时间管理模块获取的时间,同步并行消息传输系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510041057.0A CN104615815B (zh) | 2015-01-27 | 2015-01-27 | 一种并行模型的消息传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510041057.0A CN104615815B (zh) | 2015-01-27 | 2015-01-27 | 一种并行模型的消息传输方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104615815A true CN104615815A (zh) | 2015-05-13 |
CN104615815B CN104615815B (zh) | 2017-08-04 |
Family
ID=53150256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510041057.0A Active CN104615815B (zh) | 2015-01-27 | 2015-01-27 | 一种并行模型的消息传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104615815B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866374A (zh) * | 2015-05-22 | 2015-08-26 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN113297729A (zh) * | 2021-05-13 | 2021-08-24 | 中国人民解放军军事科学院战争研究院 | 一种基于实体类型的并行仿真实体划分方法 |
CN115037631A (zh) * | 2022-05-13 | 2022-09-09 | 北京中科晶上科技股份有限公司 | 基于集群的网络仿真方法、装置和网络仿真系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201274500Y (zh) * | 2008-09-16 | 2009-07-15 | 王鹏 | 基于mpi的并行文件传输服务器群系统 |
-
2015
- 2015-01-27 CN CN201510041057.0A patent/CN104615815B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201274500Y (zh) * | 2008-09-16 | 2009-07-15 | 王鹏 | 基于mpi的并行文件传输服务器群系统 |
Non-Patent Citations (4)
Title |
---|
NICOL D等: "Composite Synchronization in Parallel Discrete-Event Simulation", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
乔海泉: "并行仿真引擎及其相关技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
吴轶蕾等: "一种基于组件的DEVS建模与仿真方法研究", 《现代防御技术》 * |
苏年乐: "仿真模型可移植性规范的多核并行化研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866374A (zh) * | 2015-05-22 | 2015-08-26 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN104866374B (zh) * | 2015-05-22 | 2018-07-06 | 北京华如科技股份有限公司 | 基于多任务的离散事件并行仿真及时间同步方法 |
CN113297729A (zh) * | 2021-05-13 | 2021-08-24 | 中国人民解放军军事科学院战争研究院 | 一种基于实体类型的并行仿真实体划分方法 |
CN115037631A (zh) * | 2022-05-13 | 2022-09-09 | 北京中科晶上科技股份有限公司 | 基于集群的网络仿真方法、装置和网络仿真系统 |
CN115037631B (zh) * | 2022-05-13 | 2023-08-22 | 北京中科晶上科技股份有限公司 | 基于集群的网络仿真方法、装置和网络仿真系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104615815B (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108932588B (zh) | 一种前后端分离的水电站群优化调度系统及方法 | |
CN104408222B (zh) | 实时分布式仿真平台可重构方法 | |
CN105335215B (zh) | 一种基于云计算的蒙特卡洛仿真加速方法及系统 | |
CN103019742A (zh) | 一种多dsp平台上的自动代码生成方法 | |
CN101710361A (zh) | 基于面向服务架构的分布式交通仿真平台及其仿真方法 | |
CN102841816A (zh) | 遥感图像数据并行处理的方法 | |
KR101056682B1 (ko) | 컴포넌트 기반의 무기체계 시뮬레이션 시스템 및 시뮬레이션 방법 | |
CN109471624B (zh) | 基于gosaa的共享数据模型控制系统及数据架构生成方法 | |
CN102523104A (zh) | 一种网络化仿真运行支撑系统及方法 | |
CN103646134B (zh) | 一种面向服务的网络化仿真系统动态生成方法 | |
CN103268230A (zh) | 用于构建可拓展服务的云计算信息管理平台的方法 | |
CN104615815A (zh) | 一种并行模型的消息传输方法及系统 | |
CN104346168B (zh) | 一种基于信息交换总线的监控管理可视化方法 | |
CN102137162B (zh) | 基于软件即服务模式的cad集成系统 | |
CN111783312A (zh) | 基于owl的军事仿真模型及资源描述方法 | |
CN101304410A (zh) | 分布式web的智能信息平台 | |
CN103684904A (zh) | 基于ip三网融合网络监控系统 | |
CN103473389B (zh) | 一种应用于hla分布式仿真技术的通用模型 | |
CN104484230A (zh) | 基于近数据计算原则的多卫星数据中心工作流调度算法 | |
CN101739483B (zh) | 基于移动agent的分布交互式供应链仿真系统 | |
CN107872527B (zh) | 一种lvc一体化远程方式云服务系统及方法 | |
CN102970354B (zh) | 基于超资源融合的云计算体系的构造方法 | |
CN106557601B (zh) | 一种输电线路仿真方法 | |
CN104516735A (zh) | 实现云计算环境自动化运维的二维分层方法 | |
CN103269327A (zh) | 一种基于代理机制的通用文件数据服务的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |