CN113760512B - 仿真模型的执行方法及装置、存储介质及电子设备 - Google Patents
仿真模型的执行方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113760512B CN113760512B CN202111047782.0A CN202111047782A CN113760512B CN 113760512 B CN113760512 B CN 113760512B CN 202111047782 A CN202111047782 A CN 202111047782A CN 113760512 B CN113760512 B CN 113760512B
- Authority
- CN
- China
- Prior art keywords
- model
- thread
- simulation
- determining
- subset
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Abstract
本发明提供一种仿真模型的执行方法及装置、存储介质及电子设备,该方法包括:在需执行多个仿真模型的情况下,响应于用户执行的分组操作,将模型集合划分为满足预设划分条件的多个模型子集合,并通过预设的方式提示用户确定当前的多个模型子集合是否满足预设的执行条件。若用户确定当前的多个模型子集合不满足预设的执行条件,则将模型集合重新划分为满足预设划分条件的多个模型子集合,直至用户确定当前的多个模型子集合满足预设的执行条件后,对于当前多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。应用本发明的方法,以多个线程同时执行各个仿真模型,可缩短仿真时间,提高仿真效率。
Description
技术领域
本发明涉及仿真技术领域,特别是涉及一种仿真模型的执行方法及装置、存储介质及电子设备。
背景技术
随着仿真技术的发展,仿真技术已成为各领域科研和生产工作中的常用技术之一。通过仿真系统执行仿真过程则是仿真工作中的重要组成部分之一。
在仿真系统的仿真过程中,通常是通过执行各个仿真模型实现仿真的。目前,系统通常仅建立一个线程执行各个仿真模型,在执行完一个仿真模型后接着执行下一个仿真模型,直至执行完最后一个仿真模型。
在现有的仿真应用场景中,仿真工程越来越复杂,仿真过程中需执行的仿真模型亦越来越多。而基于现有的仿真模型的执行方式,仿真过程所需的仿真时间为每个仿真模型执行时间的总和,故基于现有仿真模型的执行方式实现仿真,仿真时间较长,仿真效率较低。
发明内容
有鉴于此,本发明实施例提供了一种仿真模型的执行方法,以解决仿真时间较长,仿真效率较低的问题。
本发明实施例还提供了一种仿真模型的执行装置,用以保证上述方法实际中的实现及应用。
为实现上述目的,本发明实施例提供如下技术方案:
一种仿真模型的执行方法,包括:
当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合,所述模型集合中包括多个仿真模型;
响应于用户当前对所述多个仿真模型执行的分组操作,将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;
确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;
向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;
若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
上述的方法,可选的,所述将所述模型集合划分为满足预设划分条件的多个模型子集合,包括:
确定所述用户当前在前端界面中创建的各个分组框控件;
确定标签集合,所述标签集合中包含多个模型标签,所述多个模型标签与所述多个仿真模型一一对应;
在所述各个分组框控件中,确定每个所述模型标签对应的分组框控件;
确定每个所述分组框控件对应的模型子集合,每个所述分组框控件对应的所述模型子集合中包含对应该分组框控件的每个模型标签所对应的仿真模型;
将各个所述分组框控件对应的模型子集合确定为对所述模型集合划分得到的各个模型子集合。
上述的方法,可选的,所述确定当前每个所述模型子集合对应的线程,包括:
确定当前各个所述模型子集合的集合总数量;
确定与所述集合总数量相对应的各个线程;
建立所述各个线程与各个所述模型子集合一一对应的关联关系,将每个所述模型子集合关联的线程作为每个所述模型子集合对应的线程。
上述的方法,可选的,所述确定每个所述线程对应的执行时间参数,包括:
确定每个所述线程对应的执行时长;
将各个所述线程对应的执行时长相加,得到时长总和;
确定每个所述线程对应的时长占比,每个所述线程对应的所述时长占比为该线程对应的执行时长与所述时长总和的比值;
将每个所述线程对应的所述时长占比,作为每个所述线程对应的所述执行时间参数。
上述的方法,可选的,所述对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型,包括:
确定各个目标线程,所述各个目标线程为所述用户确定满足所述预设的执行条件的多个模型子集合中的各个模型子集合对应的线程;
确定每个所述目标线程对应的各个待执行任务,每个所述目标线程对应的所述各个待执行任务为,该线程对应的模型子集合中包含的各个仿真模型对应的仿真任务;
调用每个所述目标线程,依次执行每个所述目标线程对应的各个所述待执行任务。
一种仿真模型的执行装置,包括:
第一确定单元,用于当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合,所述模型集合中包括多个仿真模型;
第一划分单元,用于响应于用户当前对所述多个仿真模型执行的分组操作,将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;
第二确定单元,用于确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;
展示单元,用于向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;
第二划分单元,用于若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
执行单元,用于对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
上述的装置,可选的,所述第二确定单元,包括:
第一确定子单元,用于确定当前各个所述模型子集合的集合总数量;
第二确定子单元,用于确定与所述集合总数量相对应的各个线程;
第三确定子单元,用于建立所述各个线程与各个所述模型子集合一一对应的关联关系,将每个所述模型子集合关联的线程作为每个所述模型子集合对应的线程。
上述的装置,可选的,所述第二确定单元,包括:
第四确定子单元,用于确定每个所述线程对应的执行时长;
第五确定子单元,用于将各个所述线程对应的执行时长相加,得到时长总和;确定每个所述线程对应的时长占比,每个所述线程对应的所述时长占比为该线程对应的执行时长与所述时长总和的比值;将每个所述线程对应的所述时长占比,作为每个所述线程对应的所述执行时间参数。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的仿真模型的执行方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述的仿真模型的执行方法。
基于上述本发明实施例提供的一种仿真模型的执行方法,包括:当接收到仿真工程的执行指令时,确定该仿真工程的模型集合,其中包括多个仿真模型。响应于用户当前对所述多个仿真模型执行的分组操作,将模型集合划分为满足预设划分条件的多个模型子集合。确定当前每个模型子集合对应的线程,并确定每个线程对应的执行时间参数;向用户展示各个执行时间参数,以便于用户确定当前划分得到的多个模型子集合是否满足预设的执行条件;若用户确定当前划分得到的多个模型子集合不满足预设的执行条件,则响应于用户对所述多个仿真模型重新执行的分组操作,将模型集合重新划分为满足预设划分条件的多个模型子集合,直至用户确定当前划分得到的多个模型子集合满足预设的执行条件;对于用户确定满足预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。应用本发明实施例提供的方法,可将多个仿真模型划分为符合条件的多个模型子集合,每个模型子集合分别对应一个线程,以每个模型子集合对应的线程执行该模型子集合中的各个仿真模型,各个线程可并行执行,即可同时执行多个仿真模型,可缩短执行仿真模型的总时长,提高仿真效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种仿真模型的执行方法的方法流程图;
图2为本发明实施例提供的一种仿真模型的分组界面的示意图;
图3为本发明实施例提供的一种仿真模型的分组界面的又一示意图;
图4为本发明实施例提供的一种仿真模型的分组界面的另一示意图;
图5为本发明实施例提供的一种仿真模型的执行方法的又一方法流程图;
图6为本发明实施例提供的一种仿真模型的执行装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例提供了一种仿真模型的执行方法,所述方法可应用于仿真系统,其执行主体可以为系统的处理器,所述方法的方法流程图如图1所示,包括:
S101:当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合,所述模型集合中包括多个仿真模型;
本发明实施例提供的方法中,用户可通过仿真系统导入已构建的仿真工程对应的工程文件,以触发仿真工程的执行指令,也可以实时构建仿真工程,生成对应的工程文件。当处理器接收到执行指令,可解析对应的工程文件,获得该仿真工程对应的各个仿真模型。
S102:响应于用户当前对所述多个仿真模型执行的分组操作,将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;
本发明实施例提供的方法中,用户可在前端界面中对各个仿真模型进行分组,当用户完成分组后,可触发对应的确认控件,处理器响应于该操作,可根据用户的分组操作,将模型集合中的各个仿真模型对应划分为多个模型子集合,在具体的分组操作中,每个仿真模型都应存在对应的分组,且不会被重复分配,以保证每个仿真模型都会被执行,且不会被重复执行。将模型集合划分为多个模型子集合后,相对应的,各个模型子集合相互之间的交集为零,且各个模型子集合的并集等于该模型集合。
S103:确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;
本发明实施例提供的方法中,执行本发明的处理器为多核多线程的处理器。可在预设的线程池中获取多个线程,为每个模型子集合分配一个空闲的线程。触发各个线程并行执行任务,每个线程执行其对应的模型子集合中的各个仿真模型,根据执行结果确定每个线程对应的执行时间参数,每个线程对应的执行时间参数为,表征该线程完成其对应模型子集合中各个仿真模型对应的执行过程所耗费时长的参数,例如可以是具体的时长参数,也可以是执行起止时间,还可以是在各个线程总耗时中的耗时占比等等。
S104:向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;
本发明实施例提供的方法中,在前端界面中显示每个线程对应的执行时间参数,在具体的实现过程中,用户在前端界面中进行分组,对应的,可以以每个分组对应参数的方式,显示各个执行时间参数。用户可根据各个执行时间参数,判断当前划分得到的所述多个模型子集合是否满足预设的执行条件,也就是当前其分组是否满足预设的执行条件。预设的执行条件可以为执行时间最短,则判断当前得到的各个执行时间参数中,表征执行时长最长的参数,是否已达到了可调整范围内的最小值。预设的执行条件也可以为耗时最短且线程占用数最少等等。需要说明的是,可根据实际的需求设置执行条件,不影响本发明实施例提供的方法实现功能。
S105:若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
本发明实施例提供的方法中,用户可在前端通过点击控件的方式,确定当前划分得到的所述多个模型子集合是否满足预设的执行条件,当接收到用户点击控件所触发的指令时,可根据该指令判断用户确定各个模型子集合是否满足执行条件。若用户在前端点击了重新分组所对应的控件,用户则可重新对各个仿真模型进行分组。响应于用户的分组操作,可重新进行模型子集合的划分。在具体的实现过程中,用户重新执行分组操作,则会调整仿真模型对应的分组。相对应的,重新划分的各个模型子集合,则与上一次划分得到的各个模型子集合不同,也就是上一次划分得到的各个模型子集合中,会有至少一个仿真模型从其原属的模型子集合转移到另一个模型子集合。与用户的分组操作相对应,用户可以增加分组,也可以删除分组,故模型子集合的数量也可能发生改变,可以减少模型子集合的个数,也可以增加模型子集合的个数。
在重新划分得到多个模型子集合后,可再次执行S103和S104中提及的过程,以使用户确定当前划分得到的多个模型子集合是否符合执行条件,若不符合,用户则重新分组,相对应的,重新对模型集合进行划分,直至划分得到的多个模型子集合,经用户确定符合执行条件。
S106:对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
本发明实施例提供的方法中,当用户确定当前划分得到的多个模型子集合符合预设的划分条件后,则触发当前各个模型子集合对应的线程并行执行任务,每个线程执行其对应的模型子集合中的各个仿真模型。故每个模型子集合中的仿真模型可并行执行。
基于本发明实施例提供的方法,在需执行模型集合中的多个仿真模型时。可响应于用户对所述多个仿真模型执行的分组操作,将模型集合划分为满足预设划分条件的多个模型子集合,确定当前每个模型子集合对应的线程,并确定每个线程对应的执行时间参数。向用户展示各个执行时间参数,以便于用户确定当前划分得到的多个模型子集合是否满足预设的执行条件;若用户确定当前划分得到的多个模型子集合不满足执行条件,则响应于用户重新执行的分组操作,将模型集合重新划分为满足预设划分条件的多个模型子集合,直至用户确定划分得到的多个模型子集合满足执行条件后,对于当前每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。应用本发明实施例提供的方法,用户可以对待执行的各个仿真模型进行分组,以使处理器将各个仿真模型划分为多个模型子集合,为每个模型子集合分配一个线程,每个线程执行其对应模型子集合中的各个仿真模型。多个线程并行执行,可同时执行多个仿真模型,可以缩短执行仿真模型的总时长,提高仿真效率。另一方面,用户可自由对仿真模型进行分组,可根据实际需求调整使用的线程数,调整仿真时间,有利于在提高仿真效率的同时,节省线程资源,亦有利于提升用户的使用体验。
进一步的,在图1所示方法的基础上,本发明实施例提供了又一种仿真模型的执行方法,其中,步骤S102中所提及的将所述模型集合划分为满足预设划分条件的多个模型子集合的过程,包括:
确定所述用户当前在前端界面中创建的各个分组框控件;
本发明实施例提供的方法中,用户可在前端界面中新建分组,在新建分组后,界面中可创建对应的分组框控件,可以以一个分组框控件作为一个分组容器。可通过当前对前端界面的检测,确定用户当前创建的各个分组框控件。
确定标签集合,所述标签集合中包含多个模型标签,所述多个模型标签与所述多个仿真模型一一对应;
本发明实施例提供的方法中,在前端界面中可显示仿真工程对应的模型列表,具体以模型标签的方式进行表征,也就是显示模型的名称等等。每个模型标签对应的一个仿真模型。用户可通过移动模型标签的方式,对各个仿真模型进行分组。用户将各个模型标签分配至同一分组,则表征将该分组内各个模型标签对应的各个仿真模型分为一组。
在所述各个分组框控件中,确定每个所述模型标签对应的分组框控件;
本发明实施例提供的方法中,可读取每个分组框控件中包含的模型标签,以确定每个模型标签对应的分组框控件。例如读取到控件1中包含标签1、标签2和标签3,而控件2中包含标签4和标签5。故标签1、标签2和标签3对应的分组框控件为控件1,而标签4和标签5对应的分组框控件为控件2。
确定每个所述分组框控件对应的模型子集合,每个所述分组框控件对应的所述模型子集合中包含对应该分组框控件的每个模型标签所对应的仿真模型;
本发明实施例提供的方法中,对于每个分组框控件,可将与其相对应的每个模型标签对应的仿真模型,作为该分组框控件对应的仿真模型,得到该分组框控件对应的模型子集合。如上述控件1和控件2,控件1对应的模型子集合中包括标签1对应的仿真模型、标签2对应的仿真模型和标签3对应的仿真模型,控件2对应的模型子集合中包括标签4对应的仿真模型和标签5对应的仿真模型。
将各个所述分组框控件对应的模型子集合确定为对所述模型集合划分得到的各个模型子集合。
本发明实施例提供的方法中,可根据各个分组框控件对应的模型子集合,确定对模型集合划分得到的多个模型子集合。也就是将用户在前端界面中分为一组的各个仿真模型,划分为一个模型子集合。如上述控件1和控件2对应的模型子集合,将所述模型集合中,与标签1对应的仿真模型、与标签2对应的仿真模型,以及与标签3对应的仿真模型,划分为一个模型子集合,将所述模型集合中,与标签4对应的仿真模型和与标签5对应的仿真模型划分为一个模型子集合。
基于本发明实施例提供的方法,可根据用户在前端的分组,将所述模型集合划分为多个模型子集合,用户可基于分组框的方式便捷地对各个仿真模型进行分组,可提升用户的使用体验。
进一步的,在图1所示方法的基础上,本发明实施例提供了另一种仿真模型的执行方法,其中,步骤S103中所提及的确定当前每个所述模型子集合对应的线程的过程,包括:
确定当前各个所述模型子集合的集合总数量;
确定与所述集合总数量相对应的各个线程;
建立所述各个线程与各个所述模型子集合一一对应的关联关系,将每个所述模型子集合关联的线程作为每个所述模型子集合对应的线程。
本发明实施例提供的方法中,可统计所述模型集合当前划分得到的模型子集合的数量,若存在预先构建的线程池,则从线程池从获取与集合总数量相对应的多个线程,若不存在线程池,则创建与集合总数量相对应的多个线程,线程数与集合总数量相等。例如,当前划分得到五个模型子集合,则对应确定五个空闲的线程。为每个模型子集合分配一个线程,且各个线程不作重复分配。具体的,可以采用随机一一对应分配的方式进行分配。
基于本发明实施例提供的方法,可确定与各个模型子集合的集合总数量相对应的线程数的各个线程,以进行一一分配,在保障每个模型子集合可分配到唯一线程的情况下,可节省线程资源。
为了更好地说明本发明实施例提供的方法,结合图2~图4所示的分组界面示意图,本发明实施例提供了又一种仿真模型的执行方法,对用户执行的分组操作进行简要说明。
本发明实施例提供的方法中,可基于Qt框架设计前端的分组界面,Qt是一种跨平台C++图形用户界面应用程序开发框架。如图2所示分组界面的简要示意图,分组界面中可设置有显示仿真工程中各个仿真模型的名称列表的控件,如图2中左侧控件,其中包含BigFmu、pythonA、pythonB、pythonC和pythonD,五个仿真模型。图2所示界面当前处于用户尚未对各个仿真模型执行分组操作的状态。
用户可通过移动光标将左侧列表中的仿真模型的模型名称拖拽至右侧的空白区域进行分组,如图3所示分组界面的简要示意图,在界面右侧创建了五个分组框控件,每个分组框控件中被拖拽进了一个仿真模型的名称,也就是图3所示状态下,用户为每个仿真模型都分配了一个线程分组。用户在对各个仿真模型进行分组后,可触发系统开始仿真,系统可对应用户的分组情况,将各个仿真模型划分为各个模型子集合,仿真引擎则会根据当前的分组数(集合数)创建相应数量的线程,并为每个分组(模型子集合)分配一个线程,并行调用各个线程执行任务,每个分组(模型子集合)对应的各个仿真模型在其对应的线程中依次执行。可根据该仿真执行过程,确定每个分组(模型子集合)对应的执行时间参数,并在分组界面上进行显示,如图3所示界面,每个分组框控件对应的“总占比”,则为执行时间参数的标签,各个分组对应的参数数值可在该位置显示。例如经过仿真统计后,界面中显示的各个执行时间参数从左往右依次为78.14%、5.31%、5.43%、5.70%和5.42%。故这五个分组的耗时明显不均衡,其中,执行BigFmu模型的耗时,远远大于执行其他模型的耗时总和。
此时,用户可以确定当前划分的各个模型子集合不符合预设的执行条件,用户通过拖拽操作对各个仿真模型重新进行分组,如图4所示分组界面的简要示意图,用户可将pythonA、pythonB、pythonC和pythonD,这四个仿真模型分配至一个分组框控件内,删除其余分组框控件。也就是以一个线程执行模型BigFmu,而以另一个线程执行模型pythonA、pythonB、pythonC和pythonD。根据该分组对模型集合进行划分,经过仿真统计后,得到的执行时间参数依次为93.64%和6.36%。可见,在提高仿真效率的同时,亦可节省CPU的线程资源。
需要说明的是,本发明实施例提供的具体模型名称,具体分组情况,以及具体的执行时间参数,仅为了更好地说明本发明的方法所提供的实施例,并不是对具体实现过程中的相关内容进行限定。图2~图4所示界面,仅为了更好地说明本发明实施例提供的方法所提供的简要示意图,各图中并未示出实际应用过程中的所有操作控件。另外,结合图2~图4所提供的用户对各个仿真模型执行分组操作的方式,亦仅为一个具体实施例,在具体实现过程中,可以采取其他的页面设置和操作方式,供用户执行分组操作,不影响本发明实施例提供的方法实现功能。
为了更好地说明本发明实施例提供的方法,结合图5所示方法流程图,在图1所示方法的基础上,本发明实施例提供了又一种仿真模型的执行方法,其中,步骤S103中所提及的确定每个所述线程对应的执行时间参数的过程,包括:
S201:确定每个所述线程对应的执行时长;
本发明实施例提供的方法中,可触发各个线程并行执行其对应的模型子集合中的各个仿真模型,以确定每个线程对应的执行时间参数。在各个线程均完成需执行的任务后,确定每个线程对应的执行时长,也就是每个线程完成其需执行的任务所耗费的时间。具体的,可以记录每个线程开始执行的时间和执行完成的时间,通过起止时间的差距确定执行时长。
S202:将各个所述线程对应的执行时长相加,得到时长总和;
本发明实施例提供的方法中,可将所有线程对应的执行时长作和运算,将运算结果作为时长总和。
S203:确定每个所述线程对应的时长占比,每个所述线程对应的所述时长占比为该线程对应的执行时长与所述时长总和的比值;
本发明实施例提供的方法中,可将每个线程对应的执行时长与时长总和相比,将其比值作为该线程对应的时长占比。例如线程1对应的执行时长为20s,而各个线程执行时长的时长总和为180s,则线程1对应的时长占比为1/9,也可以转换为小数的形式进行表征。
S204:将每个所述线程对应的所述时长占比,作为每个所述线程对应的所述执行时间参数。
本发明实施例提供的方法中,将每个线程对应的时长占比作为该线程对应的执行时间参数。
基于本发明实施例提供的方法,通过计算每个线程对应的执行时长与时长总和的比值,将其比值作为该线程对应的执行时间参数,计算过程较为简单,亦可明显表征每个线程的执行时长在各个线程的执行时长中的时间长短程度。
进一步的,在图1所示方法的基础上,本发明实施例提供了又一种仿真模型的执行方法,其中,步骤S106中所提及的对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型的过程,包括:
确定各个目标线程,所述各个目标线程为所述用户确定满足所述预设的执行条件的多个模型子集合中的各个模型子集合对应的线程;
本发明实施例提供的方法中,在用户确定当前划分得到的多个模型子集合符合预设的执行条件后,将当前的每个模型子集合对应的线程作为目标线程。
确定每个所述目标线程对应的各个待执行任务,每个所述目标线程对应的所述各个待执行任务为,该线程对应的模型子集合中包含的各个仿真模型对应的仿真任务;
本发明实施例提供的方法中,创建每个仿真模型对应的仿真任务,将每个目标线程对应的模型子集合中每个仿真模型对应的仿真任务作为该目标线程对应的待执行任务。
调用每个所述目标线程,依次执行每个所述目标线程对应的各个所述待执行任务。
本发明实施例提供的方法中,调用各个目标线程开始执行其对应的各个待执行任务。各个目标线程并行工作,也就是各个线程可同时处理其对应的待执行任务,以执行各个仿真模型。本发明实施例中的待执行任务则为仿真模型对应的仿真任务,执行待执行任务,则为执行该任务对应的仿真模型。例如线程1对应任务1、任务2和任务3,线程2对应任务4、任务5,以及线程3对应任务6和任务7。调用线程1、线程2和线程3开始执行任务后,线程1开始执行任务1,也就是执行任务1所对应的仿真模型,线程2开始执行任务4,而线程3开始执行任务6,这三个任务可同时执行。线程1在执行完任务1后,则开始执行任务2,以依次执行其对应的各个待执行任务,其他线程同理。
与图1所示的仿真模型的执行方法相对应的,本发明实施例还提供了一种仿真模型的执行装置,用于对图1中所示方法的具体实现,其结构示意图如图6所示,包括:
第一确定单元301,用于当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合,所述模型集合中包括多个仿真模型;
第一划分单元302,用于响应于用户当前对所述多个仿真模型执行的分组操作,将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;
第二确定单元303,用于确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;
展示单元304,用于向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;
第二划分单元305,用于若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
执行单元306,用于对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
基于本发明实施例提供的装置,在需执行模型集合中的多个仿真模型时。可响应于用户对所述多个仿真模型执行的分组操作,将模型集合划分为满足预设划分条件的多个模型子集合,确定当前每个模型子集合对应的线程,并确定每个线程对应的执行时间参数。向用户展示各个执行时间参数,以便于用户确定当前划分得到的多个模型子集合是否满足预设的执行条件;若用户确定当前划分得到的多个模型子集合不满足执行条件,则响应于用户重新执行的分组操作,将模型集合重新划分为满足预设划分条件的多个模型子集合,直至用户确定划分得到的多个模型子集合满足执行条件后,对于当前每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。应用本发明实施例提供的装置,用户可以对待执行的各个仿真模型进行分组,以使处理器将各个仿真模型划分为多个模型子集合,为每个模型子集合分配一个线程,每个线程执行其对应模型子集合中的各个仿真模型。多个线程并行执行,可同时执行多个仿真模型,可以缩短执行仿真模型的总时长,提高仿真效率。另一方面,用户可自由对仿真模型进行分组,可根据实际需求调整使用的线程数,调整仿真时间,有利于在提高仿真效率的同时,节省线程资源,亦有利于提升用户的使用体验。
在图6所示装置的基础上,本发明实施例提供的装置中,所述第二确定单元303,包括:
第一确定子单元,用于确定当前各个所述模型子集合的集合总数量;
第二确定子单元,用于确定与所述集合总数量相对应的各个线程;
第三确定子单元,用于建立所述各个线程与各个所述模型子集合一一对应的关联关系,将每个所述模型子集合关联的线程作为每个所述模型子集合对应的线程。
在图6所示装置的基础上,本发明实施例提供的装置中,所述第二确定单元303,包括:
第四确定子单元,用于确定每个所述线程对应的执行时长;
第五确定子单元,用于将各个所述线程对应的执行时长相加,得到时长总和;确定每个所述线程对应的时长占比,每个所述线程对应的所述时长占比为该线程对应的执行时长与所述时长总和的比值;将每个所述线程对应的所述时长占比,作为每个所述线程对应的所述执行时间参数。
在图6所示装置的基础上,本发明实施例提供的装置中,所述第一划分单元302,包括:
第六确定子单元,用于确定所述用户当前在前端界面中创建的各个分组框控件;
第七确定子单元,用于确定标签集合,所述标签集合中包含多个模型标签,所述多个模型标签与所述多个仿真模型一一对应;
第八确定子单元,用于在所述各个分组框控件中,确定每个所述模型标签对应的分组框控件;
第九确定子单元,用于确定每个所述分组框控件对应的模型子集合,每个所述分组框控件对应的所述模型子集合中包含对应该分组框控件的每个模型标签所对应的仿真模型;将各个所述分组框控件对应的模型子集合确定为对所述模型集合划分得到的各个模型子集合。
在图6所示装置的基础上,本发明实施例提供的装置中,所述执行单元306,包括:
第十确定子单元,用于确定各个目标线程,所述各个目标线程为所述用户确定满足所述预设的执行条件的多个模型子集合中的各个模型子集合对应的线程;
第十一确定子单元,用于确定每个所述目标线程对应的各个待执行任务,每个所述目标线程对应的所述各个待执行任务为,该线程对应的模型子集合中包含的各个仿真模型对应的仿真任务;
调用子单元,用于调用每个所述目标线程,依次执行每个所述目标线程对应的各个所述待执行任务。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的仿真模型的执行方法。
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器401,以及一个或者一个以上的指令402,其中一个或者一个以上指令402存储于存储器401中,且经配置以由一个或者一个以上处理器403执行所述一个或者一个以上指令402进行以下操作:
当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合,所述模型集合中包括多个仿真模型;
响应于用户当前对所述多个仿真模型执行的分组操作,将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;
确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;
向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;
若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种仿真模型的执行方法,其特征在于,包括:
当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合所包含的多个仿真模型;
响应于用户当前对所述多个仿真模型执行的分组操作,确定每一个仿真模型对应的分组以将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;每个模型子集合包括至少一个仿真模型;
确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;所述执行时间参数表示所述线程执行对应模型子集合中各个仿真模型所花费的时间;
向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;所述预设的执行条件包括执行时间最短、或执行时间最短且线程占用数最少;
若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
2.根据权利要求1所述的方法,其特征在于,所述将所述模型集合划分为满足预设划分条件的多个模型子集合,包括:
确定所述用户当前在前端界面中创建的各个分组框控件;
确定标签集合,所述标签集合中包含多个模型标签,所述多个模型标签与所述多个仿真模型一一对应;
在所述各个分组框控件中,确定每个所述模型标签对应的分组框控件;
确定每个所述分组框控件对应的模型子集合,每个所述分组框控件对应的所述模型子集合中包含对应该分组框控件的每个模型标签所对应的仿真模型;
将各个所述分组框控件对应的模型子集合确定为对所述模型集合划分得到的各个模型子集合。
3.根据权利要求1所述的方法,其特征在于,所述确定当前每个所述模型子集合对应的线程,包括:
确定当前各个所述模型子集合的集合总数量;
确定与所述集合总数量相对应的各个线程;
建立所述各个线程与各个所述模型子集合一一对应的关联关系,将每个所述模型子集合关联的线程作为每个所述模型子集合对应的线程。
4.根据权利要求1所述的方法,其特征在于,所述确定每个所述线程对应的执行时间参数,包括:
确定每个所述线程对应的执行时长;
将各个所述线程对应的执行时长相加,得到时长总和;
确定每个所述线程对应的时长占比,每个所述线程对应的所述时长占比为该线程对应的执行时长与所述时长总和的比值;
将每个所述线程对应的所述时长占比,作为每个所述线程对应的所述执行时间参数。
5.根据权利要求1所述的方法,其特征在于,所述对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型,包括:
确定各个目标线程,所述各个目标线程为所述用户确定满足所述预设的执行条件的多个模型子集合中的各个模型子集合对应的线程;
确定每个所述目标线程对应的各个待执行任务,每个所述目标线程对应的所述各个待执行任务为,该线程对应的模型子集合中包含的各个仿真模型对应的仿真任务;
调用每个所述目标线程,依次执行每个所述目标线程对应的各个所述待执行任务。
6.一种仿真模型的执行装置,其特征在于,包括:
第一确定单元,用于当接收到仿真工程的执行指令时,确定所述仿真工程对应的模型集合所包含的多个仿真模型;
第一划分单元,用于响应于用户当前对所述多个仿真模型执行的分组操作,确定每一个仿真模型对应的分组以将所述模型集合划分为满足预设划分条件的多个模型子集合,所述预设划分条件为所述多个模型子集合相互之间的交集为零,且所述多个模型子集合的并集等于所述模型集合;每个模型子集合包括至少一个仿真模型;
第二确定单元,用于确定当前每个所述模型子集合对应的线程,并确定每个所述线程对应的执行时间参数;所述执行时间参数表示所述线程执行对应模型子集合中各个仿真模型所花费的时间;
展示单元,用于向所述用户展示各个所述执行时间参数,以便于所述用户确定当前划分得到的所述多个模型子集合是否满足预设的执行条件;所述预设的执行条件包括执行时间最短、或执行时间最短且线程占用数最少;
第二划分单元,用于若所述用户确定当前划分得到的所述多个模型子集合不满足所述预设的执行条件,则响应于所述用户对所述多个仿真模型重新执行的分组操作,将所述模型集合重新划分为满足所述预设划分条件的多个模型子集合,直至所述用户确定当前划分得到的多个模型子集合满足所述预设的执行条件;
执行单元,用于对于所述用户确定满足所述预设的执行条件的多个模型子集合中的每个模型子集合,基于该模型子集合对应的线程执行该模型子集合中包含的各个仿真模型。
7.根据权利要求6所述的装置,其特征在于,所述第二确定单元,包括:
第一确定子单元,用于确定当前各个所述模型子集合的集合总数量;
第二确定子单元,用于确定与所述集合总数量相对应的各个线程;
第三确定子单元,用于建立所述各个线程与各个所述模型子集合一一对应的关联关系,将每个所述模型子集合关联的线程作为每个所述模型子集合对应的线程。
8.根据权利要求6所述的装置,其特征在于,所述第二确定单元,包括:
第四确定子单元,用于确定每个所述线程对应的执行时长;
第五确定子单元,用于将各个所述线程对应的执行时长相加,得到时长总和;确定每个所述线程对应的时长占比,每个所述线程对应的所述时长占比为该线程对应的执行时长与所述时长总和的比值;将每个所述线程对应的所述时长占比,作为每个所述线程对应的所述执行时间参数。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~5任意一项所述的仿真模型的执行方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~5任意一项所述的仿真模型的执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047782.0A CN113760512B (zh) | 2021-09-08 | 2021-09-08 | 仿真模型的执行方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047782.0A CN113760512B (zh) | 2021-09-08 | 2021-09-08 | 仿真模型的执行方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760512A CN113760512A (zh) | 2021-12-07 |
CN113760512B true CN113760512B (zh) | 2023-07-11 |
Family
ID=78793679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111047782.0A Active CN113760512B (zh) | 2021-09-08 | 2021-09-08 | 仿真模型的执行方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760512B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968745B (zh) * | 2022-06-10 | 2023-06-16 | 北京世冠金洋科技发展有限公司 | 一种处理系统模型的运行信息的方法及装置 |
CN116205675B (zh) * | 2023-04-28 | 2023-09-08 | 华南师范大学 | 一种基于线程划分的数据采集方法及装置 |
CN116860422A (zh) * | 2023-09-05 | 2023-10-10 | 北京世冠金洋科技发展有限公司 | 一种线程分配方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496494B2 (en) * | 2002-09-17 | 2009-02-24 | International Business Machines Corporation | Method and system for multiprocessor emulation on a multiprocessor host system |
CN111753370A (zh) * | 2020-06-03 | 2020-10-09 | 智慧航海(青岛)科技有限公司 | 一种基于虚拟仿真平台的船舶摇荡运动的试验方法 |
CN112257303B (zh) * | 2020-09-14 | 2024-04-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于热仿真模型的温度稳定时间的测试方法 |
CN112988403B (zh) * | 2021-04-27 | 2021-08-10 | 北京智芯仿真科技有限公司 | 具有保密功能的集成电路仿真多线程管理并行方法及装置 |
-
2021
- 2021-09-08 CN CN202111047782.0A patent/CN113760512B/zh active Active
Non-Patent Citations (1)
Title |
---|
基于规则的小组软件过程仿真模型及其算法;张冰等;《微电子学与计算机》;第25卷(第7期);第112-115页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113760512A (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113760512B (zh) | 仿真模型的执行方法及装置、存储介质及电子设备 | |
CN108984284A (zh) | 基于离线计算平台的dag任务调度方法及装置 | |
CN104834561A (zh) | 一种数据处理方法及装置 | |
CN109710407A (zh) | 分布式系统实时任务调度方法、装置、设备及存储介质 | |
CN105718479A (zh) | 跨idc大数处理架构下执行策略生成方法、装置 | |
US20210216375A1 (en) | Workload placement for virtual gpu enabled systems | |
CN107562528B (zh) | 支持多种计算框架的单元化按需计算方法及相关装置 | |
CN111104210A (zh) | 一种任务处理方法、装置及计算机系统 | |
CN104915253A (zh) | 一种作业调度的方法及作业处理器 | |
CN115454589A (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
Briceno et al. | Time utility functions for modeling and evaluating resource allocations in a heterogeneous computing system | |
CN108132840B (zh) | 一种分布式系统中的资源调度方法及装置 | |
KR20140097815A (ko) | 자원 할당 방법 및 그 장치 | |
CN113886080A (zh) | 高性能集群任务调度方法、装置、电子设备及存储介质 | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及系统 | |
CN111415062A (zh) | 众包任务分配方法、装置、电子设备及存储介质 | |
CN111597044A (zh) | 任务调度方法、装置、存储介质及电子设备 | |
CN108089924A (zh) | 一种任务运行方法及装置 | |
CN103164338B (zh) | 并发处理系统的模拟方法及装置 | |
Casini et al. | Addressing analysis and partitioning issues for the Waters 2019 challenge | |
CN114266357A (zh) | 联邦学习模型构建方法、装置、中心服务器以及客户端 | |
CN109426529B (zh) | 基于x窗口系统图形绘制的方法、装置及终端 | |
CN108429704B (zh) | 一种节点资源分配方法及装置 | |
CN115712501A (zh) | 一种适用于工程机械的云仿真方法和系统 | |
Bouterse et al. | Performance analysis of the reserve capacity policy for dynamic VM allocation in a SaaS environment |
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 |