CN105468455A - 一种用于多设备的动态任务分配的方法及装置 - Google Patents
一种用于多设备的动态任务分配的方法及装置 Download PDFInfo
- Publication number
- CN105468455A CN105468455A CN201510819153.3A CN201510819153A CN105468455A CN 105468455 A CN105468455 A CN 105468455A CN 201510819153 A CN201510819153 A CN 201510819153A CN 105468455 A CN105468455 A CN 105468455A
- Authority
- CN
- China
- Prior art keywords
- equipment
- ratio
- task
- task amount
- amount
- 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.)
- Granted
Links
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种用于多设备的动态任务分配的方法及装置。所述用于多设备的动态任务分配的方法,包括:将总任务分配到至少两个设备;实时监测所述各个设备执行各自的任务的个体进度参数值;判断所述各个设备的个体进度参数值的总和是否达到预设值;当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。本发明通过动态调整各个设备的任务量,使得各个设备得到合理的任务量,从而达到各个设备完成各自任务量的时刻基本是同一时刻,从而提高多设备联合作业的效率。
Description
技术领域
本发明涉及多设备协同作业领域,特别涉及一种用于多设备的动态任务分配的方法及装置。
背景技术
随着时代的发展,各种大型项目需要海量的计算量来实现,例如人类基因组计划、飞行装置的空气动力研究、天气预报的预测、象棋的人机对战等等大型科研项目,都离不开海量的计算量的支持。这些海量的计算量中的任一单体计算的时间复杂度和空间复杂度都是相同的。面对上述情况,往往需要超级计算机或者大量常规设备联合作业。但是超级计算机造价高昂,而且使用的机会也非常难得。在一般情况下,多台设备联合作业就可以起到非常良好的效果。
在现实作业中,很难完全保证所有参与联合作业的设备的性能都一致,而且参与联合作业的设备很可能同时还需要运行其他任务,即很难保证每台设备在参与联合作业的过程中的性能保持一致。在上述情况下,如何保证各个设备联合作业中被分配给合理的任务量就成为了非常重要的课题。
发明内容
本发明提供一种用于多设备的动态任务分配的方法及装置,在多设备协作完成总任务的情况中,分配给各个设备的未作任务量与各个设备的性能相匹配,从而保证总任务的完成效率达到较高的水平。
根据本发明实施例的第一方面,提供一种用于多设备的动态任务分配的方法,包括:
将总任务分配到至少两个设备;
实时监测所述各个设备执行各自的任务的个体进度参数值;
判断所述各个设备的个体进度参数值的总和是否达到预设值;
当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。
本发明的实施例提供的技术方案可以包括以下有益效果:动态调整各个设备的未作任务量,使得各个设备的未作任务量与各个设备的性能相匹配,进而使各个设备完成各自的任务量的时刻是同一时刻,从而保证总任务的完成效率较高。
在一个实施例中,向所述各个设备发送等量的模拟任务,所述模拟任务为所述总任务的一部分;
获取所述各个设备完成所述模拟任务的时长;
根据所述时长,计算所述各个设备在单位时间内完成的任务量之间的比值,所述比值为第一比值。
本发明的实施例提供的技术方案可以包括以下有益效果:在开始总任务前,预先测试各个设备的性能情况,有助于将总任务合理的分配到各个设备中。
在一个实施例中,根据所述第一比值,将所述总任务量划分成多个子任务量,并建立所述各个子任务量和所述各个设备之间的一一对应关系;
根据所述一一对应关系,向所述各个设备分配与之对应的子任务量。
本发明的实施例提供的技术方案可以包括以下有益效果:根据第一比值,将总任务量划分成多个子任务量,有助于合理的将总任务量分配到各个设备中。
在一个实施例中,实时监测所述各个设备完成的任务量;
根据当前所述各个设备完成的任务量,计算所述各个设备完成的任务量与所述总任务量的比值,所述比值为所述各个设备的个体进度参数值;
统计所述各个设备的个体进度参数值之和;
当所述各个设备的个体进度参数值的总和达到预设值时,所述预设值为预设的单位进度的整数倍,计算所述各个设备的个体进度参数值之间的比值,所述比值为第二比值;
根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值。
本发明的实施例提供的技术方案可以包括以下有益效果:各个设备已完成的任务量可以很好的反应该设备在接下来的时间内的表现情况,进而可以较好的调节各个设备的未作任务量。
在一个实施例中,当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备的个体进度参数值与所述各个设备的个体进度参数值之和的比值,所述比值为第三比值;
当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备中的未作任务量与所述各个设备中的未作任务量之和的比值,所述比值为第四比值;
若所述各个设备中的任一设备的所述第四比值大于所述第三比值,在所述设备的未作任务量中调节出一部分任务量,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
若所述任一设备的所述第四比值等于所述设备的所述第三比值,无需调节所述设备的未作任务量;
若所述任一设备的所述第四比值等于所述第三比值,从其他设备调节出的任务量中调节一部分任务量进入到所述设备的未作任务量中,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
在调节所述各个设备的未作任务量之后,使得所述各个设备的所述第四比值等于对应的所述各个设备的所述第三比值,等价于各个设备的未作任务量之间的比值等于所述第二比值。
本发明的实施例提供的技术方案可以包括以下有益效果:通过第三比值和第四比值可以很好的协调各个设备的未作任务量,进而使得各个设备完成各自未作任务量的时刻基本一致,从而保证多设备协作的高效率。
根据本发明实施例的第二方面,提供一种多设备的动态任务分配的装置,包括:
分配模块,用于将总任务分配到至少两个设备;
监测模块,用于实时监测所述各个设备执行各自的任务的个体进度参数值;
判断模块,用于判断所述各个设备的个体进度参数值的总和是否达到预设值;
调节模块,用于当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。
在一个实施例中,还包括预处理模块:
发送子模块,用于将总任务分配到至少两个设备之前,向所述各个设备发送等量的模拟任务,所述模拟任务为所述总任务的一部分;
获取子模块,用于获取所述各个设备完成所述模拟任务的时长;
第一计算子模块,用于计算所述各个设备在单位时间内完成的任务量之间的比值,所述比值为第一比值。
在一个实施例中,所述分配模块,包括:
划分子模块,用于根据所述第一比值,将所述总任务量划分成多个子任务量,并建立所述各个子任务量和所述各个设备之间的一一对应关系;
分配子模块,用于根据所述一一对应关系,向所述各个设备分配与之对应的子任务量。
在一个实施例中,所述调节模块,包括:
监测子模块,用于实时监测所述各个设备完成的任务量;
第二计算子模块,用于根据当前所述各个设备完成的任务量,计算所述各个设备完成的任务量与所述总任务量的比值,所述比值为所述各个设备的个体进度参数值;
统计子模块,用于统计所述各个设备的个体进度参数值之和;
第三计算子模块,用于当所述各个设备的个体进度参数值的总和达到预设值时,所述预设值为预设的单位进度的整数倍,计算所述各个设备的个体进度参数值之间的比值,所述比值为第二比值;
调节子模块,用于根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值。
在一个实施例中,所述调节子模块,还用于当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备的个体进度参数值与所述各个设备的个体进度参数值之和的比值,所述比值为第三比值;
当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备中的未作任务量与所述各个设备中的未作任务量之和的比值,所述比值为第四比值;
若所述各个设备中的任一设备的所述第四比值大于所述第三比值,在所述设备的未作任务量中调节出一部分任务量,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
若所述任一设备的所述第四比值等于所述设备的所述第三比值,无需调节所述设备的未作任务量;
若所述任一设备的所述第四比值等于所述第三比值,从其他设备调节出的任务量中调节一部分任务量进入到所述设备的未作任务量中,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
在调节所述各个设备的未作任务量之后,使得所述各个设备的所述第四比值等于对应的所述各个设备的所述第三比值,等价于各个设备的未作任务量之间的比值等于所述第二比值。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明一示例性实施例示出的一种多设备的动态任务分配的方法的流程图;
图2为本发明一示例性实施例示出的一种多设备的动态任务分配的方法的步骤S11的前置步骤的流程图;
图3为本发明一示例性实施例示出的一种多设备的动态任务分配的方法的步骤S11的流程图;
图4为本发明一示例性实施例示出的一种多设备的动态任务分配的方法的步骤S14的流程图;
图5为本发明一示例性实施例示出的一种多设备的动态任务分配的方法的步骤S45的流程图;
图6为本发明一示例性实施例示出的一种多设备的动态任务分配的装置的框图;
图7为本发明另一示例性实施例示出的一种多设备的动态任务分配的装置的框图;
图8为本发明一示例性实施例示出的一种多设备的动态任务分配的装置的分配模块61的框图;
图9为本发明一示例性实施例示出的一种多设备的动态任务分配的装置的调节模块64的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是根据一示例性实施例示出的一种用于多设备的动态任务分配的方法流程图,如图1所示,该用于多设备的动态任务分配的方法,包括以下步骤S11-S14:
在步骤S11中,将总任务分配到至少两个设备;
在步骤S12中,实时监测所述各个设备执行各自的任务的个体进度参数值;
在步骤S13中,判断所述各个设备的个体进度参数值的总和是否达到预设值;
在步骤S14中,当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。
在一个实施例中,使用不少于两台的设备联合作业,就会涉及到总任务量的分配问题。在现实作业中,很难完全保证所有的参与联合作业的设备的性能一致。而且参与联合作业的设备很可能同时还需要运行其他任务,即很难保证每台设备在参与联合作业的过程中的用于该联合作业的资源保持一致。
在上述情况下,各个设备完成各自任务量的时刻基本是同一时刻,等效于多设备联合作业达到了理想的效率。
将总任务分配到至少两个设备中,在各个设备执行各自任务的时候,实时监测各个设备的执行各自的任务的个体进度参数值,并且计算各个设备的个体进度参数值的总和是否达到了预设值。当各个设备的个体进度参数值的总和达到了预设值时,根据各个设备的个体进度参数值,调节各个设备的未作任务量。例如,当各个设备的个体进度参数值的总和达到了预设值时,某个设备的未作任务量与该设备的个体进度参数值不相匹配,如果该设备的未作任务量较多,就调节出一些任务量到其他设备;如果该设备的未作任务量较少,就调节一些任务量进入到该设备;如果该设备的未作任务量与该设备的个体进度参数值匹配,不调节该设备的任务量。
本实施例还可以实时监测总任务执行的时长,当该时长达到预设值时,根据各个设备的个体进度参数值,调节各个设备的未作任务量。
本发明的实施例提供的技术方案可以包括以下有益效果:动态调整各个设备的未作任务量,使得各个设备的未作任务量与各个设备的性能相匹配,进而使各个设备完成各自的任务量的时刻是同一时刻,从而保证总任务的完成效率较高。
在一个实施例中,如图2所示,该用于多设备的动态任务分配的方法,还包括如下步骤S21-S23:
在步骤S21中,向所述各个设备发送等量的模拟任务,所述模拟任务为所述总任务的一部分;
在步骤S22中,获取所述各个设备完成所述模拟任务的时长;
在步骤S23中,根据所述时长,计算所述各个设备在单位时间内完成的任务量之间的比值,所述比值为第一比值。
在一个实施例中,在开始运行总任务前,需要测试一下各个设备的性能状况,以便合理的将总任务分配到各个设备。
向各个设备发送的模拟任务是等量的,而且模拟任务本身就是总任务的一部分。较佳的实施例是将总任务的一部分任务发送到各个设备中,即各个设备的模拟任务都是一样的。各个设备开始运行模拟任务的时刻可不在同一个时刻。关键在于,测试各个设备完成模拟任务的时长。通过上述各个设备完成模拟任务的时长,计算各个设备在单位时间内完成的任务量之间的比值,该比值为第一比值,该第一比值可以体现各个设备的性能之比。
本发明的实施例提供的技术方案可以包括以下有益效果:在开始总任务前,预先测试各个设备的性能情况,有助于将总任务合理的分配到各个设备中。
在一个实施例中,如图3所示,步骤S11包括如下步骤S31-S32:
在步骤S31中,根据所述第一比值,将所述总任务量划分成多个子任务量,并建立所述各个子任务量和所述各个设备之间的一一对应关系;
在步骤S32中,根据所述一一对应关系,向所述各个设备分配与之对应的子任务量。
在一个实施例中,将总任务量划分为多个子任务量,该多个子任务量的数量等于所有参与联合作业的设备的数量。多个子任务量之间的任务量比值等同于第一比值。在一些情况下,存在两个或者两个以上的设备在单位时间内完成的任务量之比是相同的。所以,需要建立各个子任务量和各个设备之间的一一对应关系。根据上述的一一对应关系,向所述各个设备分配与之对应的子任务量。
本发明的实施例提供的技术方案可以包括以下有益效果:根据第一比值,将总任务量划分成多个子任务量,有助于合理的将总任务量分配到各个设备中。
在一个实施例中,如图4所示,步骤S14包括如下步骤S41-S45:
在步骤S41中,实时监测所述各个设备完成的任务量;
在步骤S42中,根据当前所述各个设备完成的任务量,计算所述各个设备完成的任务量与所述总任务量的比值,所述比值为所述各个设备的个体进度参数值;
在步骤S43中,统计所述各个设备的个体进度参数值之和;
在步骤S44中,当所述各个设备的个体进度参数值的总和达到预设值时,所述预设值为预设的单位进度的整数倍,计算所述各个设备的个体进度参数值之间的比值,所述比值为第二比值;
在步骤S45中,根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值。
在一个实施例中,对各个设备进行实时的监测,监测的内容包括已完成的任务量、单位时间内完成的任务量、已运行的时间等等。根据当前各个设备完成的任务量,计算各个设备完成的任务量与总任务量的比值,该比值为各个设备的个体进度参数值。统计所有设备的个体进度参数值之和,当所有设备的个体进度参数值的总和达到预设值时,该预设值为预设的单位进度的整数倍,计算各个设备的个体进度参数值之间的比值,该比值为第二比值。
预设的单位进度可以是小于100%的任意百分比数值,预设的单位进度不需要满足可以被100%整除的条件。例如,预设的单位进度可以是15%,可以是7%,还可以是3%等等。预设的单位进度取值越小,可越精确的调节各个设备的未作任务,但是同时会增加系统的调节功能所消耗的资源和增加各个设备的I/O开销。
在本实施例中,还可以加入预设的起始调节阈值,当完成的总任务量与总任务量的百分比没有达到该预设的起始调节阈值前,不调节各个设备的未作任务量。例如,在完成的总任务量没有达到40%前,不调节各个设备的未作任务量。预设的起始调节阈值取值越小,可越精确的调节各个设备的未作任务。但是同时会增加系统的调节功能所消耗的资源和增加各个设备的I/O开销。
根据第二比值,调节各个设备的未作任务量,使得调节后的各个设备的未作任务量之间的比值等于第二比值。
本实施例还可实时监测总任务执行的时长,当该时长达到预设值时,该预设值为预设的单位时长的整数倍,计算各个设备的个体进度参数值之间的比值;根据所第二比值,调节所述各个设备的未作任务量,使得调节后的各个设备的未作任务量之间的比值等于第二比值。
本发明的实施例提供的技术方案可以包括以下有益效果:各个设备已完成的任务量可以很好的反应该设备在接下来的时间内的表现情况,进而可以较好的调节各个设备的未作任务量。
在一个实施例中,如图5所示,步骤S45包括如下步骤S51-S53:
在步骤S51中,当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备的个体进度参数值与所述各个设备的个体进度参数值之和的比值,所述比值为第三比值;
在步骤S52中,当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备中的未作任务量与所述各个设备中的未作任务量之和的比值,所述比值为第四比值;
在步骤S53中,若所述各个设备中的任一设备的所述第四比值大于所述第三比值,在所述设备的未作任务量中调节出一部分任务量,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
若所述任一设备的所述第四比值等于所述设备的所述第三比值,无需调节所述设备的未作任务量;
若所述任一设备的所述第四比值等于所述第三比值,从其他设备调节出的任务量中调节一部分任务量进入到所述设备的未作任务量中,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值。
在一个实施例中,当各个设备的个体进度参数值的总和达到预设值时,计算各个设备的个体进度参数值与各个设备的个体进度参数值之和的比值,该比值为第三比值;
当各个设备的个体进度参数值的总和达到预设值时,计算各个设备中的未作任务量与各个设备中的未作任务量之和的比值,该比值为第四比值;
若各个设备中的任一设备的第四比值大于第三比值,在该设备的未作任务量中调节出一部分任务量,使得调节后的该设备的所述第四比值等于该设备的第三比值;
若各个设备中的任一设备的第四比值等于该设备的所述第三比值,无需调节该设备的未作任务量;
若各个设备中的任一设备的第四比值等于该第三比值,从其他设备调节出的任务量中调节一部分任务量进入到该设备的未作任务量中,使得调节后的该设备的第四比值等于该设备的所述第三比值;
在调节各个设备的未作任务量之后,使得各个设备的第四比值等于对应的各个设备的第三比值,等价于各个设备的未作任务量之间的比值等于第二比值。进而达到各个设备的未作任务量与各个设备的性能想匹配的目的,从而保证各个设备完成各自任务量的时刻基本是同一时刻。
本发明的实施例提供的技术方案可以包括以下有益效果:通过第三比值和第四比值可以很好的调节各个设备的未作任务量,进而达到各个设备完成各自未作任务量的时刻基本一致,从而达到提高多设备完成总任务的效率。
在一个实施例中,图6是根据一示例性实施例示出的一种多设备的动态任务分配的装置框图。如图6示,该装置包括分配模块61、监测模块62、判断模块63和调节模块64。
该分配模块61,用于将总任务分配到至少两个设备;
该监测模块62,用于实时监测所述各个设备执行各自的任务的个体进度参数值;
该判断模块63,用于判断所述各个设备的个体进度参数值的总和是否达到预设值;
该调节模块64,用于当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。
如图7所示,预处理模块65包括发送子模块71、获取子模块72和第一计算子模块73。
该发送子模块71,用于将总任务分配到至少两个设备之前,向所述各个设备发送等量的模拟任务,所述模拟任务为所述总任务的一部分;
该获取子模块72,用于获取所述各个设备完成所述模拟任务的时长;
该第一计算子模块73,用于计算所述各个设备在单位时间内完成的任务量之间的比值,所述比值为第一比值。
如图8所示,该分配模块61包括划分子模块81和分配子模块82。
该划分子模块81,用于根据所述第一比值,将所述总任务量划分成多个子任务量,并建立所述各个子任务量和所述各个设备之间的一一对应关系;
该分配子模块82,用于根据所述一一对应关系,向所述各个设备分配与之对应的子任务量。
如图9所示,调节模块64包括监测子模块91、第二计算子模块92、统计子模块93、第三计算子模块94和调节子模块95。
该监测子模块91,用于实时监测所述各个设备完成的任务量;
该第二计算子模块92,用于根据当前所述各个设备完成的任务量,计算所述各个设备完成的任务量与所述总任务量的比值,所述比值为所述各个设备的个体进度参数值;
该统计子模块93,用于统计所述各个设备的个体进度参数值之和;
该第三计算子模块94,用于当所述各个设备的个体进度参数值的总和达到预设值时,所述预设值为预设的单位进度的整数倍,计算所述各个设备的个体进度参数值之间的比值,所述比值为第二比值;
该调节子模块95,用于根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值;
该调节子模块95还用于当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备的个体进度参数值与所述各个设备的个体进度参数值之和的比值,所述比值为第三比值;
当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备中的未作任务量与所述各个设备中的未作任务量之和的比值,所述比值为第四比值;
若所述各个设备中的任一设备的所述第四比值大于所述第三比值,在所述设备的未作任务量中调节出一部分任务量,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
若所述任一设备的所述第四比值等于所述设备的所述第三比值,无需调节所述设备的未作任务量;
若所述任一设备的所述第四比值等于所述第三比值,从其他设备调节出的任务量中调节一部分任务量进入到所述设备的未作任务量中,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
在调节所述各个设备的未作任务量之后,使得所述各个设备的所述第四比值等于对应的所述各个设备的所述第三比值,等价于各个设备的未作任务量之间的比值等于所述第二比值。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种用于多设备的动态任务分配的方法,其特征在于,包括:
将总任务分配到至少两个设备;
实时监测所述各个设备执行各自的任务的个体进度参数值;
判断所述各个设备的个体进度参数值的总和是否达到预设值;
当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。
2.如权利要求1所述的方法,其特征在于,所述将总任务分配到至少两个设备之前,包括:
向所述各个设备发送等量的模拟任务,所述模拟任务为所述总任务的一部分;
获取所述各个设备完成所述模拟任务的时长;
根据所述时长,计算所述各个设备在单位时间内完成的任务量之间的比值,所述比值为第一比值。
3.如权利要求2所述的方法,其特征在于,所述将总任务分配到至少两个设备,包括:
根据所述第一比值,将所述总任务量划分成多个子任务量,并建立所述各个子任务量和所述各个设备之间的一一对应关系;
根据所述一一对应关系,向所述各个设备分配与之对应的子任务量。
4.如权利要求1所述的方法,其特征在于,所述当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量,包括:
实时监测所述各个设备完成的任务量;
根据当前所述各个设备完成的任务量,计算所述各个设备完成的任务量与所述总任务量的比值,所述比值为所述各个设备的个体进度参数值;
统计所述各个设备的个体进度参数值之和;
当所述各个设备的个体进度参数值的总和达到预设值时,所述预设值为预设的单位进度的整数倍,计算所述各个设备的个体进度参数值之间的比值,所述比值为第二比值;
根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值。
5.如权利要求4所述的方法,其特征在于,所述根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值,包括:
当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备的个体进度参数值与所述各个设备的个体进度参数值之和的比值,所述比值为第三比值;
当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备中的未作任务量与所述各个设备中的未作任务量之和的比值,所述比值为第四比值;
若所述各个设备中的任一设备的所述第四比值大于所述第三比值,在所述设备的未作任务量中调节出一部分任务量,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
若所述任一设备的所述第四比值等于所述设备的所述第三比值,无需调节所述设备的未作任务量;
若所述任一设备的所述第四比值等于所述第三比值,从其他设备调节出的任务量中调节一部分任务量进入到所述设备的未作任务量中,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
在调节所述各个设备的未作任务量之后,使得所述各个设备的所述第四比值等于对应的所述各个设备的所述第三比值,等价于各个设备的未作任务量之间的比值等于所述第二比值。
6.一种多设备的动态任务分配装置,其特征在于,包括:
分配模块,用于将总任务分配到至少两个设备;
监测模块,用于实时监测所述各个设备执行各自的任务的个体进度参数值;
判断模块,用于判断所述各个设备的个体进度参数值的总和是否达到预设值;
调节模块,用于当所述各个设备的个体进度参数值的总和达到预设值时,根据所述各个设备的个体进度参数值,调节所述各个设备的未作任务量。
7.根据权利要求6的装置,其特征在于,还包括预处理模块:
发送子模块,用于将总任务分配到至少两个设备之前,向所述各个设备发送等量的模拟任务,所述模拟任务为所述总任务的一部分;
获取子模块,用于获取所述各个设备完成所述模拟任务的时长;
第一计算子模块,用于计算所述各个设备在单位时间内完成的任务量之间的比值,所述比值为第一比值。
8.根据权利要求7的装置,其特征在于,所述分配模块,包括:
划分子模块,用于根据所述第一比值,将所述总任务量划分成多个子任务量,并建立所述各个子任务量和所述各个设备之间的一一对应关系;
分配子模块,用于根据所述一一对应关系,向所述各个设备分配与之对应的子任务量。
9.根据权利要求6的装置,其特征在于,所述调节模块,包括:
监测子模块,用于实时监测所述各个设备完成的任务量;
第二计算子模块,用于根据当前所述各个设备完成的任务量,计算所述各个设备完成的任务量与所述总任务量的比值,所述比值为所述各个设备的个体进度参数值;
统计子模块,用于统计所述各个设备的个体进度参数值之和;
第三计算子模块,用于当所述各个设备的个体进度参数值的总和达到预设值时,所述预设值为预设的单位进度的整数倍,计算所述各个设备的个体进度参数值之间的比值,所述比值为第二比值;
调节子模块,用于根据所述第二比值,调节所述各个设备的未作任务量,使得调节后的所述各个设备的未作任务量之间的比值等于所述第二比值。
10.根据权利要求9的装置,其特征在于,
所述调节子模块,还用于当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备的个体进度参数值与所述各个设备的个体进度参数值之和的比值,所述比值为第三比值;
当所述各个设备的个体进度参数值的总和达到预设值时,计算所述各个设备中的未作任务量与所述各个设备中的未作任务量之和的比值,所述比值为第四比值;
若所述各个设备中的任一设备的所述第四比值大于所述第三比值,在所述设备的未作任务量中调节出一部分任务量,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
若所述任一设备的所述第四比值等于所述设备的所述第三比值,无需调节所述设备的未作任务量;
若所述任一设备的所述第四比值等于所述第三比值,从其他设备调节出的任务量中调节一部分任务量进入到所述设备的未作任务量中,使得调节后的所述设备的所述第四比值等于所述设备的所述第三比值;
在调节所述各个设备的未作任务量之后,使得所述各个设备的所述第四比值等于对应的所述各个设备的所述第三比值,等价于各个设备的未作任务量之间的比值等于所述第二比值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510819153.3A CN105468455B (zh) | 2015-11-23 | 2015-11-23 | 一种用于多设备的动态任务分配的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510819153.3A CN105468455B (zh) | 2015-11-23 | 2015-11-23 | 一种用于多设备的动态任务分配的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468455A true CN105468455A (zh) | 2016-04-06 |
CN105468455B CN105468455B (zh) | 2018-12-21 |
Family
ID=55606190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510819153.3A Expired - Fee Related CN105468455B (zh) | 2015-11-23 | 2015-11-23 | 一种用于多设备的动态任务分配的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468455B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544444A (zh) * | 2017-08-16 | 2018-01-05 | 浙江力太科技有限公司 | 一种用于多设备间的同步生产管理方法 |
CN107547270A (zh) * | 2017-08-14 | 2018-01-05 | 天脉聚源(北京)科技有限公司 | 一种智能分配任务分片的方法及装置 |
CN109196472A (zh) * | 2016-04-15 | 2019-01-11 | 谷歌有限责任公司 | 确定待由模块化实体执行的任务 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117225A (zh) * | 2009-12-31 | 2011-07-06 | 上海可鲁系统软件有限公司 | 一种工业自动化多点集群系统及其任务管理方法 |
CN102622265A (zh) * | 2011-01-28 | 2012-08-01 | 天脉聚源(北京)传媒科技有限公司 | 一种任务分配方法和系统 |
CN103077088A (zh) * | 2013-01-17 | 2013-05-01 | 浙江大学 | 集群渲染环境中基于pkdt树的动态反馈负载均衡方法 |
CN103279391A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于cpu与mic架构处理器协同计算的负载均衡优化方法 |
US20150150023A1 (en) * | 2013-11-22 | 2015-05-28 | Decooda International, Inc. | Emotion processing systems and methods |
-
2015
- 2015-11-23 CN CN201510819153.3A patent/CN105468455B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117225A (zh) * | 2009-12-31 | 2011-07-06 | 上海可鲁系统软件有限公司 | 一种工业自动化多点集群系统及其任务管理方法 |
CN102622265A (zh) * | 2011-01-28 | 2012-08-01 | 天脉聚源(北京)传媒科技有限公司 | 一种任务分配方法和系统 |
CN103077088A (zh) * | 2013-01-17 | 2013-05-01 | 浙江大学 | 集群渲染环境中基于pkdt树的动态反馈负载均衡方法 |
CN103279391A (zh) * | 2013-06-09 | 2013-09-04 | 浪潮电子信息产业股份有限公司 | 一种基于cpu与mic架构处理器协同计算的负载均衡优化方法 |
US20150150023A1 (en) * | 2013-11-22 | 2015-05-28 | Decooda International, Inc. | Emotion processing systems and methods |
Non-Patent Citations (1)
Title |
---|
付鹏斌、张雪峰、杜金莲: "基于动态反馈的集群渲染系统的实现", 《全国计算机技术与应用进展》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109196472A (zh) * | 2016-04-15 | 2019-01-11 | 谷歌有限责任公司 | 确定待由模块化实体执行的任务 |
CN109196472B (zh) * | 2016-04-15 | 2021-12-21 | 谷歌有限责任公司 | 确定待由模块化实体执行的任务 |
CN107547270A (zh) * | 2017-08-14 | 2018-01-05 | 天脉聚源(北京)科技有限公司 | 一种智能分配任务分片的方法及装置 |
CN107544444A (zh) * | 2017-08-16 | 2018-01-05 | 浙江力太科技有限公司 | 一种用于多设备间的同步生产管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105468455B (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105975340A (zh) | 一种虚拟机应用分配部署算法 | |
CN104639466B (zh) | 一种基于Storm实时流计算框架的应用网络带宽动态优先级保障方法 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN102684224A (zh) | 一种求解考虑风电波动性的机组组合方法 | |
CN102591709B (zh) | 基于OGR的shapefile文件主从式并行写方法 | |
CN105450684A (zh) | 云计算资源调度方法和系统 | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN102855173B (zh) | 一种软件性能测试方法和装置 | |
CN105468455A (zh) | 一种用于多设备的动态任务分配的方法及装置 | |
CN103425536A (zh) | 一种面向分布式系统性能测试的测试资源管理方法 | |
CN111860867B (zh) | 一种混合异构系统的模型训练方法、系统及相关装置 | |
CN106293947B (zh) | 虚拟化云环境下gpu-cpu混合资源分配系统和方法 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
Tang et al. | Data-aware resource scheduling for multicloud workflows: A fine-grained simulation approach | |
CN104572296B (zh) | 一种预测云平台存储资源增长量的方法 | |
CN114911579A (zh) | 电力系统仿真并行计算方法、装置、设备及可读存储介质 | |
CN111158800A (zh) | 基于映射关系构建任务dag的方法及装置 | |
CN104156271A (zh) | 一种协同计算集群负载均衡的方法及系统 | |
CN111078380A (zh) | 一种多目标任务调度方法及系统 | |
CN102737743A (zh) | 一种核电站主控室盘台布局的方法和系统 | |
CN113347249A (zh) | 一种作业加载方法、装置及设备 | |
CN103501509B (zh) | 一种均衡无线网络控制器负载的方法及装置 | |
CN112463340A (zh) | 基于tensorflow的多任务弹性调度方法及系统 | |
CN110969565B (zh) | 图像处理的方法和装置 | |
CN109144840A (zh) | 一种测试方法、装置及其设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method and device for dynamic task allocation of multiple devices Effective date of registration: 20210104 Granted publication date: 20181221 Pledgee: Inner Mongolia Huipu Energy Co.,Ltd. Pledgor: TVMINING (BEIJING) MEDIA TECHNOLOGY Co.,Ltd. Registration number: Y2020990001527 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181221 Termination date: 20211123 |
|
CF01 | Termination of patent right due to non-payment of annual fee |