CN116860422A - 一种线程分配方法及装置 - Google Patents
一种线程分配方法及装置 Download PDFInfo
- Publication number
- CN116860422A CN116860422A CN202311138451.7A CN202311138451A CN116860422A CN 116860422 A CN116860422 A CN 116860422A CN 202311138451 A CN202311138451 A CN 202311138451A CN 116860422 A CN116860422 A CN 116860422A
- Authority
- CN
- China
- Prior art keywords
- model
- models
- thread
- execution time
- execution
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004088 simulation Methods 0.000 claims abstract description 146
- 238000004364 calculation method Methods 0.000 claims abstract description 64
- 230000008569 process Effects 0.000 description 6
- 238000005094 computer simulation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003287 optical effect Effects 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/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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种线程分配方法及装置,该方法包括:获取仿真任务对应的多个模型中各模型的执行时长,各模型之间相互具有差异,多个模型用于仿真计算,以执行仿真任务;基于各模型的执行时长,将各模型分配给仿真任务对应的各线程,以使得各线程的执行时长之间的差异满足差异阈值,线程的执行时长为对线程分配到的模型的执行时长进行累计得到的累计值。
Description
技术领域
本申请涉及计算机仿真技术领域,特别涉及一种线程分配方法及装置。
背景技术
目前,计算机仿真技术已经广泛应用于多种领域,已成为各种对象研制工作的一种必不可少的手段。
其中,可以利用多个计算机仿真模型协同工作,对需要研制的对象进行仿真,但是,基于多个计算机仿真模型进行仿真存在仿真效率低的问题。
发明内容
为解决上述技术问题,本申请实施例提供一种线程分配方法及装置,以达到提高仿真效率的目的,技术方案如下:
一种线程分配方法,包括:
获取仿真任务对应的多个模型中各所述模型的执行时长,各所述模型之间相互具有差异,所述多个模型用于仿真计算,以执行所述仿真任务;
基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,以使得各所述线程的执行时长之间的差异满足差异阈值,所述线程的执行时长为对所述线程分配到的所述模型的执行时长进行累计得到的累计值。
可选的,获取仿真任务对应的多个模型中各所述模型的执行时长,包括:
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前一步仿真计算的执行时长;
或,
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长;
基于各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各所述模型的执行时长。
可选的,基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,包括:
从各所述模型中选择执行时长最大且未被分配的模型;
从各所述线程中选择执行时长最小的线程;
将所述执行时长最大且未被分配的模型,分配给所述执行时长最小的线程;
如果各所述模型中还有未被分配的模型,返回执行所述从各所述模型中选择执行时长最大且未被分配的模型的步骤;
如果各所述模型均已被分配,结束分配。
可选的,从各所述线程中选择执行时长最小的线程,包括:
如果各所述线程中有多个线程的执行时长相同且所述执行时长最小,从所述多个线程中选择线程属性满足预设条件的线程。
可选的,基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,包括:
对各所述模型进行分组,得到多组模型,每组所述模型对应的执行时长之间的差异满足差异阈值,每组所述模型的个数与各所述线程的个数一致;
将每组所述模型分别分配给各所述线程。
一种线程分配装置,包括:
获取模块,用于获取仿真任务对应的多个模型中各所述模型的执行时长,各所述模型之间相互具有差异,所述多个模型用于仿真计算,以执行所述仿真任务;
分配模块,用于基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,以使得各所述线程的执行时长之间的差异满足差异阈值,所述线程的执行时长为对所述线程分配到的所述模型的执行时长进行累计得到的累计值。
可选的,所述获取模块,具体用于:
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前一步仿真计算的执行时长;
或,
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长;
基于各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各所述模型的执行时长。
可选的,所述分配模块,具体用于:
从各所述模型中选择执行时长最大且未被分配的模型;
从各所述线程中选择执行时长最小的线程;
将所述执行时长最大且未被分配的模型,分配给所述执行时长最小的线程;
如果各所述模型中还有未被分配的模型,返回执行所述从各所述模型中选择执行时长最大且未被分配的模型的步骤;
如果各所述模型均已被分配,结束分配。
可选的,所述分配模块从各所述线程中选择执行时长最小的线程的过程,具体包括:
如果各所述线程中有多个线程的执行时长相同且所述执行时长最小,从所述多个线程中选择线程属性满足预设条件的线程。
可选的,所述分配模块,具体用于:
对各所述模型进行分组,得到多组模型,每组所述模型对应的执行时长之间的差异满足差异阈值,每组所述模型的个数与各所述线程的个数一致;
将每组所述模型分别分配给各所述线程。
在本申请中,通过获取仿真任务对应的多个模型中各模型的执行时长,基于各模型的执行时长,将各模型分配给仿真任务对应的各线程,以使得各线程之间的执行时长之间的差异满足差异阈值,可以实现自动分配各模型到各线程,提高仿真效率。
并且,各线程之间的执行时长之间的差异满足差异阈值,可以在计算机CPU(Central Processing Unit,中央处理器)并行执行各线程时,提高计算机CPU的利用率,缩短基于多个模型进行仿真的仿真时长,提高基于多个模型进行仿真的仿真效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例1提供的一种线程分配方法的流程示意图;
图2是本申请实施例3提供的一种线程分配方法的流程示意图;
图3是本申请实施例3提供的一种线程分配方法的实施场景示意图;
图4是本申请实施例4提供的一种线程分配方法的流程示意图;
图5是本申请提供的一种线程分配装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,为本申请实施例1提供的一种线程分配方法的流程示意图,如图1所示,该方法可以包括但并不局限于以下步骤:
步骤S101、获取仿真任务对应的多个模型中各模型的执行时长,各模型之间相互具有差异,多个模型用于仿真计算,以执行仿真任务。
本实施例中,仿真任务为针对被仿真对象所设置的任务。
可以理解的是,单独基于多个模型中某一个模型进行仿真计算,不能完成仿真任务,多个模型需要协同,以执行仿真任务。
执行仿真任务,可能需要一步或多步仿真计算,各模型在每一步仿真计算相互独立,但是会互相依赖上一步仿真计算的数据。例如,在第N步仿真计算时,模型1可能会使用模型2在第N-1步仿真计算的数据,模型2也可能会使用模型4在第N-1步仿真计算的数据。
模型的执行时长可以理解为:计算机CPU执行模型所消耗的时长。
步骤S102、基于各模型的执行时长,将各模型分配给仿真任务对应的各线程,以使得各线程的执行时长之间的差异满足差异阈值,线程的执行时长为对线程分配到的模型的执行时长进行累计得到的累计值。
本实施例中,仿真任务对应的各线程分配到的模型各不相同。
差异阈值可以根据需要进行设置,在本申请中不做限制。
本实施例中,仿真任务对应的各线程可以由计算机CPU并行执行,以进行每一步仿真计算,各线程分配到的模型之间为依次顺序执行。例如,若仿真任务对应的各线程包括:线程1、线程2、线程3和线程4,各模型包括:模型1、模型2、模型3、模型4、模型5和模型6,模型1的执行时长为3ms、模型2的执行时长为8ms、模型3的执行时长为9ms、模型4的执行时长为4ms、模型5的执行时长为8ms、模型6的执行时长为2ms,将模型3分配给线程1,将模型2分配给线程2,将模型5分配给线程3,将模型4、模型1和模型6分配给线程4,计算机CPU可以并行执行线程1、线程2、线程3和线程4,线程4在与线程1、线程2和线程3并行执行时,线程4对应的模型4、模型1和模型6按模型执行顺序依次执行。
在本实施例中,通过获取仿真任务对应的多个模型中各模型的执行时长,基于各模型的执行时长,将各模型分配给所述仿真任务对应的各线程,以使得各线程的执行时长之间的差异满足差异阈值,可以实现自动分配各模型到各线程,提高仿真效率。
并且,各线程之间的执行时长之间的差异满足差异阈值,可以在计算机CPU 并行执行各线程时,提高计算机CPU的利用率,缩短基于多个模型进行仿真的仿真时长,提高基于多个模型进行仿真的仿真效率。
作为本申请另一可选实施例,为本申请实施例2提供的一种线程分配方法,本实施例主要是对上述实施例1中步骤S101的细化方案,步骤S101可以包括但不局限于以下步骤:
步骤S1011、获取仿真任务对应的多个模型中各模型在当前一步仿真计算之前一步仿真计算的执行时长。
本实施例中,基于各模型在当前一步仿真计算之前一步仿真计算的执行时长,将各模型分配给仿真任务对应的各线程,以使得各线程的执行时长之间的差异满足差异阈值,线程的执行时长为对线程分配到的模型在当前一步仿真计算之前一步仿真计算的执行时长进行累计得到的累计值。
当然,步骤S1011也可以包括但不局限于以下步骤:
步骤S1012、获取仿真任务对应的多个模型中各模型在当前一步仿真计算之前的多步仿真计算的执行时长。
步骤S1013、基于各模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各模型的执行时长。
本实施例中,可以但不局限于对模型在当前一步仿真计算之前的多步仿真计算的执行时长进行平均运算,得到平均值,将平均值作为模型的执行时长。
本实施例中,通过获取仿真任务对应的多个模型中各模型在当前一步仿真计算之前的多步仿真计算的执行时长,基于各模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各模型的执行时长,可以保证各模型的执行时长的准确性,在此基础上,基于各模型的执行时长,将各模型分配给所述仿真任务对应的各线程,使各线程的执行时长的准确性得到保证,可以在计算机CPU 并行执行各线程时,更加可靠地提高计算机CPU的利用率。
作为本申请另一可选实施例,参照图2,为本申请实施例3提供的一种线程分配方法的流程示意图,本实施例主要是对上述实施例1提供的线程分配方法的细化方案,如图2所示,实施例1中步骤S102可以包括但不局限于:
步骤S1021、从各模型中选择执行时长最大且未被分配的模型。
本实施例中,如果仿真任务需要多步仿真计算,在第一步仿真计算时,各模型没有历史执行时长,可以设置各模型的执行时长相等。在各模型的执行时长相等的情况下,可以从各模型中随机选择一个未被分配的模型。
在经过一步或多步仿真计算之后,各模型对应有历史执行时长,基于各模型的历史执行时长可以确定各模型的执行时长。基于各模型的历史执行时长确定各模型的执行时长的过程可以参见实施例2中步骤S1011或步骤S1012-S1013的相关介绍,在此不再赘述。
步骤S1022、从各线程中选择执行时长最小的线程。
可以理解的是,线程的执行时长为对线程分配到的模型的执行时长进行累计得到的累计值,因此,随着模型的分配,线程的执行时长可能会发生变化,执行时长最小的线程也可能会发生变化。
步骤S1022可以包括但不局限于:
S10221、如果各线程中有多个线程的执行时长相同且执行时长最小,从多个线程中选择线程属性满足预设条件的线程。
线程属性可以包括但不局限于:线程编号和线程优先级中至少一种。对应线程属性包括线程编号和线程优先级中至少一种的实施方式,从多个线程中选择线程属性满足预设条件的线程,可以包括但不局限于以下至少一种:
从多个线程中选择线程编号最小的线程;
从多个线程中选择线程优先级最高的线程。
步骤S1023、将执行时长最大且未被分配的模型,分配给执行时长最小的线程。
步骤S1024、判断各模型中是否还有未被分配的模型。
若是,返回执行步骤S1021;若否,则执行步骤S1025。
步骤S1025、结束分配。
现举例对步骤S1021-S1025进行介绍,例如,若仿真任务对应的各线程包括:线程1、线程2、线程3和线程4,1、2、3、4为线程的编号,各模型包括:模型1、模型2、模型3、模型4、模型5和模型6,模型1的执行时长为3ms、模型2的执行时长为8ms、模型3的执行时长为9ms、模型4的执行时长为4ms、模型5的执行时长为8ms、模型6的执行时长为2ms,分配线程之前,每个模型都没有被分配到线程,线程1、线程2、线程3和线程4的执行时长均为0,如图3中(a)部分所示,从模型1、模型2、模型3、模型4、模型5和模型6中选择模型3,将模型3分配给线程1;如图3中(b)部分所示,线程2变为执行时长最小的线程,从模型1、模型2、模型4、模型5和模型6中选择模型2,将模型2分配给线程2;如图3中(c)部分所示,线程3变为执行时长最小的线程,从模型1、模型4、模型5和模型6中选择模型5,将模型5分配给线程3;如图3中(d)部分所示,线程4变为执行时长最小的线程,从模型1、模型4和模型6中选择模型4,将模型4分配给线程4;如图3中(e)部分所示,线程4为执行时长最小的线程,从模型1和模型6中选择模型1,将模型1分配给线程4;如图3中(f)部分所示,线程4为执行时长最小的线程,将模型6分配给线程4。
本实施例中,通过从各模型中选择执行时长最大且未被分配的模型,从各线程中选择执行时长最小的线程,将执行时长最大且未被分配的模型,分配给执行时长最小的线程,如果各模型中还有未被分配的模型,返回执行从各所述模型中选择执行时长最大且未被分配的模型的步骤,如果各模型均已被分配,结束分配,可以实现自动分配各模型到各线程,提高仿真效率。
并且,各线程之间的执行时长之间的差异满足差异阈值,可以在计算机CPU 并行执行各线程时,提高计算机CPU的利用率,缩短基于多个模型进行仿真的仿真时长,提高基于多个模型进行仿真的仿真效率。
作为本申请另一可选实施例,参照图4,为本申请实施例4提供的一种线程分配方法的流程示意图,本实施例主要是对上述实施例1提供的线程分配方法的细化方案,如图4所示,实施例1中步骤S102可以包括但不局限于:
步骤S1026、对各模型进行分组,得到多组模型,每组模型对应的执行时长之间的差异满足差异阈值,每组模型的个数与各线程的个数一致。
每组模型对应的执行时长为每组模型中各模型的执行时长之和。
步骤S1027、将每组模型分别分配给各线程。
通过对各模型进行分组,得到多组模型,每组模型对应的执行时长之间的差异满足差异阈值,将每组模型分别分配给各线程,可以实现自动分配各模型到各线程,提高仿真效率。
并且,各线程之间的执行时长之间的差异满足差异阈值,可以在计算机CPU 并行执行各线程时,提高计算机CPU的利用率,缩短基于多个模型进行仿真的仿真时长,提高基于多个模型进行仿真的仿真效率。
接下来对本申请提供的一种线程分配装置进行介绍,下文介绍的线程分配装置与上文介绍的线程分配方法可相互对应参照。
请参见图5,线程分配装置包括:获取模块100和分配模块200。
获取模块100,用于获取仿真任务对应的多个模型中各模型的执行时长,各模型之间相互具有差异,多个模型用于仿真计算,以执行仿真任务。
分配模块200,用于基于各模型的执行时长,将各模型分配给仿真任务对应的各线程,以使得各线程的执行时长之间的差异满足差异阈值,线程的执行时长为对线程分配到的模型的执行时长进行累计得到的累计值。
获取模块100,具体可以用于:
获取仿真任务对应的多个模型中各模型在当前一步仿真计算之前一步仿真计算的执行时长;
或,
获取仿真任务对应的多个模型中各模型在当前一步仿真计算之前的多步仿真计算的执行时长;
基于各模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各模型的执行时长。
分配模块200,具体可以用于:
从各模型中选择执行时长最大且未被分配的模型;
从各线程中选择执行时长最小的线程;
将执行时长最大且未被分配的模型,分配给执行时长最小的线程;
如果各模型中还有未被分配的模型,返回执行从各模型中选择执行时长最大且未被分配的模型的步骤;
如果各模型均已被分配,结束分配。
分配模块200从各线程中选择执行时长最小的线程的过程,具体可以包括:
如果各线程中有多个线程的执行时长相同且执行时长最小,从多个线程中选择线程属性满足预设条件的线程。
分配模块200,具体可以用于:
对各模型进行分组,得到多组模型,每组模型对应的执行时长之间的差异满足差异阈值,每组模型的个数与各线程的个数一致;
将每组模型分别分配给各线程。
需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种线程分配方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种线程分配方法,其特征在于,包括:
获取仿真任务对应的多个模型中各所述模型的执行时长,各所述模型之间相互具有差异,所述多个模型用于仿真计算,以执行所述仿真任务;
基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,以使得各所述线程的执行时长之间的差异满足差异阈值,所述线程的执行时长为对所述线程分配到的所述模型的执行时长进行累计得到的累计值。
2.根据权利要求1所述的方法,其特征在于,获取仿真任务对应的多个模型中各所述模型的执行时长,包括:
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前一步仿真计算的执行时长;
或,
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长;
基于各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各所述模型的执行时长。
3.根据权利要求1所述的方法,其特征在于,基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,包括:
从各所述模型中选择执行时长最大且未被分配的模型;
从各所述线程中选择执行时长最小的线程;
将所述执行时长最大且未被分配的模型,分配给所述执行时长最小的线程;
如果各所述模型中还有未被分配的模型,返回执行所述从各所述模型中选择执行时长最大且未被分配的模型的步骤;
如果各所述模型均已被分配,结束分配。
4.根据权利要求3所述的方法,其特征在于,从各所述线程中选择执行时长最小的线程,包括:
如果各所述线程中有多个线程的执行时长相同且所述执行时长最小,从所述多个线程中选择线程属性满足预设条件的线程。
5.根据权利要求1所述的方法,其特征在于,基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,包括:
对各所述模型进行分组,得到多组模型,每组所述模型对应的执行时长之间的差异满足差异阈值,每组所述模型的个数与各所述线程的个数一致;
将每组所述模型分别分配给各所述线程。
6.一种线程分配装置,其特征在于,包括:
获取模块,用于获取仿真任务对应的多个模型中各所述模型的执行时长,各所述模型之间相互具有差异,所述多个模型用于仿真计算,以执行所述仿真任务;
分配模块,用于基于各所述模型的执行时长,将各所述模型分配给所述仿真任务对应的各线程,以使得各所述线程的执行时长之间的差异满足差异阈值,所述线程的执行时长为对所述线程分配到的所述模型的执行时长进行累计得到的累计值。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,具体用于:
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前一步仿真计算的执行时长;
或,
获取仿真任务对应的多个模型中各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长;
基于各所述模型在当前一步仿真计算之前的多步仿真计算的执行时长,确定各所述模型的执行时长。
8.根据权利要求6所述的装置,其特征在于,所述分配模块,具体用于:
从各所述模型中选择执行时长最大且未被分配的模型;
从各所述线程中选择执行时长最小的线程;
将所述执行时长最大且未被分配的模型,分配给所述执行时长最小的线程;
如果各所述模型中还有未被分配的模型,返回执行所述从各所述模型中选择执行时长最大且未被分配的模型的步骤;
如果各所述模型均已被分配,结束分配。
9.根据权利要求8所述的装置,其特征在于,所述分配模块从各所述线程中选择执行时长最小的线程的过程,具体包括:
如果各所述线程中有多个线程的执行时长相同且所述执行时长最小,从所述多个线程中选择线程属性满足预设条件的线程。
10.根据权利要求6所述的装置,其特征在于,所述分配模块,具体用于:
对各所述模型进行分组,得到多组模型,每组所述模型对应的执行时长之间的差异满足差异阈值,每组所述模型的个数与各所述线程的个数一致;
将每组所述模型分别分配给各所述线程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311138451.7A CN116860422A (zh) | 2023-09-05 | 2023-09-05 | 一种线程分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311138451.7A CN116860422A (zh) | 2023-09-05 | 2023-09-05 | 一种线程分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860422A true CN116860422A (zh) | 2023-10-10 |
Family
ID=88219567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311138451.7A Pending CN116860422A (zh) | 2023-09-05 | 2023-09-05 | 一种线程分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860422A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254319A1 (en) * | 2008-04-03 | 2009-10-08 | Siemens Aktiengesellschaft | Method and system for numerical simulation of a multiple-equation system of equations on a multi-processor core system |
CN113434310A (zh) * | 2021-06-23 | 2021-09-24 | 未鲲(上海)科技服务有限公司 | 多线程任务分配方法、装置、设备及存储介质 |
CN113760512A (zh) * | 2021-09-08 | 2021-12-07 | 北京世冠金洋科技发展有限公司 | 仿真模型的执行方法及装置、存储介质及电子设备 |
CN114896029A (zh) * | 2022-06-13 | 2022-08-12 | 南方电网科学研究院有限责任公司 | 电力系统仿真优化计算方法、装置、设备及可读存储介质 |
-
2023
- 2023-09-05 CN CN202311138451.7A patent/CN116860422A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254319A1 (en) * | 2008-04-03 | 2009-10-08 | Siemens Aktiengesellschaft | Method and system for numerical simulation of a multiple-equation system of equations on a multi-processor core system |
CN113434310A (zh) * | 2021-06-23 | 2021-09-24 | 未鲲(上海)科技服务有限公司 | 多线程任务分配方法、装置、设备及存储介质 |
CN113760512A (zh) * | 2021-09-08 | 2021-12-07 | 北京世冠金洋科技发展有限公司 | 仿真模型的执行方法及装置、存储介质及电子设备 |
CN114896029A (zh) * | 2022-06-13 | 2022-08-12 | 南方电网科学研究院有限责任公司 | 电力系统仿真优化计算方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176852B (zh) | 资源分配方法、装置、芯片及计算机可读存储介质 | |
CN105900064B (zh) | 调度数据流任务的方法和装置 | |
CN107580023B (zh) | 一种动态调整任务分配的流处理作业调度方法及系统 | |
CN111108480B (zh) | 一种用于分布式资源需求及分配的系统和方法 | |
EP2541477A1 (en) | Method and system for reactive scheduling | |
US20090282413A1 (en) | Scalable Scheduling of Tasks in Heterogeneous Systems | |
US8028291B2 (en) | Method and computer program product for job selection and resource allocation of a massively parallel processor | |
CN106528189B (zh) | 一种启动备份任务的方法、装置及电子设备 | |
CN105468458A (zh) | 计算机集群的资源调度方法及系统 | |
CN108616553B (zh) | 云计算资源池进行资源调度的方法及装置 | |
CN110636388A (zh) | 一种业务请求分配方法、系统、电子设备及存储介质 | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
Delavar et al. | A synthetic heuristic algorithm for independent task scheduling in cloud systems | |
Sigman | Exact simulation of the stationary distribution of the FIFO M/G/c queue: the general case for ρ< c | |
Peng et al. | Diversity vs. parallelism in distributed computing with redundancy | |
CN108958942A (zh) | 一种分布式系统分配任务方法、调度器和计算机设备 | |
CN109634714B (zh) | 一种智能调度的方法及装置 | |
CA2631255A1 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN113347249B (zh) | 一种作业加载方法、装置及设备 | |
Shah et al. | Agent based priority heuristic for job scheduling on computational grids | |
CN116860422A (zh) | 一种线程分配方法及装置 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN107168790B (zh) | 一种作业的调度方法及装置 | |
RU2609076C2 (ru) | Способ и система интеллектуального управления распределением ресурсов в облачных вычислительных средах | |
CN116483546A (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 |