CN115344389B - 电磁暂态仿真中计算节点间的通信任务分配方法及装置 - Google Patents
电磁暂态仿真中计算节点间的通信任务分配方法及装置 Download PDFInfo
- Publication number
- CN115344389B CN115344389B CN202211009313.4A CN202211009313A CN115344389B CN 115344389 B CN115344389 B CN 115344389B CN 202211009313 A CN202211009313 A CN 202211009313A CN 115344389 B CN115344389 B CN 115344389B
- Authority
- CN
- China
- Prior art keywords
- cpu
- communication
- node
- computing node
- transmission
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 709
- 238000004088 simulation Methods 0.000 title claims abstract description 77
- 230000001052 transient effect Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 321
- 238000004364 calculation method Methods 0.000 claims description 113
- 238000009826 distribution Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 16
- 238000012546 transfer Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了电磁暂态仿真中计算节点间的通信任务分配方法及装置,方法包括:确定电磁暂态仿真系统中每个计算节点与其他计算节点互联通信的个数,根据每个计算节点的CPU线程总数与互联通信数目,确定串行传输通信任务的传输次数,分析每个计算节点串行传输通信任务对应的传输次数,确定每个计算节点串行传输通信任务的节点通信时间,向节点通信时间最短的计算节点,分配通信任务。由此可见,通过分析每个节点的各个CPU和每个CPU的各个线程,确定该计算节点对该通信任务的传输能力,从而得出该计算节点串行传输该通信任务的节点通信时间,从通信时间上优化了通信任务向计算节点的分配,提高电磁暂态仿真性能。
Description
技术领域
本申请涉及实时仿真通信领域,更具体的说,是涉及电磁暂态仿真中计算节点间的通信任务分配方法及装置。
背景技术
随着用电需求的不断增加,电力系统也在迅速发展,诞生了更多电力电子设备,以丰富电力系统,使电力系统变得更复杂了,因此有必要在电力系统运行前对其仿真。电力系统仿真是认识电力系统特性,支撑电力系统研究、规划、运行、生产、装备制造,以及保障电力系统安全可靠运行的有效手段。
电磁暂态仿真系统在仿真的过程中,各个计算节点的通信时间是确定仿真步长中的重要一环,多个计算节点之间需要进行互联通信,每个计算节点中可能包含一个或多个CPU,每个CPU含有若干条线程,这些线程处理通信任务的模式为并行处理的模式。
然而,目前对通信任务向计算节点的分配未能充分利用到计算节点的通信性能,导致计算节点间的通信效率低下,进而导致电磁暂态仿真性能低下。
基于此,通过分析每个计算节点的通信性能,向计算节点分配通信任务,以优化通信任务向计算节点的分配。
发明内容
鉴于上述问题,提出了本申请以便提供电磁暂态仿真中计算节点间的通信任务分配方法及装置,以优化通信任务向计算节点的分配,提高电磁暂态仿真性能。
为了实现上述目的,现提出具体方案如下:
一种电磁暂态仿真中计算节点间的通信任务分配方法,包括:
确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
可选的,所述分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间,包括:
若每个计算节点串行传输所述目标通信任务的传输次数为1,在CPU通信单次传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
若每个计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,在CPU通信单轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
若每个计算节点串行传输所述目标通信任务的传输次数,大于该计算节点的CPU个数,在CPU通信多轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述在CPU通信单次传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间,包括:
确定每个计算节点中每个CPU的每条线程的传输通信时间;
将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
将每个计算节点中各个CPU的通信时间中,最长的通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述在CPU通信单轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间,包括:
确定每个计算节点中每个CPU的每条线程的传输通信时间;
将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间;
将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述在CPU通信多轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间,包括:
确定每个计算节点中的各个CPU对所述目标通信任务完成传输的轮次次数;
确定每个计算节点中每个CPU的每条线程的传输通信时间;
将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与所述轮次次数相乘,得到该其他CPU的总轮次节点内CPU间通信时间,将每一所述其他CPU的总轮次节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间;
将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,其特征在于,所述确定每个计算节点中每个CPU的每条线程的传输通信时间,包括:
利用下式确定每个计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
可选的,所述统计每个计算节点的CPU线程总数,包括:
统计每个计算节点中的每个CPU的线程数;
累计每个计算节点中各个CPU的线程数,得到该计算节点的CPU线程总数。
可选的,所述根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数,包括:
利用下式计算每个计算节点串行传输目标通信任务的传输次数:
其中,fi为第i个计算节点串行传输目标通信任务的传输次数,y为第i个计算节点的互联通信数目,si为第i个计算节点的CPU线程总数。
可选的,在所述确定电磁暂态仿真系统中,每个计算节点与该计算节点的其他计算节点中互联通信的计算节点的个数,为每个计算节点的互联通信数目之后,还包括:
当所述电磁暂态仿真系统中计算节点的个数为奇数,且每个计算节点的互联通信数目为奇数时,将该计算节点的互联通信数目减1,以得到调整后的该计算节点的互联通信数目。
一种电磁暂态仿真中计算节点间的通信任务分配装置,包括:
互通数目确定单元,用于确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
线程总数统计单元,用于统计每个计算节点的CPU线程总数;
串行次数确定单元,用于根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
节点通信时间计算单元,用于分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
通信任务分配单元,用于向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
可选的,所述节点通信时间计算单元,包括:
单次传输时间计算单元,用于若每个计算节点串行传输所述目标通信任务的传输次数为1,在CPU通信单次传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
单轮传输时间计算单元,用于若每个计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,在CPU通信单轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
多轮传输时间计算单元,用于若每个计算节点串行传输所述目标通信任务的传输次数,大于该计算节点的CPU个数,在CPU通信多轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述单次传输时间计算单元,包括:
第一单次传输时间计算子单元,用于确定每个计算节点中每个CPU的每条线程的传输通信时间;
第二单次传输时间计算子单元,用于将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
第三单次传输时间计算子单元,用于将每个计算节点中各个CPU的通信时间中,最长的通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述单轮传输时间计算单元,包括:
第一单轮传输时间计算子单元,用于确定每个计算节点中每个CPU的每条线程的传输通信时间;
第二单轮传输时间计算子单元,用于将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
第三单轮传输时间计算子单元,用于对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
第四单轮传输时间计算子单元,用于对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间;
第五单轮传输时间计算子单元,用于将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述多轮传输时间计算单元,包括:
第一多轮传输时间计算子单元,用于确定每个计算节点中的各个CPU对所述目标通信任务完成传输的轮次次数;
第二多轮传输时间计算子单元,用于确定每个计算节点中每个CPU的每条线程的传输通信时间;
第三多轮传输时间计算子单元,用于将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
第四多轮传输时间计算子单元,用于对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
第五多轮传输时间计算子单元,用于对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与所述轮次次数相乘,得到该其他CPU的总轮次节点内CPU间通信时间,将每一所述其他CPU的总轮次节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间;
第六多轮传输时间计算子单元,用于将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述第二多轮传输时间计算子单元,包括:
线程传输通信时间计算单元,用于利用下式确定每个计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
可选的,所述线程总数统计单元,包括:
第一线程总数统计子单元,用于统计每个计算节点中的每个CPU的线程数;
第二线程总数统计子单元,用于累计每个计算节点中各个CPU的线程数,得到该计算节点的CPU线程总数。
可选的,所述串行次数确定单元,包括:
串行次数计算单元,用于利用下式计算每个计算节点串行传输目标通信任务的传输次数:
其中,fi为第i个计算节点串行传输目标通信任务的传输次数,y为第i个计算节点的互联通信数目,si为第i个计算节点的CPU线程总数。
可选的,该装置还包括:
互通数目调整单元,用于所述互通数目确定单元在所述确定电磁暂态仿真系统中,每个计算节点与该计算节点的其他计算节点中互联通信的计算节点的个数,为每个计算节点的互联通信数目之后,当所述电磁暂态仿真系统中计算节点的个数为奇数,且每个计算节点的互联通信数目为奇数时,将该计算节点的互联通信数目减1,以得到调整后的该计算节点的互联通信数目。
借由上述技术方案,本申请通过确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目,统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数,分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间,向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。由此可见,通过分析每个节点的各个CPU和每个CPU的各个线程,确定该计算节点对该通信任务的传输能力,从而得出该计算节点串行传输该通信任务的节点通信时间,从通信时间上优化了通信任务向计算节点的分配,提高电磁暂态仿真性能。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例提供的一种电磁暂态仿真中计算节点间的通信任务分配的流程示意图;
图2为本申请实施例提供的一种电磁暂态仿真中计算节点间的通信任务分配的装置结构示意图;
图3为本申请实施例提供的一种电磁暂态仿真中计算节点间的通信任务分配的设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请方案可以基于具备数据处理能力的终端实现,该终端可以是电脑、服务器、云端等。
接下来,结合图1所述,本申请的电磁暂态仿真中计算节点间的通信任务分配方法可以包括以下步骤:
步骤S110、确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目。
具体的,电磁暂态仿真系统中可以包含多个计算节点,每个计算节点可以与其他节点之间存在互联通信,那么每个计算节点的互联通信数目可以表示与这个计算节点互联通信的计算节点的数量。
示例如,电磁暂态仿真系统中有5个通信节点,分别标记为1号、2号、3号、4号和5号,其中1号计算节点与3号计算节点之间存在互联通信,1号计算节点也与5号计算节点之间存在互联通信,那么1号计算节点的互联通信数目为2。
步骤S120、统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数。
可以理解的是,每个计算节点中可以包含一个或多个CPU,每个计算节点的CPU可以包含多条线程,那么每个计算节点的CPU线程总数可以表示该计算节点内累加所有CPU中的所有线程的总数量。
具体的,每个计算节点串行传输目标通信任务的传输次数可以表示该计算节点传输该目标通信任务的传输能力。比如,对该目标通信任务传输次数为3的计算节点比对该目标通信任务传输次数为2的计算节点的传输能力较弱。
步骤S130、分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
可以理解的是,通过分析每个计算节点串行传输所述目标通信任务对应的传输次数,可以得到对该计算节点计算对所述目标通信任务的节点通信时间,所采取的CPU传输模式,并根据对应的CPU传输模式,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
步骤S140、向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
可以理解的是,对于每一目标通信任务,分析每个计算节点对该目标通信任务传输所花费的时间,花费时间越长的计算节点其处理效率越低,使电磁暂态仿真系统对电力系统仿真的仿真效率也越低,花费时间越长的计算节点其处理效率越高,使电磁暂态仿真系统对电力系统仿真的仿真效率也越高,因此可以向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目,统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数,分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间,向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。由此可见,通过分析每个节点的各个CPU和每个CPU的各个线程,确定该计算节点对该目标通信任务的传输能力,从而得出该计算节点串行传输该目标通信任务的节点通信时间,从通信时间上优化了通信任务向计算节点的分配,提高电磁暂态仿真性能。
本申请的一些实施例中,对上述步骤S130、分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间的过程进行介绍,该过程可以包括以下三种情况:
第一种、若每个计算节点串行传输所述目标通信任务的传输次数为1,在CPU通信单次传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
具体的,当每个计算节点串行传输所述目标通信任务的传输次数为1,可以表示该计算节点对所述目标通信任务的通信能力为,通过该计算节点内的单个CPU即可一次完成所述目标通信任务的传输,则可以采取CPU通信单次传输模式对应的节点通信时间计算模式。
第二种、若每个计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,在CPU通信单轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
具体的,当每个计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,可以表示该计算节点对所述目标通信任务的通信能力为,通过该计算节点内的单个CPU不能够一次完成所述目标通信任务的传输,但通过该计算节点内的各个CPU并行传输可以一轮完成所述目标通信任务的传输,那么可以采取CPU通信单轮传输模式对应的节点通信时间计算模式。
第三种、若每个计算节点串行传输所述目标通信任务的传输次数,大于该计算节点的CPU个数,在CPU通信多轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
具体的,当每个计算节点串行传输所述目标通信任务的传输次数,大于该计算节点的CPU个数,可以表示该计算节点对所述目标通信任务的通信能力为,通过该计算节点内的各个CPU并行传输均不足以一轮完成所述目标通信任务的传输,至少进行两轮以上各个CPU并行传输,那么可以采取CPU通信多轮传输模式对应的节点通信时间计算模式。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过分析每个计算节点串行传输所述目标通信任务的传输次数,确定CPU通信的传输模式,并由此确定CPU通信的传输模式对应的节点通信时间计算模式,以供对每个计算节点的节点通信时间进行分类计算。
本申请的一些实施例中,对上述实施例提到的在CPU通信单次传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间的过程进行介绍,该过程可以包括:
S1、确定每个计算节点中每个CPU的每条线程的传输通信时间。
具体的,可以利用下式确定每个计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
S2、将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间。
可以理解的是,当CPU需要执行数据传输的任务时,该CPU中的每条均需要执行数据传输的任务,也即CPU中的每条线程均需要花费该线程对应的传输通信时间。由于CPU中的各条线程并行工作,因此CPU的通信时间可以为这些线程的传输通信时间中最长的传输通信时间。
S3、将每个计算节点中各个CPU的通信时间中,最长的通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可以理解的是,由于计算节点中的各个CPU并行工作,因此每个计算节点串行传输所述目标通信任务的节点通信时间,可以为这些CPU的通信时间中最长的通信时间。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过分析计算节点中每个CPU的每条线程中的传输通信时间,将最长传输通信时间确定为计算节点串行传输所述目标通信任务的节点通信时间。
本申请的一些实施例中,对上述实施例提到的在CPU通信单轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间的过程进行介绍,该过程可以包括:
S1、确定每个计算节点中每个CPU的每条线程的传输通信时间。
具体的,可以利用下式确定每个计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
S2、将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间。
可以理解的是,当CPU需要执行数据传输的任务时,该CPU中的每条均需要执行数据传输的任务,也即CPU中的每条线程均需要花费该线程对应的传输通信时间。由于CPU中的各条线程并行工作,因此CPU的通信时间可以为这些线程的传输通信时间中最长的传输通信时间。
S3、对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间。
可以理解的是,在CPU通信单轮传输模式下,计算节点中的任一CPU均不能一次完成目标通信任务的传输,需要结合该计算节点中的其他CPU传输未能一次完成的目标通信任务的部分任务,因此需要进行节点内CPU之间的通信。
S4、对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间。
示例如,计算节点中有3个CPU,分别标记为A号、B号、C号,那么A号CPU、B号CPU和C号CPU的通信时间分别为TA,TB和TC,对于该计算节点的A号CPU,每一其他CPU的节点内CPU间通信时间分别为B号CPU的tB和C号CPU的tC,那么A号CPU的CPU通信时间为TA,B号CPU的CPU通信时间为TB+tB,C号CPU的CPU通信时间为TC+tC,则此情况下的计算节点的参考节点通信时间为TmaxA=max{TA,TB+tB,TC+tC}。
S5、将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
示例如,计算节点中有3个CPU,分别标记为A号、B号、C号,在CPU通信单轮传输模式下对于A号CPU而言,计算节点的参考节点通信时间为TmaxA=max{TA,TB+tB,TC+tC},对于B号CPU而言,计算节点的参考节点通信时间为TmaxB=max{TA+tA,TB,TC+tC},对于C号CPU而言,计算节点的参考节点通信时间为TmaxC=max{TA+tA,TB+tB,TC},因此计算节点串行传输所述目标通信任务的节点通信时间,可以为min{TmaxA,TmaxB,TmaxC}。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过分析计算节点中每个CPU的每条线程中的传输通信时间,以及每个CPU的节点内CPU间通信时间,从而确定每个CPU的CPU通信时间,并进一步分析各种情况下的参考节点通信时间,将最短的参考节点通信时间确定为计算节点串行传输所述目标通信任务的节点通信时间。
本申请的一些实施例中,对上述实施例提到的在CPU通信多轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间的过程进行介绍,该过程可以包括:
S1、确定每个计算节点中的各个CPU对所述目标通信任务完成传输的轮次次数。
可以理解的是,在CPU通信多轮传输模式下,计算节点的各个CPU并行传输目标通信任务不能一轮传输完成,因此需要确定每个计算节点中的各个CPU对所述目标通信任务完成传输的轮次次数。
S2、确定每个计算节点中每个CPU的每条线程的传输通信时间。
具体的,可以利用下式确定每个计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
S3、将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间。
可以理解的是,当CPU需要执行数据传输的任务时,该CPU中的每条均需要执行数据传输的任务,也即CPU中的每条线程均需要花费该线程对应的传输通信时间。由于CPU中的各条线程并行工作,因此CPU的通信时间可以为这些线程的传输通信时间中最长的传输通信时间。
S4、对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间。
可以理解的是,在CPU通信单轮传输模式下,计算节点中的任一CPU均不能一次完成目标通信任务的传输,需要结合该计算节点中的其他CPU传输未能一次完成的目标通信任务的部分任务,因此需要进行节点内CPU之间的通信。
S5、对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与所述轮次次数相乘,得到该其他CPU的总轮次节点内CPU间通信时间,将每一所述其他CPU的总轮次节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间。
示例如,计算节点中有3个CPU,分别标记为A号、B号、C号,那么A号CPU、B号CPU和C号CPU的通信时间分别为TA,TB和TC,对于该计算节点的A号CPU,每一其他CPU的节点内CPU间通信时间分别为B号CPU的tB和C号CPU的tC,假设各个CPU对所述目标通信任务完成传输的轮次次数为x,那么B号CPU的总轮次节点内CPU间通信时间为xtB,C号CPU的总轮次节点内CPU间通信时间为xtC。因此A号CPU的CPU通信时间为TA,B号CPU的CPU通信时间为TB+xtB,C号CPU的CPU通信时间为TC+xtC,则此情况下的计算节点的参考节点通信时间为TmaxA=max{TA,TB+xtB,TC+xtC}。
S6、将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
示例如,计算节点中有3个CPU,分别标记为A号、B号、C号,在CPU通信单轮传输模式下对于A号CPU而言,计算节点的参考节点通信时间为TmaxA=max{TA,TB+xtB,TC+xtC},对于B号CPU而言,计算节点的参考节点通信时间为TmaxB=max{TA+xtA,TB,TC+xtC},对于C号CPU而言,计算节点的参考节点通信时间为TmaxC=max{TA+xtA,TB+xtB,TC},因此计算节点串行传输所述目标通信任务的节点通信时间,可以为min{TmaxA,TmaxB,TmaxC}。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过分析计算节点中每个CPU的每条线程中的传输通信时间,以及每个CPU的节点内CPU间通信时间,以及各个CPU所需并行传输的轮次次数,从而确定每个CPU的CPU通信时间,并进一步分析各种情况下的参考节点通信时间,将最短的参考节点通信时间确定为计算节点串行传输所述目标通信任务的节点通信时间。
本申请的一些实施例中,对上述步骤S120、统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数的过程进行介绍,该过程可以包括:
S1、统计每个计算节点中的每个CPU的线程数。
S2、累计每个计算节点中各个CPU的线程数,得到该计算节点的CPU线程总数。
S3、利用下式计算每个计算节点串行传输目标通信任务的传输次数:
其中,fi为第i个计算节点串行传输目标通信任务的传输次数,y为第i个计算节点的互联通信数目,si为第i个计算节点的CPU线程总数,CELING为向上取整运算。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过计算每个计算节点的互联通信数目与该计算节点的CPU线程总数的比值,并将比值的结果向上取整,从而得到该计算节点串行传输目标通信任务的传输次数。
考虑到电磁暂态仿真系统在分析各个计算节点的节点通信时间前,每个计算节点需要满足计算节点之间的通信规则,本申请的一些实施例中,在上述实施例的步骤S110、确定电磁暂态仿真系统中,每个计算节点的其他计算节点中互联通信的计算节点的个数,为每个计算节点的互联通信数目的过程之后,可以进一步增加对每个计算节点的互联通信数目调整的过程,该调整过程可以包括:
当所述电磁暂态仿真系统中计算节点的个数为奇数,且每个计算节点的互联通信数目为奇数时,将该计算节点的互联通信数目减1,以得到调整后的该计算节点的互联通信数目。
示例如,电磁暂态仿真系统中有5个计算节点,与此同时其中的计算节点1号均与计算节点2号、计算节点3号和计算节点4号互联通信,那么得出计算节点1号的互联通信数目为3,那么可以将计算节点1号的互联通信数目减1,得到调整后的该计算节点的互联通信数目,为3-1=2,为偶数,以满足计算节点之间的通信规则。
本实施例提供的电磁暂态仿真中计算节点间的通信任务分配方法,通过在电磁暂态仿真系统中计算节点的个数为奇数的情况下,对互联通信数目为奇数的每个计算节点的互联通信数目进行调整,以得到符合计算节点之间的通信规则的互联通信数目。
下面对本申请实施例提供的实现电磁暂态仿真中计算节点间的通信任务分配的装置进行描述,下文描述的实现电磁暂态仿真中计算节点间的通信任务分配的装置与上文描述的实现电磁暂态仿真中计算节点间的通信任务分配方法可相互对应参照。
参见图2,图2为本申请实施例公开的一种实现电磁暂态仿真中计算节点间的通信任务分配的装置结构示意图。
如图2所示,该装置可以包括:
互通数目确定单元11,用于确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
线程总数统计单元12,用于统计每个计算节点的CPU线程总数;
串行次数确定单元13,用于根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
节点通信时间计算单元14,用于分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
通信任务分配单元15,用于向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
可选的,所述节点通信时间计算单元,包括:
单次传输时间计算单元,用于若每个计算节点串行传输所述目标通信任务的传输次数为1,在CPU通信单次传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
单轮传输时间计算单元,用于若每个计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,在CPU通信单轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
多轮传输时间计算单元,用于若每个计算节点串行传输所述目标通信任务的传输次数,大于该计算节点的CPU个数,在CPU通信多轮传输模式下,确定每个计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述单次传输时间计算单元,包括:
第一单次传输时间计算子单元,用于确定每个计算节点中每个CPU的每条线程的传输通信时间;
第二单次传输时间计算子单元,用于将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
第三单次传输时间计算子单元,用于将每个计算节点中各个CPU的通信时间中,最长的通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述单轮传输时间计算单元,包括:
第一单轮传输时间计算子单元,用于确定每个计算节点中每个CPU的每条线程的传输通信时间;
第二单轮传输时间计算子单元,用于将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
第三单轮传输时间计算子单元,用于对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
第四单轮传输时间计算子单元,用于对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间;
第五单轮传输时间计算子单元,用于将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述多轮传输时间计算单元,包括:
第一多轮传输时间计算子单元,用于确定每个计算节点中的各个CPU对所述目标通信任务完成传输的轮次次数;
第二多轮传输时间计算子单元,用于确定每个计算节点中每个CPU的每条线程的传输通信时间;
第三多轮传输时间计算子单元,用于将每个计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
第四多轮传输时间计算子单元,用于对于每个计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
第五多轮传输时间计算子单元,用于对于每个计算节点的每个CPU,将所述计算节点中除所述CPU外的,每一其他CPU的节点内CPU间通信时间,与所述轮次次数相乘,得到该其他CPU的总轮次节点内CPU间通信时间,将每一所述其他CPU的总轮次节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述CPU的通信时间作为所述CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点的参考节点通信时间;
第六多轮传输时间计算子单元,用于将每个计算节点的各个参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
可选的,所述第二多轮传输时间计算子单元,包括:
线程传输通信时间计算单元,用于利用下式确定每个计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
可选的,所述线程总数统计单元,包括:
第一线程总数统计子单元,用于统计每个计算节点中的每个CPU的线程数;
第二线程总数统计子单元,用于累计每个计算节点中各个CPU的线程数,得到该计算节点的CPU线程总数。
可选的,所述串行次数确定单元,包括:
串行次数计算单元,用于利用下式计算每个计算节点串行传输目标通信任务的传输次数:
其中,fi为第i个计算节点串行传输目标通信任务的传输次数,y为第i个计算节点的互联通信数目,si为第i个计算节点的CPU线程总数。
可选的,该装置还包括:
互通数目调整单元,用于所述互通数目确定单元在所述确定电磁暂态仿真系统中,每个计算节点与该计算节点的其他计算节点中互联通信的计算节点的个数,为每个计算节点的互联通信数目之后,当所述电磁暂态仿真系统中计算节点的个数为奇数,且每个计算节点的互联通信数目为奇数时,将该计算节点的互联通信数目减1,以得到调整后的该计算节点的互联通信数目。
本申请实施例提供的电磁暂态仿真中计算节点间的通信任务分配的装置可应用于电磁暂态仿真中计算节点间的通信任务分配的设备,如终端:电脑、仿真器等。可选的,图3示出了电磁暂态仿真中计算节点间的通信任务分配的设备的硬件结构框图,参照图3,电磁暂态仿真中计算节点间的通信任务分配的设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种电磁暂态仿真中计算节点间的通信任务分配方法,其特征在于,包括:
确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
统计每个计算节点的CPU线程总数,并根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务;
所述统计每个计算节点的CPU线程总数,包括:
统计每个计算节点中的每个CPU的线程数;
累计每个计算节点中各个CPU的线程数,得到该计算节点的CPU线程总数;
所述根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数,包括:
利用下式计算每个计算节点串行传输目标通信任务的传输次数:
其中,fi为第i个计算节点串行传输目标通信任务的传输次数,y为第i个计算节点的互联通信数目,si为第i个计算节点的CPU线程总数,CELING为向上取整运算;
所述分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间,包括:
针对每个计算节点,若所述计算节点串行传输所述目标通信任务的传输次数为1,在CPU通信单次传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间;
针对每个计算节点,若所述计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,在CPU通信单轮传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间;
针对每个计算节点,若所述计算节点串行传输所述目标通信任务的传输次数,大于所述计算节点的CPU个数,在CPU通信多轮传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间。
2.根据权利要求1所述的方法,其特征在于,所述在CPU通信单次传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间,包括:
确定所述计算节点中每个CPU的每条线程的传输通信时间;
将所述计算节点中每个CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
将所述计算节点中各个CPU的通信时间中,最长的通信时间,作为所述计算节点串行传输所述目标通信任务的节点通信时间。
3.根据权利要求1所述的方法,其特征在于,所述在CPU通信单轮传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间,包括:
针对所述计算节点中每个CPU的每条线程,确定所述线程的传输通信时间;
针对所述计算节点的每个CPU,将所述CPU的各条线程的传输通信时间中,最长的传输通信时间,作为所述CPU的通信时间;
对于所述计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
对于所述计算节点的每个目标CPU,将所述计算节点中除所述目标CPU外的,每一其他CPU的节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述目标CPU的通信时间作为所述目标CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点选取所述目标CPU下的参考节点通信时间;
将所述计算节点的各个所述参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
4.根据权利要求1所述的方法,其特征在于,所述在CPU通信多轮传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间,包括:
确定所述计算节点中的各个CPU对所述目标通信任务完成传输的轮次次数;
针对所述计算节点中每个CPU的每条线程,确定所述线程的传输通信时间;
针对所述计算节点的每个CPU,将所述CPU的各条线程的传输通信时间中,最长的传输通信时间,作为该CPU的通信时间;
对于所述计算节点的每个CPU,确定所述计算节点中除所述CPU外的每一其他CPU,并将每一其他CPU与所述CPU通信的时间,作为该其他CPU的节点内CPU间通信时间;
对于所述计算节点的每个目标CPU,将所述计算节点中除所述目标CPU外的,每一其他CPU的节点内CPU间通信时间,与所述轮次次数相乘,得到该其他CPU的总轮次节点内CPU间通信时间,将每一所述其他CPU的总轮次节点内CPU间通信时间,与该其他CPU的通信时间相加,得到该其他CPU的CPU通信时间,将所述目标CPU的通信时间作为所述目标CPU的CPU通信时间,将所述计算节点内的各个CPU的CPU通信时间中最长的CPU通信时间,作为所述计算节点选取所述目标CPU下的参考节点通信时间;
将所述计算节点的各个所述参考节点通信时间中最短的参考节点通信时间,作为该计算节点串行传输所述目标通信任务的节点通信时间。
5.根据权利要求4所述的方法,其特征在于,所述针对所述计算节点中每个CPU的每条线程,确定所述线程的传输通信时间,包括:
利用下式确定所述计算节点中每个CPU的每条线程的传输通信时间:
其中,ti-j-k为第i个计算节点的第j个CPU的第k条线程的传输通信时间,tcp为所述电磁暂态仿真系统中的计算节点间的通信协议固有时间,tdelay-i-j为第i个计算节点的第j个CPU的传输固有延时,Ci-j-k为第i个计算节点的第j个CPU的第k条线程的传输数据量,Mi为第i个计算节点中累计各个CPU的线程总带宽的计算节点总带宽。
6.根据权利要求1所述的方法,其特征在于,在所述确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目之后,还包括:
针对每个计算节点,当所述电磁暂态仿真系统中计算节点的个数为奇数,且所述计算节点的互联通信数目为奇数时,将所述计算节点的互联通信数目减1,以得到调整后的该计算节点的互联通信数目。
7.一种电磁暂态仿真中计算节点间的通信任务分配装置,其特征在于,包括:
互通数目确定单元,用于确定电磁暂态仿真系统中,每个计算节点与其他计算节点互联通信的个数,为该计算节点的互联通信数目;
线程总数统计单元,用于统计每个计算节点的CPU线程总数;
串行次数确定单元,用于根据每个计算节点的CPU线程总数与该计算节点的互联通信数目,确定每个计算节点串行传输目标通信任务的传输次数;
节点通信时间计算单元,用于分析每个计算节点串行传输所述目标通信任务对应的传输次数,确定每个计算节点串行传输所述目标通信任务的节点通信时间;
通信任务分配单元,用于向串行传输所述目标通信任务的节点通信时间最短的计算节点,分配所述目标通信任务;
所述线程总数统计单元,包括:
第一线程总数统计子单元,用于统计每个计算节点中的每个CPU的线程数;
第二线程总数统计子单元,用于累计每个计算节点中各个CPU的线程数,得到该计算节点的CPU线程总数;
所述串行次数确定单元,包括:
串行次数计算单元,用于利用下式计算每个计算节点串行传输目标通信任务的传输次数:
其中,fi为第i个计算节点串行传输目标通信任务的传输次数,y为第i个计算节点的互联通信数目,si为第i个计算节点的CPU线程总数,CELING为向上取整运算;
所述节点通信时间计算单元,包括:
单次传输时间计算单元,用于针对每个计算节点,若所述计算节点串行传输所述目标通信任务的传输次数为1,在CPU通信单次传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间;
单轮传输时间计算单元,用于针对每个计算节点,若所述计算节点串行传输所述目标通信任务的传输次数大于1,且不大于该计算节点的CPU个数,在CPU通信单轮传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间;
多轮传输时间计算单元,用于针对每个计算节点,若所述计算节点串行传输所述目标通信任务的传输次数,大于所述计算节点的CPU个数,在CPU通信多轮传输模式下,确定所述计算节点串行传输所述目标通信任务的节点通信时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211009313.4A CN115344389B (zh) | 2022-08-22 | 2022-08-22 | 电磁暂态仿真中计算节点间的通信任务分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211009313.4A CN115344389B (zh) | 2022-08-22 | 2022-08-22 | 电磁暂态仿真中计算节点间的通信任务分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115344389A CN115344389A (zh) | 2022-11-15 |
CN115344389B true CN115344389B (zh) | 2024-01-23 |
Family
ID=83953490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211009313.4A Active CN115344389B (zh) | 2022-08-22 | 2022-08-22 | 电磁暂态仿真中计算节点间的通信任务分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344389B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338264A (ja) * | 2005-06-01 | 2006-12-14 | Toyota Infotechnology Center Co Ltd | タスク割当装置およびタスク割当方法 |
CN102436534A (zh) * | 2012-01-13 | 2012-05-02 | 浙江省电力试验研究院 | 一种电力系统仿真方法 |
CN103441903A (zh) * | 2013-09-03 | 2013-12-11 | 北京邮电大学 | 一种基于最短通信时间的网络结点通信模拟方法 |
EP2728490A1 (en) * | 2012-10-31 | 2014-05-07 | Fujitsu Limited | Application execution method in computing |
CN107682417A (zh) * | 2017-09-19 | 2018-02-09 | 深圳市盛路物联通讯技术有限公司 | 一种数据节点的任务分配方法和装置 |
CN114650321A (zh) * | 2020-12-15 | 2022-06-21 | 青岛海大新星软件咨询有限公司 | 用于边缘计算的任务调度方法及边缘计算终端 |
CN114896029A (zh) * | 2022-06-13 | 2022-08-12 | 南方电网科学研究院有限责任公司 | 电力系统仿真优化计算方法、装置、设备及可读存储介质 |
CN114911579A (zh) * | 2022-06-13 | 2022-08-16 | 南方电网科学研究院有限责任公司 | 电力系统仿真并行计算方法、装置、设备及可读存储介质 |
-
2022
- 2022-08-22 CN CN202211009313.4A patent/CN115344389B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338264A (ja) * | 2005-06-01 | 2006-12-14 | Toyota Infotechnology Center Co Ltd | タスク割当装置およびタスク割当方法 |
CN102436534A (zh) * | 2012-01-13 | 2012-05-02 | 浙江省电力试验研究院 | 一种电力系统仿真方法 |
EP2728490A1 (en) * | 2012-10-31 | 2014-05-07 | Fujitsu Limited | Application execution method in computing |
CN103441903A (zh) * | 2013-09-03 | 2013-12-11 | 北京邮电大学 | 一种基于最短通信时间的网络结点通信模拟方法 |
CN107682417A (zh) * | 2017-09-19 | 2018-02-09 | 深圳市盛路物联通讯技术有限公司 | 一种数据节点的任务分配方法和装置 |
CN114650321A (zh) * | 2020-12-15 | 2022-06-21 | 青岛海大新星软件咨询有限公司 | 用于边缘计算的任务调度方法及边缘计算终端 |
CN114896029A (zh) * | 2022-06-13 | 2022-08-12 | 南方电网科学研究院有限责任公司 | 电力系统仿真优化计算方法、装置、设备及可读存储介质 |
CN114911579A (zh) * | 2022-06-13 | 2022-08-16 | 南方电网科学研究院有限责任公司 | 电力系统仿真并行计算方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115344389A (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038540B (zh) | 一种应用代理服务器自动选择方法及系统 | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
US20150127834A1 (en) | Optimizing placement of virtual machines | |
CN109981744B (zh) | 数据的分发方法、装置、存储介质及电子设备 | |
CN112363813A (zh) | 资源调度方法、装置、电子设备和计算机可读介质 | |
CN110365748A (zh) | 业务数据的处理方法和装置、存储介质及电子装置 | |
CN113784373B (zh) | 云边协同网络中时延和频谱占用联合优化方法及系统 | |
CN110399728A (zh) | 一种边缘计算节点信任评估方法、装置、设备及存储介质 | |
CN107707612B (zh) | 一种负载均衡集群的资源利用率的评估方法及装置 | |
CN113038609B (zh) | 一种基于通信需求的带宽资源分配方法、装置及设备 | |
CN104901989A (zh) | 一种现场服务提供系统及方法 | |
Kliazovich et al. | CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications | |
CN115794407A (zh) | 计算资源分配方法、装置、电子设备及非易失性存储介质 | |
CN111611076B (zh) | 任务部署约束下移动边缘计算共享资源公平分配方法 | |
CN115344389B (zh) | 电磁暂态仿真中计算节点间的通信任务分配方法及装置 | |
CN111858458B (zh) | 一种互联通道的调整方法、装置、系统、设备和介质 | |
CN113472591B (zh) | 一种业务性能的确定方法及装置 | |
CN113612624B (zh) | 一种节点之间心跳处理方法及装置 | |
CN115550284A (zh) | 消息处理方法、装置和设备 | |
CN115396515A (zh) | 资源调度方法、装置及存储介质 | |
CN106911581B (zh) | 一种传输方法、装置及终端 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN109688234B (zh) | 一种多电子设备的讯号处理方法、系统及装置 | |
CN114448838A (zh) | 系统可靠度评估方法 | |
JP2020154830A (ja) | パイプライン演算装置、プログラマブルロジックコントローラ、及び、パイプライン処理の実行方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |