CN118211379A - 用于电磁环境仿真的系统、方法及相关产品 - Google Patents
用于电磁环境仿真的系统、方法及相关产品 Download PDFInfo
- Publication number
- CN118211379A CN118211379A CN202410263866.5A CN202410263866A CN118211379A CN 118211379 A CN118211379 A CN 118211379A CN 202410263866 A CN202410263866 A CN 202410263866A CN 118211379 A CN118211379 A CN 118211379A
- Authority
- CN
- China
- Prior art keywords
- computing node
- task
- query
- occupancy rate
- occupancy
- 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 98
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 24
- 230000005672 electromagnetic field Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000007792 addition Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005288 electromagnetic effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本披露公开了一种用于电磁环境仿真的系统、方法及相关产品,该系统包括控制节点和多个计算节点,其中所述控制节点用于根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点;所述计算节点用于基于接收到的所述请求信息,执行相应的操作。本披露实施例的系统能够提高海量仿真任务的处理效率和仿真性能。
Description
技术领域
本披露一般涉及电磁仿真技术领域。更具体地,本披露涉及一种用于电磁环境仿真的系统、方法、设备及计算机可读存储介质。
背景技术
针对电磁环境模拟仿真中,电磁空间的探测等活动常常依赖于不同干扰源、探测源在某一位置的场强,基于场强进行比对计算来判断是否被干扰。传统的电磁场强计算会基于某种拟合公式或计算方法,但是当存在海量电磁实体和位置场强查询需求时,基于单机单核的计算方式已难以满足模拟仿真的实时计算需求。
有鉴于此,亟需提供一种用于电磁环境仿真的方案,以便提升用于电磁环境模拟仿真的运算资源,以提高仿真处理速度和仿真性能。
发明内容
为了至少解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了用于电磁环境仿真的系统、方法、设备及计算机可读存储介质方案。
在第一方面中,本披露提供一种用于电磁环境仿真的系统,包括控制节点和多个计算节点,其中所述控制节点用于根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点;所述计算节点用于基于接收到的所述请求信息,执行相应的操作。
在一些实施例中,所述控制节点进一步用于:响应于所述类型为添加仿真对象或者更新仿真对象,将所述请求信息发送至所述系统中的每个计算节点;响应于所述类型为执行电磁场强的查询任务,基于所述查询任务的优先级别和所述系统中各计算节点的占用情况,确定执行所述查询任务的计算节点。
在另一些实施例中,所述计算节点在执行相应的操作中进一步用于:响应于接收到添加仿真对象的请求信息,将所需添加的仿真对象的实体信息添加到所述计算节点的内存中;响应于接收到更新仿真对象的请求信息,将存储于所述内存中的所需更新的仿真对象的实体信息进行更新;响应于接收到执行查询任务的请求信息,基于所述查询任务执行相应的仿真计算。
在又一些实施例中,所述控制节点在确定执行所述查询任务的计算节点中进一步用于:基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中所述优先级队列按照所述查询权重由大到小的顺序排列;基于所述系统中各计算节点的占用率,确定所述多个计算节点的占用率队列,其中所述占用率队列按照所述占用率由小到大的顺序排列;将所述优先级队列中优先级别最高的查询任务分配给所述占用率队列中占用率最小的计算节点。
在一些实施例中,所述控制节点进一步用于:基于所述查询任务的查询时刻与当前时刻之间的第一距离以及所述查询任务的查询频次,确定所述查询任务的查询权重;和/或基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中所述已分配任务的数量,确定所述每个计算节点的占用率。
在另一些实施例中,所述查询任务包括查询在位置p处的电磁场强,所述查询权重通过下式计算得到:其中,/>表示所述查询权重,t表示当前时刻,α表示权重系数,s表示所述查询任务在预设时间段tf内的查询次数,ti表示所述查询任务在预设时间段tf内的查询时刻。
在又一些实施例中,所述占用率通过下式计算得到:其中,Occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,/>表示已分配任务taski被分配给第m个计算节点的分配时刻。
在一些实施例中,所述控制节点还用于:在每次分配查询任务后,从所述优先级队列中弹出已分配的查询任务;更新各计算节点的占用率,以得到所述各计算节点的更新占用率;依序比较所述占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新所述占用率队列。
在另一些实施例中,所述控制节点进一步用于:响应于所述占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新所述占用率队列;或者响应于所述占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成所述占用率队列的更新。
在第二方面中,本披露提供一种用于电磁环境仿真的方法,应用于包括多个计算节点的系统中,所述方法包括:根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点,使得所述计算节点基于接收到的所述请求信息,执行相应的操作。
在一些实施例中,所述方法进一步包括:响应于所述类型为添加仿真对象或者更新仿真对象,将所述请求信息发送至所述系统中的每个计算节点;响应于所述类型为执行电磁场强的查询任务,基于所述查询任务的优先级别和所述系统中各计算节点的占用情况,确定执行所述查询任务的计算节点。
在另一些实施例中,确定执行所述查询任务的计算节点包括:基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中所述优先级队列按照所述查询权重由大到小的顺序排列;基于所述系统中各计算节点的占用率,确定所述多个计算节点的占用率队列,其中所述占用率队列按照所述占用率由小到大的顺序排列;将所述优先级队列中优先级别最高的查询任务分配给所述占用率队列中占用率最小的计算节点。
在又一些实施例中,所述方法进一步包括:基于所述查询任务的查询时刻与当前时刻之间的第一距离以及所述查询任务的查询频次,确定所述查询任务的查询权重;和/或基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中所述已分配任务的数量,确定所述每个计算节点的占用率。
在一些实施例中,所述查询任务包括查询在位置p处的电磁场强,所述查询权重通过下式计算得到:其中,/>表示所述查询权重,t表示当前时刻,α表示权重系数,s表示所述查询任务在预设时间段tf内的查询次数,ti表示所述查询任务在预设时间段tf内的查询时刻。
在另一些实施例中,所述占用率通过下式计算得到:其中,Occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,/>表示已分配任务taski被分配给第m个计算节点的分配时刻。
在又一些实施例中,所述方法还包括:在每次分配查询任务后,从所述优先级队列中弹出已分配的查询任务;更新各计算节点的占用率,以得到所述各计算节点的更新占用率;依序比较所述占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新所述占用率队列。
在一些实施例中,确定是否更新所述占用率队列进一步包括:响应于所述占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新所述占用率队列;或者响应于所述占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成所述占用率队列的更新。
在第三方面中,本披露提供一种用于电磁环境仿真的设备,包括:处理器,其用于执行程序指令;以及存储器,其存储有所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理器执行根据本披露在第一方面中任一所述的方法。
在第四方面中,本披露提供一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现如本披露在第一方面中任意一项所述的方法。
通过如上所提供的用于电磁环境仿真的方案,本披露实施例通过设置包括多个计算节点的系统,有利于提升用于电磁环境模拟仿真的运算资源,以及通过系统中的控制节点根据接收到的请求信息的类型来确定相应的计算节点,使得多个计算节点可以承担相应的请求任务,从而可以实现多个计算节点批量处理仿真计算任务的能力,以提高海量仿真任务的处理效率和仿真性能。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1示出了本披露实施例的用于电磁环境仿真的系统的示意图;
图2示出了本披露一些实施例的控制节点的操作流程的示意图;
图3示出了本披露实施例的控制节点确定执行任务的计算节点的操作流程示意图;
图4示出了本披露实施例的计算节点的操作流程的示意图;
图5示出了本披露实施例的用于电磁环境仿真的设备的示意框图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合附图来详细描述本披露的具体实施方式。
图1示出了本披露实施例的用于电磁环境仿真的系统的示意图。如图1中所示,系统100可以包括控制节点110和多个计算节点120,其中控制节点110可以用于根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点120,以便将该请求信息发送至确定的计算节点120;计算节点120可以用于基于接收到的请求信息,执行相应的操作。
在一些应用场景中,控制节点110可以对外提供服务接口,以便接收来自调用方的请求信息,这里调用方是指调用系统100进行电磁环境仿真计算的需求方(或称客户端)。在一些实施例中,控制节点110可以包括控制器、处理器、服务器等中的一种或多种,用于承担接收请求信息、处理请求信息、以及进行任务分配等功能。在另一些实施例中,计算节点120可以用于承担仿真对象的实体信息维护、仿真任务的计算等功能。在又一些实施例中,每个计算节点120可以与控制节点110之间通信连接。
在一些实施例中,计算节点120可以包括图形处理器(GPU)。在另一些实施例中,每个计算节点可以包括单个GPU,或者包括多个GPU。在又一些实施例中,计算节点120可以是可扩展的,例如,计算节点120的数量可以根据需要增加,每个计算节点120的运算资源可以根据GPU的数量实现扩展。在一些实施例中,计算节点120还可以包括中央处理器(CPU)、存储器等。
在一些实施例中,与电磁环境仿真有关的请求信息的类型可以包括添加、更新、查询等。在另一些实施例中,请求信息可以包括添加与电磁环境仿真有关的信息、更新与电磁环境仿真有关的信息、电磁场强的查询任务等。在一些实施例中,控制节点110内部可以维护着系统100内的全部计算节点120的节点信息(例如通过维护一个节点信息列表的方式实现),以便在接收到请求信息时,可以根据请求信息的类型选择相应的计算节点120。控制节点110可以根据接收到的请求信息的类型,选择合适的一个或多个计算节点120,并将该请求信息发送给选择的计算节点120处,以便接收到该请求信息的计算节点120可以根据请求信息的内容执行相应的操作。这里相应的操作是指与请求信息相应的操作,例如添加操作、更新操作、查询计算操作等。
以上结合图1对根据本披露实施例的系统进行了示例性的描述,可以理解的是,本披露实施例的系统100可以是一个可扩展架构,通过设置多个计算节点实现仿真运算资源的提升,有利于实现并行、批量的仿真任务的计算,进而有利于提高仿真计算的效率等,以便能够及时响应调用方的各类请求。还可以理解的是,上面的描述是示例性的而非限制性的,例如控制节点的信息处理过程可以不限于如上所描述的,下面将结合图2进行进一步的说明。
图2示出了本披露一些实施例的控制节点的操作流程的示意图。在一些实施例中,本披露实施例的系统的操作流程可以包括:启动控制节点,以及可以启动所需数量的计算节点;计算节点启动后,根据与控制节点之间的网络协议、或者指定的控制节点的地址等信息,与控制节点进行连接;控制节点可以将初始化信息发送至与其连接的计算节点,使得计算节点完成初始化工作;控制节点执行操作流程200。控制节点和与其连接的计算节点构成了本披露实施例中的系统。在另一些实施例中,启动所需数量的计算节点可以包括启动可执行仿真计算的全部计算节点,使得运算资源最大化,也可以根据需要启动部分计算节点。在又一些实施例中,初始化信息可以包括仿真对象的实体信息、缓存设置、内存分配等信息。
如图2中所示,控制节点的操作流程200可以包括:在步骤201中,可以监听网络消息,以便接收请求信息。这里的网络消息可以是控制节点与调用方之间相连接的网络上的消息。接着,在步骤202中,响应于接收到请求信息,可以判断该请求信息的类型是否为查询请求。
响应于该请求信息的类型不是查询请求,例如是添加仿真对象的添加请求或者更新仿真对象的更新请求等,可以执行步骤203,将请求信息发送至系统中的每个计算节点。在一些实施例中,仿真对象可以理解为是电磁实体,即,能够产生电磁波或者产生电磁影响的目标物,例如车辆、飞机、坦克、通讯设备等。在另一些实施例中,将请求信息发送至系统中的每个计算节点,可以是发送至与控制节点连接的每个计算节点。
响应于请求信息的类型是查询请求,例如是执行电磁场强的查询任务的查询请求,可以执行步骤204。在步骤204中,控制节点可以基于查询任务的优先级别和系统中各计算节点的占用情况,确定执行该查询任务的计算节点。在一些实施例中,电磁场强的查询任务可以包括查询在某位置的电磁场强的任务,即,在该位置处的电磁场强的仿真计算任务。在另一些实施例中,控制节点可以确定一个计算节点执行一个查询任务。在又一些实施例中,控制节点可以确定一个计算节点执行多个查询任务,或者确定多个计算节点执行多个查询任务。
在一些实施例中,控制节点可以将优先级别较高的查询任务进行优先分配。在另一些实施例中,控制节点可以将查询任务分配给占用情况较低的计算节点来进行处理,以提高查询任务的计算效率。计算节点的占用情况是指计算节点的运算资源的占用情况。
然后,流程可以前进到步骤205中,控制节点可以将请求信息发送至在步骤204中确定的计算节点,以便该计算节点根据接收到的请求信息执行相应的查询任务。接着,在步骤206中,控制节点可以异步接收查询结果。控制节点可以异步监听来自各计算节点的消息,特别是在多个计算节点均执行相应的查询任务时,控制节点通过异步接收各计算节点的查询结果,可以有利于提高接收查询结果的效率。进一步地,在步骤207中,控制节点可以将接收到的查询结果转发给调用方。
以上结合图2对根据本披露实施例的控制节点的操作流程进行了示例性的描述,可以理解的是,通过判断请求信息的类型是否为查询请求,并进行不同的后续操作,可以提高处理不同请求信息类型的效率。控制节点通过基于查询任务的优先级别和系统中各计算节点的占用情况来确定合适的计算节点,可以实现合理的任务分配以及计算节点的负载均衡,有利于提高整个系统的计算性能。还可以理解的是,上面的描述是示例性的而非限制性的,例如,在一些实施例中,控制节点可以通过维护各查询任务的优先级队列和各计算节点的占用率队列,来实现高效的任务分配。下面将结合图3进行示例性的描述。
图3示出了本披露实施例的控制节点确定执行任务的计算节点的操作流程示意图。通过下面的描述可知,图3所示的操作流程300可以是前文中结合图2描述的步骤204的一种表现形式,因此前文中结合图2对步骤204的描述也可以适用于下面对操作流程300的描述中。
如图3中所示,操作流程300可以包括:在步骤301中,控制节点可以基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中该优先级队列按照所述查询权重由大到小的顺序排列。当前待分配的各查询任务可以是未分配到计算节点的查询任务,可以包括一个查询任务或者多个查询任务。查询任务的查询权重越大,该查询任务的优先级别越高。在一些实施例中,优先级队列可以以第一有序数组的形式实现,该第一有序数组中的每个数组单元可以存储一个查询任务的标识及其查询权重,并按照查询权重由大到小的顺序进行数组单元的排列。
在一些实施例中,每个查询任务的查询权重可以基于该查询任务的查询时刻与当前时刻之间的第一距离以及该查询任务的查询频次来确定。查询任务的查询时刻可以是控制节点接收到查询任务的请求信息的时刻。查询频次可以是查询任务在一预设时间段内的查询次数。例如,在一些场景中,调用方会在某一时间段内对某一位置的电磁场强进行大量的集中查询,即向控制节点发送高频次的查询请求,则该场景下的查询任务的查询频次较高。在一些实施例中,可以将第一距离越小和/或查询频次越高的查询任务的查询权重确定的越大。
通过这样的设置,基于第一距离和查询频次来确定查询任务的查询权重,会保证越临近当前时刻被查询的位置的查询任务的优先级别越高,以及越频繁被查询的位置的查询任务的优先级别越高,以满足实际应用场景中对重要查询任务进行优先处理和及时响应的需求。
在另一些实施例中,查询任务可以包括查询在位置p处的电磁场强,假设位置p处的电磁场强在预设时间段tf内被查询s次,对应的查询时刻分别为t1、t2、…、ts,则该查询任务的查询权重可以通过下式计算得到:
其中,表示查询权重,t表示当前时刻,α表示权重系数,s表示查询任务在预设时间段tf内的查询次数,ti表示查询任务在预设时间段tf内的查询时刻。α可以为一个常数。
从公式1中可以看出,越频繁被查询的位置的查询任务的查询权重越大,查询时刻越临近当前时刻被查询的位置的查询任务的查询权重越大。根据这样的权重策略,可以保证越频繁被查询的位置的查询任务的优先级别越高,查询时刻越临近当前时刻被查询的位置的查询任务的优先级别越高。
可以理解的是,基于第一距离和查询频次来确定查询任务的查询权重可以不限于公式1来实现,也可以通过设置其他函数使得第一距离越小、查询频次越高的查询任务的查询权重越大。
如图3中所示,操作流程300还可以包括步骤302,在步骤302中,控制节点可以基于系统中各计算节点的占用率,确定多个计算节点的占用率队列,其中该占用率队列可以按照占用率由小到大的顺序排列。占用率可以是用于衡量计算节点的运算资源的占用情况的一个指标。在一些实施例中,占用率可以基于计算节点中已分配任务的数量、运算量等因素来确定。通过计算每个计算节点的占用率,可以根据占用率由小到大的顺序对计算节点进行排序,以获得占用率队列。
在另一些实施例中,占用率队列可以以第二有序数组的形式实现,该第二有序数组中的每个数组单元可以存储一个计算节点的序号等标识信息以及其占用率,并按照占用率由小到大的顺序进行数组单元的排列。
在一些实施例中,控制节点可以基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中已分配任务的数量,确定每个计算节点的占用率。已分配任务的分配时刻可以是控制节点将已分配任务的请求信息发送给相应计算节点的时刻。在一些实施例中,每个计算节点可以对应一个由已分配任务组成的任务序列,每个计算节点根据任务序列中已分配任务的位置进行依序处理。在另一些实施例中,计算节点与任务序列的对应关系可以采用一个字典来进行维护。例如,假设task0,task1,...,taskn分配给了计算节点m(例如可以以GPUm表示),则计算节点m与任务序列[task0,task1,...,taskn]对应。
在一些实施例中,第二距离越小和/或已分配任务的数量越多,计算节点的占用率越大。根据这样的设置,可以体现出越临近当前时刻被分配的查询任务,以及已分配任务越多的计算节点被占用的运算资源越多,越不利于及时处理新分配的查询任务。因此,可以基于占用率由小到大的顺序形成占用率序列,以便保证占用率越小的计算节点约优先获得新的计算任务,有利于实现各计算节点的负载均衡。
在又一些实施例中,占用率可以通过下式计算得到:
其中,Occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,表示已分配任务taski被分配给第m个计算节点的分配时刻。B可以是一个常量。公式2中的“+1”可以保证log()的函数值大于0,以便于占用率数值的比较。从公式2中可以看出,越临近当前时刻被分配的查询任务占用计算节点的运算资源越多。
可以理解的是,基于第二距离和已分配任务的数量来确定计算节点的占用率可以不限于公式2来实现,也可以通过设置其他函数使得第二距离越小、已分配任务的数量越多的计算节点的占用率越大。
如图3中所示,在确定了优先级队列和占用率队列之后,流程可以前进到步骤303中,控制节点可以将优先级队列中优先级别最高的查询任务分配给占用率队列中占用率最小的计算节点。例如,在一些实施例中,可以将优先级队列中排位第一的查询任务分配给占用率队列中排位第一的计算节点。
根据这样的设置,可以保证越频繁被查询和查询时刻越临近当前时刻的位置的查询任务的优先级别越高,各计算节点中资源占用率最小的接收任务的优先级越高,从而实现对优先级别高的查询任务的及时计算和更快的反馈速度,有利于提升计算资源的利用率和计算效率,以满足实际应用场景的需求。
如图3中进一步示出的,在另一些实施例中,操作流程300还可以包括步骤304-步骤308(虚线框示出),以实现任务分配策略的迭代处理。下面将进行进一步的说明。
在步骤304中,控制节点在每次分配查询任务后,可以从优先级队列中弹出已分配的查询任务。在一些实施例中,分配查询任务可以是将该查询任务的请求信息发送至相应的计算节点,以完成分配操作,已分配的查询任务即成为计算节点的任务序列中的已分配任务,从而可以从待分配的优先级队列中去除。
接着,在步骤305中,可以更新各计算节点的占用率,以得到各计算节点的更新占用率。在又一些实施例中,在仿真计算中的每一个步长上,可以对占用率队列中每个计算节点的占用率进行一次更新计算,更新计算后的占用率可以称为更新占用率。
然后,流程可以前进到步骤306中,可以依序比较占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新占用率队列。依序比较排序相邻的两个计算节点的更新占用率,可以是依次比较排序第一和排序第二的两个计算节点的更新占用率的大小,然后再比较排序第二和排序第三的两个计算节点的更新占用率的大小,依次类推。
在另一些实施例中,步骤306可以进一步包括:响应于占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新占用率队列;或者响应于占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成占用率队列的更新。
在又一些实施例中,操作流程300可以不限于包括步骤306中依序比较的操作,也可以根据各计算节点的更新占用率,确定是否更新占用率队列。例如,在一些实施例中,确定是否更新占用率队列可以包括:响应于占用率队列中排序第一的计算节点的更新占用率是各计算节点的更新占用率中的最小值,可以不更新占用率队列;或者响应于占用率队列中排序第一的计算节点的更新占用率不是各计算节点的更新占用率中的最小值,可以更新占用率队列,并且其中可以将更新占用率最小的计算节点插入到占用率队列中的首位,以完成占用率队列的更新。
进一步地,在操作流程300中,还可以执行步骤307,判断优先级队列是否为空。即,判断优先级队列中是否还存在未分配的查询任务。响应于优先级队列不为空,可以返回步骤303中继续执行;响应于优先级队列为空,则可以执行步骤308,继续监听网络信息,以接收下一个查询任务。
以上结合图3对根据本披露实施例的控制节点确定执行任务的计算节点的操作流程进行了示例性的描述,可以理解的是,上面的描述是示例性的而非限制性的,例如,步骤307可以不限于如图示中的在步骤306之后执行,也可以在例如步骤304和步骤305之间执行,或者可以与步骤305或步骤306同步执行等。
以上结合多个附图对控制节点的操作流程进行了示例性的描述,下面将结合图4对计算节点的操作流程进行示例性的说明。
图4示出了本披露实施例的计算节点的操作流程的示意图。如图4中所示,操作流程400可以包括:在步骤401中,可以初始化计算节点的内存。在一些实施例中,计算节点包括CPU和GPU,可以初始化计算节点的CPU和GPU的内存,例如在内存中添加必要的信息、申请在GPU中存储实体信息的空间等。然后,计算节点可以等待接收请求信息,以便根据接收到的请求信息的类型,执行相应的处理。
在一些实施例中,响应于接收到添加仿真对象的请求信息,可以执行步骤402,将所需添加的仿真对象的实体信息添加到计算节点的内存中。在一些实施例中,实体信息可以包括仿真对象的地理位置、身份标识ID、特性、状态、尺寸(长宽高)、功率等信息。在另一些实施例中,将实体信息添加到计算节点的内存中,可以是将实体信息记录到计算节点的CPU的内存中,以及将该实体信息拷贝到计算节点的GPU中,实现添加仿真对象的目的。
在另一些实施例中,响应于接收到更新仿真对象的请求信息,可以执行步骤403,将存储于计算节点的内存中的所需更新的仿真对象的实体信息进行更新。更新实体信息可以是将原先存储于计算节点(例如CPU和GPU)的内存中的对应的实体信息修改为请求信息中所指定的内容,以实现更新仿真对象的目的。
通过在计算节点的内存中添加实体信息和更新实体信息,可以实现计算节点对仿真对象的实体信息的维护,以便在需要基于相应的仿真对象进行电磁仿真计算(例如计算仿真对象在某区域的电磁影响)时,计算节点能够快速访问相应的实体信息,以进行快速的计算,从而能够及时响应外部的查询请求,有利于进一步提高电磁场强仿真计算的计算效率和及时反馈能力。
在又一些实施例中,响应于接收到执行查询任务的请求信息,可以执行步骤404,基于查询任务执行相应的仿真计算。在一些实施例中,计算节点包括CPU和GPU,计算节点的CPU可以根据请求信息,将查询任务中的查询条件和所需的查询数据等传给GPU,GPU可以使用预先定义的算子执行相应的仿真计算,以得到仿真计算结果;然后,可以将该仿真计算结果拷贝到计算节点的CPU中;CPU可以按照要求补充其他信息后,将仿真计算结果和补充的其他信息一并转发至控制节点。在另一些实施例中,CPU补充的其他信息可以包括查询任务中除GPU计算部分以外的其他计算部分或者其他查询信息等。在又一些实施例中,计算节点中的GPU用于承担仿真计算中的复杂计算和计算量较大的计算部分,其他计算部分可以由CPU来进行计算。
以上结合多个附图对根据本披露实施例的系统进行了详细的描述,可以理解的是,本披露实施例的系统是一种可扩展架构,能够将电磁环境仿真计算由单机单节点扩展到多机多节点,特别是在计算节点包括GPU的实施例中,通过利用GPU能够并行计算的特性,使得本披露实施例的系统能够更好的满足大规模实时仿真的计算要求,有利于提高系统架构的性能和可扩展性。
本披露还提供了一种用于电磁环境仿真的方法,可以应用于例如图1中所示出的包括多个计算节点的系统中,该方法可以包括:根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将请求信息发送至确定的计算节点,使得计算节点基于接收到的请求信息,执行相应的操作。
在一些实施例中,上述方法可以进一步包括:响应于请求信息的类型为添加仿真对象或者更新仿真对象,可以将请求信息发送至系统中的每个计算节点;响应于请求信息的类型为执行电磁场强的查询任务,可以基于查询任务的优先级别和系统中各计算节点的占用情况,确定执行查询任务的计算节点。
在另一些实施例中,确定执行查询任务的计算节点可以包括:基于当前待分配的各查询任务的查询权重,可以确定执行各查询任务的优先级队列,其中优先级队列可以按照查询权重由大到小的顺序排列;基于系统中各计算节点的占用率,可以确定多个计算节点的占用率队列,其中占用率队列按照占用率由小到大的顺序排列;将优先级队列中优先级别最高的查询任务分配给占用率队列中占用率最小的计算节点。
在又一些实施例中,该方法可以进一步包括:基于查询任务的查询时刻与当前时刻之间的第一距离以及查询任务的查询频次,确定查询任务的查询权重;和/或基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中已分配任务的数量,确定每个计算节点的占用率。
在一些实施例中,查询任务可以包括查询在位置p处的电磁场强,查询权重可以通过下式计算得到:其中,/>表示查询权重,t表示当前时刻,α表示权重系数,s表示查询任务在预设时间段tf内的查询次数,ti表示查询任务在预设时间段tf内的查询时刻。
在另一些实施例中,占用率可以通过下式计算得到:其中,Occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,/>表示已分配任务taski被分配给第m个计算节点的分配时刻。
在又一些实施例中,该方法还可以包括:在每次分配查询任务后,从优先级队列中弹出已分配的查询任务;更新各计算节点的占用率,以得到各计算节点的更新占用率;依序比较占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新占用率队列。
在一些实施例中,确定是否更新占用率队列可以进一步包括:响应于占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新占用率队列;或者响应于占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成占用率队列的更新。
以上方法已经在前文中结合图1-图4任一所描述的系统进行了详细的描述,此处将不再赘述。
图5示出了本披露实施例的用于电磁环境仿真的设备的示意框图。如图5所示,该设备500可以包括处理器501以及存储器502。其中处理器501用于执行程序指令,存储器502存储有用于电磁环境仿真的程序指令,当该程序指令由处理器501加载并运行时,使得处理器501执行前述用于电磁环境仿真的方法。
例如,在一些实施例中,设备500可以具备接收请求信息、维护实体信息、执行电磁场强的仿真计算等功能。由此,设备500在针对执行与电磁环境仿真有关的请求任务中,可以自动化的根据请求信息的类型执行相应的计算,有利于提高仿真计算的效率和仿真性能。
此外,本披露还提供一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现前述用于电磁环境仿真的方法。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ReadOnly Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
虽然本文已经示出和描述了本披露的多个实施例,但对于本领域技术人员显而易见的是,这样的实施例只是以示例的方式来提供。本领域技术人员可以在不偏离本披露思想和精神的情况下想到许多更改、改变和替代的方式。应当理解的是在实践本披露的过程中,可以采用对本文所描述的本披露实施例的各种替代方案。所附权利要求书旨在限定本披露的保护范围,并因此覆盖这些权利要求范围内的等同或替代方案。
Claims (19)
1.一种用于电磁环境仿真的系统,包括控制节点和多个计算节点,其中
所述控制节点用于根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点;
所述计算节点用于基于接收到的所述请求信息,执行相应的操作。
2.根据权利要求1所述的系统,其中所述控制节点进一步用于:
响应于所述类型为添加仿真对象或者更新仿真对象,将所述请求信息发送至所述系统中的每个计算节点;
响应于所述类型为执行电磁场强的查询任务,基于所述查询任务的优先级别和所述系统中各计算节点的占用情况,确定执行所述查询任务的计算节点。
3.根据权利要求2所述的系统,其中所述计算节点在执行相应的操作中进一步用于:
响应于接收到添加仿真对象的请求信息,将所需添加的仿真对象的实体信息添加到所述计算节点的内存中;
响应于接收到更新仿真对象的请求信息,将存储于所述内存中的所需更新的仿真对象的实体信息进行更新;
响应于接收到执行查询任务的请求信息,基于所述查询任务执行相应的仿真计算。
4.根据权利要求2或3所述的系统,其中所述控制节点在确定执行所述查询任务的计算节点中进一步用于:
基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中所述优先级队列按照所述查询权重由大到小的顺序排列;
基于所述系统中各计算节点的占用率,确定所述多个计算节点的占用率队列,其中所述占用率队列按照所述占用率由小到大的顺序排列;
将所述优先级队列中优先级别最高的查询任务分配给所述占用率队列中占用率最小的计算节点。
5.根据权利要求4所述的系统,其中所述控制节点进一步用于:
基于所述查询任务的查询时刻与当前时刻之间的第一距离以及所述查询任务的查询频次,确定所述查询任务的查询权重;和/或
基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中所述已分配任务的数量,确定所述每个计算节点的占用率。
6.根据权利要求5所述的系统,其中所述查询任务包括查询在位置p处的电磁场强,所述查询权重通过下式计算得到:
其中,表示所述查询权重,t表示当前时刻,α表示权重系数,s表示所述查询任务在预设时间段tf内的查询次数,ti表示所述查询任务在预设时间段tf内的查询时刻。
7.根据权利要求5所述的系统,其中所述占用率通过下式计算得到:
其中,Occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,表示已分配任务taski被分配给第m个计算节点的分配时刻。
8.根据权利要求4所述的系统,其中所述控制节点还用于:
在每次分配查询任务后,从所述优先级队列中弹出已分配的查询任务;
更新各计算节点的占用率,以得到所述各计算节点的更新占用率;
依序比较所述占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新所述占用率队列。
9.根据权利要求8所述的系统,其中所述控制节点进一步用于:
响应于所述占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新所述占用率队列;或者
响应于所述占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成所述占用率队列的更新。
10.一种用于电磁环境仿真的方法,应用于包括多个计算节点的系统中,所述方法包括:
根据接收到的与电磁环境仿真有关的请求信息的类型,确定执行相应操作的计算节点,以便将所述请求信息发送至确定的所述计算节点,使得所述计算节点基于接收到的所述请求信息,执行相应的操作。
11.根据权利要求1所述的方法,进一步包括:
响应于所述类型为添加仿真对象或者更新仿真对象,将所述请求信息发送至所述系统中的每个计算节点;
响应于所述类型为执行电磁场强的查询任务,基于所述查询任务的优先级别和所述系统中各计算节点的占用情况,确定执行所述查询任务的计算节点。
12.根据权利要求11所述的方法,其中确定执行所述查询任务的计算节点包括:
基于当前待分配的各查询任务的查询权重,确定执行各查询任务的优先级队列,其中所述优先级队列按照所述查询权重由大到小的顺序排列;
基于所述系统中各计算节点的占用率,确定所述多个计算节点的占用率队列,其中所述占用率队列按照所述占用率由小到大的顺序排列;
将所述优先级队列中优先级别最高的查询任务分配给所述占用率队列中占用率最小的计算节点。
13.根据权利要求12所述的方法,进一步包括:
基于所述查询任务的查询时刻与当前时刻之间的第一距离以及所述查询任务的查询频次,确定所述查询任务的查询权重;和/或
基于每个计算节点中已分配任务的分配时刻与当前时刻之间的第二距离以及每个计算节点中所述已分配任务的数量,确定所述每个计算节点的占用率。
14.根据权利要求13所述的方法,其中所述查询任务包括查询在位置p处的电磁场强,所述查询权重通过下式计算得到:
其中,表示所述查询权重,t表示当前时刻,α表示权重系数,s表示所述查询任务在预设时间段tf内的查询次数,ti表示所述查询任务在预设时间段tf内的查询时刻。
15.根据权利要求14所述的方法,其中所述占用率通过下式计算得到:
其中,Occupancym表示第m个计算节点的占用率,β表示占用率系数,tf表示预设时间段,t表示当前时刻,task0、task1、…、taskn表示已分配给第m个计算节点的已分配任务,表示已分配任务taski被分配给第m个计算节点的分配时刻。
16.根据权利要求12所述的方法,还包括:
在每次分配查询任务后,从所述优先级队列中弹出已分配的查询任务;
更新各计算节点的占用率,以得到所述各计算节点的更新占用率;
依序比较所述占用率队列中排序相邻的两个计算节点的更新占用率,以确定是否更新所述占用率队列。
17.根据权利要求16所述的方法,其中确定是否更新所述占用率队列进一步包括:
响应于所述占用率队列中排序第一的计算节点的更新占用率小于或者等于排序第二的计算节点的更新占用率,不更新所述占用率队列;或者
响应于所述占用率队列中排序第一的计算节点的更新占用率大于排序第二的计算节点的更新占用率,交换排序第一的计算节点和排序第二的计算节点的排序位置,继续比较当前排序第二的计算节点和排序第三的计算节点,直至更新占用率最小的计算节点排序第一为止,完成所述占用率队列的更新。
18.一种用于电磁环境仿真的设备,包括:
处理器,其用于执行程序指令;以及
存储器,其存储有所述程序指令,当所述程序指令由所述处理器加载并执行时,使得所述处理器执行根据权利要求10-17任一所述的方法。
19.一种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令被一个或多个处理器执行时,实现如权利要求10-18中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410263866.5A CN118211379A (zh) | 2024-03-07 | 2024-03-07 | 用于电磁环境仿真的系统、方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410263866.5A CN118211379A (zh) | 2024-03-07 | 2024-03-07 | 用于电磁环境仿真的系统、方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118211379A true CN118211379A (zh) | 2024-06-18 |
Family
ID=91445499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410263866.5A Pending CN118211379A (zh) | 2024-03-07 | 2024-03-07 | 用于电磁环境仿真的系统、方法及相关产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118211379A (zh) |
-
2024
- 2024-03-07 CN CN202410263866.5A patent/CN118211379A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110262901B (zh) | 一种数据处理方法及数据处理系统 | |
CN110221915B (zh) | 节点调度方法和装置 | |
CN107273213B (zh) | 一种计算控制方法、网卡及电子设备 | |
CN114861911B (zh) | 深度学习模型的训练方法、装置、系统、设备和介质 | |
US20130346540A1 (en) | Storing and Moving Data in a Distributed Storage System | |
CN112181664B (zh) | 负载均衡方法及装置、计算机可读存储介质及电子设备 | |
US10558579B1 (en) | System and method for adaptive cache | |
WO2016202153A1 (zh) | 一种gpu资源的分配方法及系统 | |
CN111796933A (zh) | 资源调度方法、装置、存储介质和电子设备 | |
WO2021194616A1 (en) | Load balancing for memory channel controllers | |
US8819239B2 (en) | Distributed resource management systems and methods for resource management thereof | |
CN114721818A (zh) | 一种基于Kubernetes集群的GPU分时共享方法和系统 | |
Gong et al. | Task scheduling in cloud computing environment based on enhanced marine predator algorithm | |
CN116501828B (zh) | 基于非结构化数据集的服务器无感知向量查询方法和系统 | |
CN113676559A (zh) | 物联网多设备移动边缘计算的信息处理系统及方法 | |
CN116089477B (zh) | 分布式训练方法及系统 | |
CN117076133A (zh) | 云游戏平台异构资源分配方法、计算机装置及存储介质 | |
CN118211379A (zh) | 用于电磁环境仿真的系统、方法及相关产品 | |
CN116880968A (zh) | 一种作业调度方法及调度系统 | |
JP2004102631A (ja) | データベース検索プログラム、データベース検索方法及びデータベース検索装置 | |
CN114896070A (zh) | 一种用于深度学习任务的gpu资源分配方法 | |
CN116302327A (zh) | 资源调度方法及相关设备 | |
US10635336B1 (en) | Cache-based partition allocation | |
CN109617954B (zh) | 一种创建云主机的方法和装置 | |
JPH076110A (ja) | 分散処理システムの通信オーバヘッド低減方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |