CN110764917A - 控制保护仿真模型间进行并行仿真的数据通信方法及装置 - Google Patents
控制保护仿真模型间进行并行仿真的数据通信方法及装置 Download PDFInfo
- Publication number
- CN110764917A CN110764917A CN201911046870.1A CN201911046870A CN110764917A CN 110764917 A CN110764917 A CN 110764917A CN 201911046870 A CN201911046870 A CN 201911046870A CN 110764917 A CN110764917 A CN 110764917A
- Authority
- CN
- China
- Prior art keywords
- data
- reading
- writing
- memory area
- flag bit
- 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
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 77
- 230000006854 communication Effects 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 claims abstract description 82
- 238000004590 computer program Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及控制保护仿真模型间进行并行仿真的数据通信方法及装置,属于电力系统数字仿真技术领域,方法包括设置写入标志位和读出标志位;写数据步骤:当需要发送数据时,判断写入标志位是否有效;若有效,向第一内存区域写入需要发送的数据,取反写入标志位;若无效,向第二内存区域写入需要发送的数据,取反写入标志位;读数据步骤:当需要接收数据时,判断读出标志位是否有效,若无效,从第二内存区域读出需要接收的数据,取反读出标志位;若有效,从第一内存区域读出需要接收的数据,取反读出标志位。本发明可以降低用于多核之间传递信号的Trcvr模块数量,充分利用多核心CPU的运算能力,提升模型的整体仿真速度。
Description
技术领域
本发明属于电力系统数字仿真技术领域,具体涉及控制保护仿真模型间进行并行仿真的数据通信方法及装置。
背景技术
随着特高压直流输电技术的发展,直流输电系统越来越复杂。但受计算机存储容量和CPU处理能力的限制,现有特高压直流输电工程仿真模型,一次和二次模型异常复杂,运行速度缓慢,给直流输电系统的实时仿真带来了很大困难。为了大幅度提升仿真速度,只有利用并行计算技术,把多个控制保护模块分布到多线程中并行运行,从而充分利用多核心CPU的运算能力,才能大幅度提升仿真速度。
HYPERSIM是加拿大HYDRO-QUEBEC公司开发的一种基于并行计算技术、采用模块化设计、面向对象编程的电力系统全数字实时仿真软件,这种实时仿真软件不仅提供了电磁仿真的准确性,而且提供了实时仿真的快速性,因此,被广泛应用于电力系统分析和工程研究领域。在仿真步长为50us的应用条件下,并行计算带来的信号传输延时对控制保护逻辑的影响可以忽略,但多核之间如何准确通信需要考虑。
虽然HYPERSIM软件自带的Trcvr模块可以用于多核之间传递信号,但是Trcvr模块一次只能传递一个信号,且一个工程中Trcvr模块的使用数量是受限的,此方式只适用于多核之间传递信号较少的情况,而特高压直流输电控制保护仿真模型都非常复杂,传递信号数量比较多,因此,Trcvr模块不适用于控制保护仿真模型间并行仿真的数据通信,需要考虑一种新的方法来解决多核之间数据通信的问题。
发明内容
本发明的目的是提供控制保护仿真模型间进行并行仿真的数据通信方法及装置,用于解决现有技术无法有效实现控制保护仿真模型间并行仿真的多数据通信问题。
基于上述目的,一种控制保护仿真模型间进行并行仿真的数据通信方法的技术方案如下:
设置写入标志位和读出标志位;
写数据步骤:当控制保护仿真模型需要发送数据时,判断写入标志位是否有效;若有效,则向第一内存区域写入需要发送的数据,写入数据后取反所述写入标志位;当写入标志位无效时,向第二内存区域写入需要发送的数据,写入数据后取反所述写入标志位;
读数据步骤:当控制保护仿真模型需要接收数据时,判断读出标志位是否有效,若无效,则从第二内存区域读出需要接收的数据,读出数据后取反所述读出标志位;当读出标志有效时,从第一内存区域读出需要接收的数据,读出数据后取反所述读出标志位。
基于上述目的,一种控制保护仿真模型间进行并行仿真的数据通信装置的技术方案如下:
包括存储器和至少两个处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现上述数据通信方法的技术方案中的步骤。
上述两个技术方案的有益效果是:
本发明数据通信方法及装置,通过设置写入标志位和读出标志位,使其中一个内存区域写入数据的同时,另一个内存区域能够进行数据读取,从而实现多核间的数据通信,尤其适用于多核之间传递信号比较多的情况,并且既可以传地址又可以直接传数据,可以大大降低现有技术中用于多核之间传递信号的Trcvr模块数量,充分利用多核心CPU的运算能力,提升模型的整体仿真速度。
进一步,将第一内存区域和第二内存区域的首地址存入全局数组中,用于在最先执行写数据步骤(或读数据步骤)的初始化时分配第一内存区域和第二内存区域,再进行读数据步骤(或写数据步骤)时不需再次分配,通过全局数组获取这两块内存区域的首地址。
进一步,还包括:设置执行周期,在并行仿真的运行时间到达该执行周期时,执行所述写数据步骤和/或读数据步骤,从而实现数据的定时读写。
进一步,在执行所述写数据步骤和读数据步骤之前,还包括分配所述第一内存区域和第二内存区;
当控制保护仿真模型间进行的并行仿真结束时,释放所述第一内存区域和第二内存区域中的内存,方便下一次仿真时进行数据通信。
附图说明
图1是本发明的通信写入和读出模块的应用示意图;
图2是本发明的通信写入模块的实现流程图;
图3是本发明的通信读出模块的实现流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的说明。
方法实施例:
本发明实现控制保护仿真模型间进行并行仿真的数据通信基本原理是:根据需要合理断开仿真模型中模块间的信号联系,将通信数据分布到多线程中并行运行;在仿真模型原有连线(地址)处插入全局变量读模块(XJ_MEM_R,即通信读出模块)或全局变量写模块(XJ_MEM_W,即通信写入模块)进行传递信号;修改模块代码中全局变量、函数定义、结构体定义,重新编译运行。
核1的通信写入模块(XJ_MEM_W)和核2的通信读出模块(XJ_MEM_R)如图1所示,图1中各模块及其引脚的含义如下:
GL_DCSC_HPM_为站控测量模块,该模块引脚IN_ADDR为该模块输入的多维数组的首地址,OUT_ADDR为该模块输出的多维数组的首地址,DBG_START_ADDR用于对该模块内部变量进行监视。
Tap10_为多路信号分解模块,该模块引脚Arr为输入的多维数组首地址,O1~O10为分解出的10路输出信号。Merge10_为多路信号合并模块,该模块引脚I1~I10为10路输入信号,Arr为合并后输出的多维数组首地址。
GL_DCSC_为站控模块,该模块输入和输出引脚定义与GL_DCSC_HPM_模块相同。
上述各模块相互之间的关系和作用如下:
GL_DCSC_HPM_中的部分信号通过Tap10_取出后,通过XJ_MEM_W送出;与之对应的XJ_MEM_R接收到该信号,再经过Merge10_合并后,送入到站控模块执行。
上述通信写入模块和通信读出模块通过在HYPERSIM软件中自定义得到,包括一个全局数组XJ_DPS_gMem[1024]、读取标志位(Swap_R)、写入标志位(Swap_W)模块执行周期(为50us)等内部参数。
其中,通信写入模块(即通信写进程)实现的写数据步骤如下,如图2所示:
步骤1:程序初始化状态:分配内存区域A,分配内存区域B,两块内存区域大小一样,可以自己设置。并将内存区域A的首地址XJ_DPS_gMem[MemSeq-1]和内存区域B的首地址XJ_DPS_gMem[MemSeq-1+512]存入全局数组XJ_DPS_gMem中。
步骤2:将写入标志位置0(Swap_W=0)。
步骤3:程序执行状态:接着判断仿真运行时间Time是否位于模块固定的执行周期时间点上,如果仿真运行时间Time位于执行周期点,判断写入标志位是否等于0(为0时表示标志位有效,为1表示标志位无效)?即Swap_W==0?如果是,则写入数据到内存区域A(XJ_DPS_gMem[MemSeq-1]=IN);如果否,则写入数据到内存区域B(XJ_DPS_gMem[MemSeq-1+512]=IN),之后写入标志位取反(Swap_W=!Swap_W)。如果仿真运行时间Time不是位于执行周期点,则数据保持不变,进行等待。
步骤4:程序执行结束状态:判断仿真是否结束?如果是,则释放内存区域A的内存,释放内存区域B的内存;如果否,则回到程序执行状态。
其中,通信读出模块(即通信读进程)实现的读数据步骤如下,如图3所示:
步骤1:程序初始化状态:分配内存区域A,分配内存区域B,两块内存区域大小一样,可以自己设置。并将内存区域A的首地址XJ_DPS_gMem[MemSeq-1]和内存区域B的首地址XJ_DPS_gMem[MemSeq-1+512]存入全局数组XJ_DPS_gMem中。
步骤2:将读出标志位置1(Swap_R=1)。
步骤3:程序执行状态:接着判断仿真运行时间Time是否位于模块固定的执行周期时间点上,如果仿真运行时间Time位于执行周期点,判断读出标志位是否等于1?即Swap_R==1?如果是,则从内存区域B读出数据(OUT=XJ_DPS_gMem[MemSeq-1+512]);如果否,则从内存区域A读出数据(OUT=XJ_DPS_gMem[MemSeq-1]),之后读出标志位取反(Swap_R=!Swap_R)。如果仿真运行时间Time不是位于执行周期点,则数据保持不变,进行等待。
步骤4:程序执行结束状态:判断仿真是否结束?如果是,则释放内存区域A的内存,释放内存区域B的内存;如果否,则回到程序执行状态。
本实施例中,通信写入模块(XJ_MEM_R)或通信读出模块(XJ_MEM_W)两个模块中最先执行的模块在初始化时分配第一内存区域和第二内存区域,另外一个模块不需再次分配,通过全局数组获取这两块内存区域的首地址。
与现有技术相比,本发明的数据通信方法,是基于全局变量机制进行的多核之间的数据通信,可以方便控制保护仿真模型间直接断开信号联系,实现并行仿真核间通信过程中大批量信号的传递,既降低了仿真误差,又提高了仿真速度,同时满足大规模交直流大电网电磁暂态仿真对仿真精度和实时性要求。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有更改和变化。例如本实施例中,用0表示相应标志位有效,用1表示相应标志位无效,作为其他实施方式,还可以用1表示标志位有效,用0表示标志位无效。
又如,本实例中是在需要进行读数据和写数据时才分配两个内存区域,仿真结束后再释放两个内存区域;作为其他实施方式,某些情况下,还可以提前分配好两个内存区域,专用于进行读写操作,但在通信数据量大时容易产生内存溢出问题。
装置实施例:
对应上述数据通信方法,本发明还提出一种控制保护仿真模型间进行并行仿真的数据通信装置,包括存储器和至少两个处理器,以及存储在存储器上并在处理器上运行的计算机程序,处理器与存储器相耦合,处理器执行计算机程序时实现上述方法实施例中的数据通信方法,由于上述装置即为与方法流程相对应的处理进程,故不再详细描述。
需要说明的是,各处理器在执行写数据步骤或读数据步骤时,互相之间需要进行一定的配合来实现数据的读写,由于关于处理器之间配合读写的具体方式与芯片的架构,采用的指令集有关,属于芯片底层,与本实施例中涉及的应用层无关,因此本实施例不再细述。
Claims (8)
1.一种控制保护仿真模型间进行并行仿真的数据通信方法,其特征在于,包括以下步骤:
设置写入标志位和读出标志位;
写数据步骤:当控制保护仿真模型需要发送数据时,判断写入标志位是否有效;若有效,则向第一内存区域写入需要发送的数据,写入数据后取反所述写入标志位;当写入标志位无效时,向第二内存区域写入需要发送的数据,写入数据后取反所述写入标志位;
读数据步骤:当控制保护仿真模型需要接收数据时,判断读出标志位是否有效,若无效,则从第二内存区域读出需要接收的数据,读出数据后取反所述读出标志位;当读出标志有效时,从第一内存区域读出需要接收的数据,读出数据后取反所述读出标志位。
2.根据权利要求1所述的控制保护仿真模型间进行并行仿真的数据通信方法,其特征在于,将第一内存区域和第二内存区域的首地址存入全局数组中。
3.根据权利要求1所述的控制保护仿真模型间进行并行仿真的数据通信方法,其特征在于,还包括:设置执行周期,在并行仿真的运行时间到达该执行周期时,执行所述写数据步骤和/或读数据步骤。
4.根据权利要求1所述的控制保护仿真模型间进行并行仿真的数据通信方法,其特征在于,在执行所述写数据步骤和读数据步骤之前,还包括分配所述第一内存区域和第二内存区;
当控制保护仿真模型间进行的并行仿真结束时,释放所述第一内存区域和第二内存区域中的内存。
5.一种控制保护仿真模型间进行并行仿真的数据通信装置,其特征在于,包括存储器和至少两个处理器,以及存储在所述存储器上并在所述处理器上运行的计算机程序,所述处理器与所述存储器相耦合,所述处理器执行所述计算机程序时实现以下步骤:
分配第一内存区域和第二内存区域;
设置写入标志位和读出标志位;
写数据步骤:当控制保护仿真模型需要发送数据时,判断写入标志位是否有效;若有效,则向第一内存区域写入需要发送的数据,写入数据后取反所述写入标志位;当写入标志位无效时,向第二内存区域写入需要发送的数据,写入数据后取反所述写入标志位;
读数据步骤:当控制保护仿真模型需要接收数据时,判断读出标志位是否有效,若无效,则从第二内存区域读出需要接收的数据,读出数据后取反所述读出标志位;当读出标志有效时,从第一内存区域读出需要接收的数据,读出数据后取反所述读出标志位。
6.根据权利要求5所述的控制保护仿真模型间进行并行仿真的数据通信装置,其特征在于,将第一内存区域和第二内存区域的首地址存入全局数组中。
7.根据权利要求5所述的控制保护仿真模型间进行并行仿真的数据通信装置,其特征在于,还包括:设置执行周期,在并行仿真的运行时间到达该执行周期时,执行所述写数据步骤和/或读数据步骤。
8.根据权利要求5所述的控制保护仿真模型间进行并行仿真的数据通信装置,其特征在于,在执行所述写数据步骤和读数据步骤之前,还包括分配所述第一内存区域和第二内存区;
当控制保护仿真模型间进行的并行仿真结束时,释放所述第一内存区域和第二内存区域中的内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911046870.1A CN110764917A (zh) | 2019-10-30 | 2019-10-30 | 控制保护仿真模型间进行并行仿真的数据通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911046870.1A CN110764917A (zh) | 2019-10-30 | 2019-10-30 | 控制保护仿真模型间进行并行仿真的数据通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110764917A true CN110764917A (zh) | 2020-02-07 |
Family
ID=69334733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911046870.1A Pending CN110764917A (zh) | 2019-10-30 | 2019-10-30 | 控制保护仿真模型间进行并行仿真的数据通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764917A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5533276A (en) * | 1978-08-31 | 1980-03-08 | Fujitsu Ltd | Read/write control system for memory unit |
CN102929158A (zh) * | 2012-10-30 | 2013-02-13 | 北京华力创通科技股份有限公司 | 一种多核多模型并行分布式实时仿真系统 |
CN103870625A (zh) * | 2013-11-19 | 2014-06-18 | 北京航天长征飞行器研究所 | 光纤反射内存网数据实时交互方法 |
CN108574580A (zh) * | 2017-03-07 | 2018-09-25 | 北京空间技术研制试验中心 | 实时仿真通信系统和方法 |
CN109976925A (zh) * | 2019-03-27 | 2019-07-05 | 北京翼辉信息技术有限公司 | 一种基于混合多系统核间实时通信的方法和系统 |
CN110308861A (zh) * | 2018-03-20 | 2019-10-08 | 浙江宇视科技有限公司 | 存储数据保存方法、装置、电子设备和可读存储介质 |
CN110378061A (zh) * | 2019-07-26 | 2019-10-25 | 国网宁夏电力有限公司 | 一种特高压直流换流站多仿真工具协同仿真方法及装置 |
-
2019
- 2019-10-30 CN CN201911046870.1A patent/CN110764917A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5533276A (en) * | 1978-08-31 | 1980-03-08 | Fujitsu Ltd | Read/write control system for memory unit |
CN102929158A (zh) * | 2012-10-30 | 2013-02-13 | 北京华力创通科技股份有限公司 | 一种多核多模型并行分布式实时仿真系统 |
CN103870625A (zh) * | 2013-11-19 | 2014-06-18 | 北京航天长征飞行器研究所 | 光纤反射内存网数据实时交互方法 |
CN108574580A (zh) * | 2017-03-07 | 2018-09-25 | 北京空间技术研制试验中心 | 实时仿真通信系统和方法 |
CN110308861A (zh) * | 2018-03-20 | 2019-10-08 | 浙江宇视科技有限公司 | 存储数据保存方法、装置、电子设备和可读存储介质 |
CN109976925A (zh) * | 2019-03-27 | 2019-07-05 | 北京翼辉信息技术有限公司 | 一种基于混合多系统核间实时通信的方法和系统 |
CN110378061A (zh) * | 2019-07-26 | 2019-10-25 | 国网宁夏电力有限公司 | 一种特高压直流换流站多仿真工具协同仿真方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990205B2 (en) | System on chip and verification method thereof | |
CN111433758B (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
CN102508753B (zh) | Ip核验证系统 | |
CN113254368B (zh) | 从axi总线到opb总线的数据写入方法及读取方法 | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
CN112463719A (zh) | 一种基于粗粒度可重构阵列实现的存内计算方法 | |
CN110427337B (zh) | 基于现场可编程门阵列的处理器内核及其运行方法 | |
CN105930186B (zh) | 多cpu的软件加载方法及基于多cpu的软件加载装置 | |
EP3975061A1 (en) | Neural network processor, chip and electronic device | |
US12093752B2 (en) | Processor based logic simulation acceleration and emulation system | |
CN103714026A (zh) | 一种支持原址数据交换的存储器访问方法及装置 | |
US20160299859A1 (en) | Apparatus and method for external access to core resources of a processor, semiconductor systems development tool comprising the apparatus, and computer program product and non-transitory computer-readable storage medium associated with the method | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
CN110825435B (zh) | 用于处理数据的方法和装置 | |
Torabzadehkashi et al. | Accelerating hpc applications using computational storage devices | |
JP2014241172A (ja) | 半導体装置 | |
Van Lunteren et al. | Coherently attached programmable near-memory acceleration platform and its application to stencil processing | |
CN108234147B (zh) | Gpdsp中基于主机计数的dma广播数据传输方法 | |
WO2021115149A1 (zh) | 神经网络处理器、芯片和电子设备 | |
CN110727611B (zh) | 一种带状态监测的可配置一致性验证系统 | |
US11675906B1 (en) | Simultaneous multi-processor (SiMulPro) apparatus, simultaneous transmit and receive (STAR) apparatus, DRAM interface apparatus, and associated methods | |
CN110262884B (zh) | 一种基于申威众核处理器的核组内多程序多数据流分区并行的运行方法 | |
CN110764917A (zh) | 控制保护仿真模型间进行并行仿真的数据通信方法及装置 | |
US6901359B1 (en) | High speed software driven emulator comprised of a plurality of emulation processors with a method to allow high speed bulk read/write operation synchronous DRAM while refreshing the memory | |
CN112783511B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200207 |