CN106874100B - 计算资源分配方法及装置 - Google Patents
计算资源分配方法及装置 Download PDFInfo
- Publication number
- CN106874100B CN106874100B CN201510908264.1A CN201510908264A CN106874100B CN 106874100 B CN106874100 B CN 106874100B CN 201510908264 A CN201510908264 A CN 201510908264A CN 106874100 B CN106874100 B CN 106874100B
- Authority
- CN
- China
- Prior art keywords
- task
- processed
- historical
- maximum
- computing resource
- 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/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/5038—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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
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)
Abstract
本申请公开了一种计算资源分配方法及装置,该方法涉及计算机技术领域。包括:获取待处理任务以及所述待处理任务的优先级;根据所述待处理任务的优先级确定所述待处理任务的最大计算资源;根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源。该方案在确定待处理任务的实际计算资源时,会参考待处理任务的优先级别对应的最大计算资源和历史数据量,并不是根据固定的参数来确定,对于不同的待处理任务,当优先级和历史数据量不同时,得到的计算资源也不同,从而能够更加合理地为每个待处理任务分配计算资源,进而提升集群的计算资源利用率和集群的任务吞吐量。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种计算资源分配方法及装置。
背景技术
随着网络技术的飞速发展,越来越多的用户通过网络获取信息,网站需要处理的数据量也越来越大,当今已然进入大数据时代。目前,很多网站的服务端采用大型计算集群来处理数据,如何合理分配计算资源,从而保证集群的计算资源利用率、提升集群的任务吞吐量变得非常重要。
一个大型计算集群每天都会运行大量的任务,按照现有的计算资源分配方法,通常会根据固定的参数为每个待处理任务分配计算资源,例如,若计算资源包括中央处理器(Centeral Processing Unit,CPU)占用量、内存占用量和并发度,那么,为每个待处理任务分配相同的CPU占用量和内存占用量,每个待处理任务的并发度会用对应待处理任务的数据量除以固定值来确定,从而得到每个待处理任务的计算资源。
上述方法仅仅根据固定的参数来为每个待处理任务分配计算资源,分配方法过于简单,容易造成计算资源分配不合理,影响集群的计算资源利用率和集群的任务吞吐量。继续沿用上例进行说明,在实际应用中,每个待处理任务的数据量差别很大,对于数据量大的待处理任务和数据量小的待处理任务分配相同的CPU占用量和内存占用量,这就会造成数据量大的待处理任务计算资源不足、以及数据量小的待处理任务计算资源闲置,从而无法充分利用集群所有的计算资源,影响集群的计算资源利用率和集群的任务吞吐量。
发明内容
本申请实施例提供一种计算资源分配方法及装置,用以解决相关技术中存在的计算资源分配方法过于简单导致的计算资源分配不合理,影响集群的计算资源利用率和集群的任务吞吐量的问题。
根据本申请实施例,提供一种计算资源分配方法,包括:
获取待处理任务以及所述待处理任务的优先级;
根据所述待处理任务的优先级确定所述待处理任务的最大计算资源;
根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源。
具体的,根据所述待处理任务的优先级确定所述待处理任务的最大计算资源,具体包括:
获取优先级与最大计算资源的对应关系;
从所述对应关系中查找包括所述待处理任务的优先级的表项;
获取查找到的表项中包括的最大计算资源,得到所述待处理任务的最大计算资源。
可选的,根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源之前,还包括:
获取所述待处理任务在第一历史时段内的运行次数;
确定所述待处理任务在所述第一历史时段内的运行次数是否超过设定阈值;
若所述待处理任务在所述第一历史时段内的运行次数超过所述设定阈值,则执行根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源的步骤。
具体的,获取所述待处理任务在第一历史时段内的运行次数,具体包括:
计算所述待处理任务的特征信息;以及,
计算在所述第一历史时段内运行过的所有任务的特征信息,得到历史特征信息集合;
统计所述待处理任务的特征信息在所述历史特征信息集合中出现的次数,得到所述待处理任务在所述第一历史时段内的运行次数。
可选的,还包括:
若所述待处理任务在所述第一历史时段内的运行次数未超过所述设定阈值,则将所述待处理任务的最大计算资源作为所述待处理任务的实际计算资源。
具体的,若计算资源包括中央处理器CPU占用量、内存占用量和/或并发度,则根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源,具体包括:
获取第二历史时段内的CPU利用率,根据所述第二历史时段内的CPU利用率确定所述待处理任务的候选CPU占用量;
获取所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型;
根据所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型确定所述待处理任务的候选内存占用量;
根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度;
将所述待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与所述最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较;
将所述待处理任务的候选CPU占用量与最大CPU占用量中的较小者作为所述待处理任务的实际CPU占用量,将所述待处理任务的候选内存占用量与最大内存占用量中的较小者作为所述待处理任务的实际内存占用量,将所述待处理任务的候选并发度与最大并发度中的较小者作为所述待处理任务的实际并发度;
将所述待处理任务的实际CPU占用量、实际内存占用量和/或实际并发度作为所述待处理任务的实际计算资源。
具体的,根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度,具体包括:
获取预设的数据量与并发度的函数关系;
将所述待处理任务在所述第二历史时段内的历史数据量带入所述函数关系中,得到所述待处理任务的候选并发度。
可选的,还包括:
将所述待处理任务在所述第二历史时段内的历史数据量除以所述第二历史时段的时长,得到所述待处理任务在所述第二历史时段内的平均处理速度;
确定所述平均处理速度是否小于设定速度;
若所述平均处理速度小于所述设定速度,则将所述待处理任务的候选并发度乘以所述平均处理速度的倒数。
根据本申请实施例,还提供一种计算资源分配装置,包括:
获取单元,用于获取待处理任务以及所述待处理任务的优先级;
第一确定单元,用于根据所述待处理任务的优先级确定所述待处理任务的最大计算资源;
第二确定单元,用于根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源。
具体的,所述第一确定单元,用于根据所述待处理任务的优先级确定所述待处理任务的最大计算资源,具体用于:
获取优先级与最大计算资源的对应关系;
从所述对应关系中查找包括所述待处理任务的优先级的表项;
获取查找到的表项中包括的最大计算资源,得到所述待处理任务的最大计算资源。
可选的,所述第二确定单元,还用于:
获取所述待处理任务在第一历史时段内的运行次数;
确定所述待处理任务在所述第一历史时段内的运行次数是否超过设定阈值;
若所述待处理任务在所述第一历史时段内的运行次数超过所述设定阈值,则根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源。
具体的,所述第二确定单元,用于获取所述待处理任务在第一历史时段内的运行次数,具体用于:
计算所述待处理任务的特征信息;以及,
计算在所述第一历史时段内运行过的所有任务的特征信息,得到历史特征信息集合;
统计所述待处理任务的特征信息在所述历史特征信息集合中出现的次数,得到所述待处理任务在所述第一历史时段内的运行次数。
可选的,所述第二确定单元,还用于:
若所述待处理任务在所述第一历史时段内的运行次数未超过所述设定阈值,则将所述待处理任务的最大计算资源作为所述待处理任务的实际计算资源。
具体的,若所述计算资源包括中央处理器CPU占用量、内存占用量和/或并发度,则所述第二确定单元,用于根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源,具体用于:
获取第二历史时段内的CPU利用率,根据所述第二历史时段内的CPU利用率确定所述待处理任务的候选CPU占用量;
获取所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型;
根据所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型确定所述待处理任务的候选内存占用量;
根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度;
将所述待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与所述最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较;
将所述待处理任务的候选CPU占用量与最大CPU占用量中的较小者作为所述待处理任务的实际CPU占用量,将所述待处理任务的候选内存占用量与最大内存占用量中的较小者作为所述待处理任务的实际内存占用量,将所述待处理任务的候选并发度与最大并发度中的较小者作为所述待处理任务的实际并发度;
将所述待处理任务的实际CPU占用量、实际内存占用量和/或实际并发度作为所述待处理任务的实际计算资源。
具体的,所述第二确定单元,用于根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度,具体用于:
获取预设的数据量与并发度的函数关系;
将所述待处理任务在所述第二历史时段内的历史数据量带入所述函数关系中,得到所述待处理任务的并发度。
可选的,所述第二确定单元,还用于:
将所述待处理任务在所述第二历史时段内的历史数据量除以所述第二历史时段的时长,得到所述待处理任务在所述第二历史时段内的平均处理速度;
确定所述平均处理速度是否小于设定速度;
若所述平均处理速度小于所述设定速度,则将所述待处理任务的候选并发度乘以所述平均处理速度的倒数。
本申请实施例提供一种计算资源分配方法及装置,获取待处理任务以及所述待处理任务的优先级;根据所述待处理任务的优先级确定所述待处理任务的最大计算资源;根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源。该方案在确定待处理任务的实际计算资源时,会参考待处理任务的优先级别对应的最大计算资源和历史数据量,并不是根据固定的参数来确定,对于不同的待处理任务,当优先级和历史数据量不同时,得到的计算资源也不同,从而能够更加合理地为每个待处理任务分配计算资源,进而提升集群的计算资源利用率和集群的任务吞吐量。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中一种计算资源分配方法的流程图;
图2为本申请实施例中S12的流程图;
图3为本申请实施例中另一种计算资源分配方法的流程图;
图4为本申请实施例中S14的流程图;
图5为本申请实施例中S13的流程图;
图6为本申请实施例中一种计算资源分配装置的结构示意图。
具体实施方式
为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了解决相关技术中存在的计算资源分配方法过于简单导致的计算资源分配不合理,影响集群的计算资源利用率和集群的任务吞吐量的问题,本申请实施例提供一种计算资源分配方法,该方法可以但不限于应用在大型计算集群或者服务器中,流程如图1所示,包括如下步骤:
S11:获取待处理任务以及待处理任务的优先级。
待处理任务可以是用户提交的任务,也可以是定期自动执行的任务。
通常,这些任务会有一定的优先级,该优先级可以是用户自定义的,也可以根据待处理任务的基线确定的,待处理任务的基线越高,优先级也越高。
S12:根据待处理任务的优先级确定待处理任务的最大计算资源。
由于计算集群或者服务器的硬件配置是一定的,不可能无限制的为每个待处理任务分配计算资源,为了确保每个任务的顺利运行,可以预先设定待处理任务的优先级对应的最大计算资源,该最大计算资源是在确保计算集群或者服务器正常运行的前提下,能够提供的最大计算资源。
S13:根据待处理任务的历史数据量和最大计算资源确定待处理任务的实际计算资源。
计算集群或者服务器每天都会运行大量的任务,在确定待处理任务的实际计算资源时,除了参考待处理任务的最大计算资源外,还可以参考待处理的历史数据量,从而为待处理任务分配最优的计算资源,作为待处理任务的实际计算资源。
该方案在确定待处理任务的实际计算资源时,会参考待处理任务的优先级别对应的最大计算资源和历史数据量,并不是根据固定的参数来确定,对于不同的待处理任务,当优先级和历史数据量不同时,得到的计算资源也不同,从而能够更加合理地为每个待处理任务分配计算资源,进而提升集群的计算资源利用率和集群的任务吞吐量。
下面详细介绍上述计算资源分配方法的每个步骤。
具体的,上述S12中的根据待处理任务的优先级确定待处理任务的最大计算资源的实现方式,如图2所示,具体包括如下步骤:
S121:获取优先级与最大计算资源的对应关系。
可以预先设置任务的优先级与最大计算资源的对应关系,在该对应关系的每个表项中,保存一个优先级以及该优先级对应的最大计算资源。
S122:从对应关系中查找包括待处理任务的优先级的表项。
在确定待处理任务的最大计算资源时,可以从该对应关系中查找包括待处理任务的优先级的表项。
S123:获取查找到的表项中包括的最大计算资源,得到待处理任务的最大计算资源。
步骤S121-S123具体说明了一种根据待处理任务的优先级确定待处理任务的最大计算资源的方式,当然还可以采用其他的方式,这里不再赘述。
本申请实施例还提供另一种计算资源的分配方法,该方法的流程如图3所示,在如图1的基础上,还包括如下步骤:
S14:获取待处理任务在第一历史时段内的运行次数。
计算机群或者服务器每天都会运行大量的任务,而每个任务在一定的时段内都有可能运行多次,若一个任务在一定的时段内运行多次,该任务为周期任务,若一个任务在一定的时段内只运行少数几次,该任务为临时任务,对于周期任务和临时任务分配计算资源时可以采用不同的方法。其中,一定的时段可以定义为第一历史时段,例如,选取过去的7天作为第一历史时段。可以首先获取待处理任务在第一历史时段内的运行次数,进而确定如何为待处理任务分配计算资源。
S15:确定待处理任务在第一历史时段内的运行次数是否超过设定阈值,若待处理任务在第一历史时段内的运行次数超过设定阈值,则执行S13;若待处理任务在第一历史时段内的运行次数未超过设定阈值,执行S16。
S16:将待处理任务的最大计算资源作为待处理任务的实际计算资源。
若待处理任务在第一历史时段内的运行次数超过设定阈值,说明待处理任务是周期任务,可以进一步根据待处理任务的历史数据量和最大计算资源确定实际计算资源;若待处理任务在第一历史时段内的运行次数未超过设定阈值,说明待处理任务是临时任务,可以直接将待处理任务的最大计算资源作为实际计算资源。也就是说,可以仅仅优化周期任务的计算资源分配方式,对于临时任务则分配最大计算资源来确保临时任务的顺利运行。
设定阈值可以根据实际需要进行设定,例如设定为1次、2次、3次等等。
具体的,上述S14中获取待处理任务在第一历史时段内的运行次数的实现方式,如图4所示,具体包括如下步骤:
S141:计算待处理任务的特征信息。
可以采用消息摘要算法第五版(Message Digest Algorithm,MD5)算法计算待处理任务的特征信息,这时特征信息为MD5值,在计算待处理任务的MD5值时,可以将待处理任务中的时间参数用固定参数替代,并将任务的代码转化成MD5值。
S142:计算在第一历史时段内运行过的所有任务的特征信息,得到历史特征信息集合。
可以采用MD5算法计算第一历史时段内运行过的所有任务的MD5值。
S143:统计待处理任务的特征信息在历史特征信息集合中出现的次数,得到待处理任务在第一历史时段内的运行次数。
通过S141-S143,可以根据待处理任务的特征值在第一历史时段内的历史特征集合中出现的次数确定待处理任务的运行次数。
对于不同的计算集群或者服务器,计算资源包括的具体信息也可能不同,下面以计算资源包括CPU占用量、内存占用量和/或并发度为例进行说明,上述S13中的根据待处理任务的历史数据量和最大计算资源确定待处理任务的实际计算资源的实现方式,如图5所示,具体包括如下步骤:
S131:获取第二历史时段内的CPU利用率,根据第二历史时段内的CPU利用率确定待处理任务的候选CPU占用量。
对于计算集群或者服务器来说,CPU利用率有个近似的最优值,目前的经验范围为65%~85%之间。过高的CPU利用率会造成任务的大量等待,过低的CPU利用用率会浪费计算资源。因此,可以根据第二历史时段内的CPU利用率确定待处理任务的CPU占用量,从而保证计算集群或者服务器处在比较健康高效的状态。
其中,第二历史时段可以根据实际需要进行设定,例如,选取过去的7天作为第一历史时段。第二历史时段与第一历史时段可以相同也可以不同。
S132:获取待处理任务在第二历史时段内的历史数据量、执行时间和操作类型。
S131与S132没有严格的先后执行顺序,可以先执行S131再执行S132,也可以先执行S132再执行S131,也可以同时执行S131和S132。
S133:根据待处理任务在第二历史时段内的历史数据量、执行时间和操作类型确定待处理任务的候选内存占用量。
按照经验,任务的数据量越大,需要的内存占用量越大;任务的操作类型不同,需要的内存占用量也不同,例如聚合(join)操作往往需要更多的内存占用量;任务的执行时间越长,内存占用量也可能越大,因此,可以根据这些因素来确定待处理任务的内存占用量。
S134:根据待处理任务在第二历史时段内的历史数据量确定待处理任务的候选并发度。
具体可以获取预设的数据量与并发度的函数关系;将待处理任务在第二历史时段内的历史数据量带入函数关系中,得到待处理任务的并发度。
一种优选的数据量与并发度的函数关系如下所示,其中第二历史时段为最近7天:
base_inst=max(int((input_bytes+255M)/256M),1) 0G<input_bytes<=30G
base_inst=int((input_bytes-30G+511M)/512M)+120 30G<input_bytes<=100G
base_inst=int((input_bytes-100G+1023M)/1G)+260 100G<input_bytes<=500G
base_inst=int((input_bytes-500G+2047M)/2G)+660 500G<input_bytes
其中,base_inst为并发度,input_bytes为最近7天该待处理任务的历史数据量。对于map,即为最近7天该待处理任务的平均输入数据量,对于reduce,即为与reduce对应的map在最近7天的平均输出数据量。
一个优选的实施例在确定出待处理任务的并发度后,可以将待处理任务在第二历史时段内的历史数据量除以第二历史时段的时长,得到待处理任务在第二历史时段内的平均处理速度;确定平均处理速度是否小于设定速度;若平均处理速度小于设定速度,则将待处理任务的候选并发度乘以平均处理速度的倒数。其中,设定速度可以根据实际需要进行设定。
例如,确定最近7天任务的平均处理速度,如果最近7天map或者reduce的平均处理速度小于1M/s,则按照1M/s的速度对原始的平均处理速度进行加权,即并发度*(1/最近7天的平均处理速度)。
S133与S134没有严格的先后执行顺序,可以先执行S133再执行S134,也可以先执行S134再执行S133,也可以同时执行S133和S134。
S135:将待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较。
S136:将待处理任务的候选CPU占用量与最大CPU占用量中的较小者作为待处理任务的实际CPU占用量,将待处理任务的候选内存占用量与最大内存占用量中的较小者作为待处理任务的实际内存占用量,将待处理任务的候选并发度与最大并发度中的较小者作为待处理任务的实际并发度。
S137:将待处理任务的实际CPU占用量、实际内存占用量和/或实际并发度作为待处理任务的实际计算资源。
为了确保计算机群或者服务器处于比较健康高效的状态,待处理任务的实际计算资源不能超过最大计算资源,因此需要根据待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较来确定实际计算资源。
基于同一发明构思,本申请实施例还提供一种计算资源分配装置,该装置与如图1所示的计算资源分配方法相对应,该装置的结构如6图所示,包括获取单元61、第一确定单元62和第二确定单元63,其中:
上述获取单元61,用于获取待处理任务以及待处理任务的优先级;
上述第一确定单元62,用于根据待处理任务的优先级确定待处理任务的最大计算资源;
上述第二确定单元63,用于根据待处理任务的历史数据量和最大计算资源确定待处理任务的实际计算资源。
该方案在确定待处理任务的实际计算资源时,会参考待处理任务的优先级别对应的最大计算资源和历史数据量,并不是根据固定的参数来确定,对于不同的待处理任务,当优先级和历史数据量不同时,得到的计算资源也不同,从而能够更加合理地为每个待处理任务分配计算资源,进而提升集群的计算资源利用率和集群的任务吞吐量。
具体的,上述第一确定单元62,用于根据待处理任务的优先级确定待处理任务的最大计算资源,具体用于:
获取优先级与最大计算资源的对应关系;
从对应关系中查找包括待处理任务的优先级的表项;
获取查找到的表项中包括的最大计算资源,得到待处理任务的最大计算资源。
可选的,上述第二确定单元63,还用于:
获取待处理任务在第一历史时段内的运行次数;
确定待处理任务在第一历史时段内的运行次数是否超过设定阈值;
若待处理任务在第一历史时段内的运行次数超过设定阈值,则根据待处理任务的历史数据量和最大计算资源确定待处理任务的实际计算资源。
具体的,上述第二确定单元63,用于获取待处理任务在第一历史时段内的运行次数,具体用于:
计算待处理任务的特征信息;以及,
计算在第一历史时段内运行过的所有任务的特征信息,得到历史特征信息集合;
统计待处理任务的特征信息在历史特征信息集合中出现的次数,得到待处理任务在第一历史时段内的运行次数。
可选的,上述第二确定单元63,还用于:
若待处理任务在第一历史时段内的运行次数未超过设定阈值,则将待处理任务的最大计算资源作为待处理任务的实际计算资源。
具体的,若计算资源包括CPU占用量、内存占用量和/或并发度,则第二确定单元,用于根据待处理任务的历史数据量和最大计算资源确定待处理任务的实际计算资源,具体用于:
获取第二历史时段内的CPU利用率,根据第二历史时段内的CPU利用率确定待处理任务的候选CPU占用量;
获取待处理任务在第二历史时段内的历史数据量、执行时间和操作类型;
根据待处理任务在第二历史时段内的历史数据量、执行时间和操作类型确定待处理任务的候选内存占用量;
根据待处理任务在第二历史时段内的历史数据量确定待处理任务的候选并发度;
将待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较;
将待处理任务的候选CPU占用量与最大CPU占用量中的较小者作为待处理任务的实际CPU占用量,将待处理任务的候选内存占用量与最大内存占用量中的较小者作为待处理任务的实际内存占用量,将待处理任务的候选并发度与最大并发度中的较小者作为待处理任务的实际并发度;
将待处理任务的实际CPU占用量、实际内存占用量和/或实际并发度作为待处理任务的实际计算资源。
具体的,上述第二确定单元63,用于根据待处理任务在第二历史时段内的历史数据量确定待处理任务的并发度,具体用于:
获取预设的数据量与并发度的函数关系;
将待处理任务在第二历史时段内的历史数据量带入函数关系中,得到待处理任务的并发度。
可选的,上述第二确定单元63,还用于:
将待处理任务在第二历史时段内的历史数据量除以第二历史时段的时长,得到待处理任务在第二历史时段内的平均处理速度;
确定平均处理速度是否小于设定速度;
若平均处理速度小于设定速度,则将待处理任务的候选并发度乘以平均处理速度的倒数。
上述说明示出并描述了本申请的优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求的保护范围内。
Claims (14)
1.一种计算资源分配方法,其特征在于,包括:
获取待处理任务以及所述待处理任务的优先级;
根据所述待处理任务的优先级确定所述待处理任务的最大计算资源,具体包括:
获取优先级与最大计算资源的对应关系;
从所述对应关系中查找包括所述待处理任务的优先级的表项;
获取查找到的表项中包括的最大计算资源,得到所述待处理任务的最大计算资源;
根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源;具体包括:
获取所述待处理任务的计算资源利用率、历史数据量、执行时间和操作类型;
根据所述计算资源利用率、所述历史数据量、所述执行时间和所述操作类型确定所述待处理任务的候选计算资源,将所述候选计算资源与所述最大计算资源中的较小者作为所述待处理任务的实际计算资源。
2.如权利要求1所述的方法,其特征在于,根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源之前,还包括:
获取所述待处理任务在第一历史时段内的运行次数;
确定所述待处理任务在所述第一历史时段内的运行次数是否超过设定阈值;
若所述待处理任务在所述第一历史时段内的运行次数超过所述设定阈值,则执行根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源的步骤。
3.如权利要求2所述的方法,其特征在于,获取所述待处理任务在第一历史时段内的运行次数,具体包括:
计算所述待处理任务的特征信息;以及,
计算在所述第一历史时段内运行过的所有任务的特征信息,得到历史特征信息集合;
统计所述待处理任务的特征信息在所述历史特征信息集合中出现的次数,得到所述待处理任务在所述第一历史时段内的运行次数。
4.如权利要求2所述的方法,其特征在于,还包括:
若所述待处理任务在所述第一历史时段内的运行次数未超过所述设定阈值,则将所述待处理任务的最大计算资源作为所述待处理任务的实际计算资源。
5.如权利要求1-4任一所述的方法,其特征在于,若计算资源包括中央处理器CPU占用量、内存占用量和/或并发度,则根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源,具体包括:
获取第二历史时段内的CPU利用率,根据所述第二历史时段内的CPU利用率确定所述待处理任务的候选CPU占用量;
获取所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型;
根据所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型确定所述待处理任务的候选内存占用量;
根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度;
将所述待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与所述最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较;
将所述待处理任务的候选CPU占用量与最大CPU占用量中的较小者作为所述待处理任务的实际CPU占用量,将所述待处理任务的候选内存占用量与最大内存占用量中的较小者作为所述待处理任务的实际内存占用量,将所述待处理任务的候选并发度与最大并发度中的较小者作为所述待处理任务的实际并发度;
将所述待处理任务的实际CPU占用量、实际内存占用量和/或实际并发度作为所述待处理任务的实际计算资源。
6.如权利要求5所述的方法,其特征在于,根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度,具体包括:
获取预设的数据量与并发度的函数关系;
将所述待处理任务在所述第二历史时段内的历史数据量带入所述函数关系中,得到所述待处理任务的候选并发度。
7.如权利要求6所述的方法,其特征在于,还包括:
将所述待处理任务在所述第二历史时段内的历史数据量除以所述第二历史时段的时长,得到所述待处理任务在所述第二历史时段内的平均处理速度;
确定所述平均处理速度是否小于设定速度;
若所述平均处理速度小于所述设定速度,则将所述待处理任务的候选并发度乘以所述平均处理速度的倒数。
8.一种计算资源分配装置,其特征在于,包括:
获取单元,用于获取待处理任务以及所述待处理任务的优先级;
第一确定单元,用于根据所述待处理任务的优先级确定所述待处理任务的最大计算资源,具体用于:
获取优先级与最大计算资源的对应关系;
从所述对应关系中查找包括所述待处理任务的优先级的表项;
获取查找到的表项中包括的最大计算资源,得到所述待处理任务的最大计算资源;
第二确定单元,用于根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源;具体包括:获取所述待处理任务的计算资源利用率、历史数据量、执行时间和操作类型;根据所述计算资源利用率、所述历史数据量、所述执行时间和所述操作类型确定所述待处理任务的候选计算资源,将所述候选计算资源与所述最大计算资源中的较小者作为所述待处理任务的实际计算资源。
9.如权利要求8所述的装置,其特征在于,所述第二确定单元,还用于:
获取所述待处理任务在第一历史时段内的运行次数;
确定所述待处理任务在所述第一历史时段内的运行次数是否超过设定阈值;
若所述待处理任务在所述第一历史时段内的运行次数超过所述设定阈值,则根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源。
10.如权利要求9所述的装置,其特征在于,所述第二确定单元,用于获取所述待处理任务在第一历史时段内的运行次数,具体用于:
计算所述待处理任务的特征信息;以及,
计算在所述第一历史时段内运行过的所有任务的特征信息,得到历史特征信息集合;
统计所述待处理任务的特征信息在所述历史特征信息集合中出现的次数,得到所述待处理任务在所述第一历史时段内的运行次数。
11.如权利要求9所述的装置,其特征在于,所述第二确定单元,还用于:
若所述待处理任务在所述第一历史时段内的运行次数未超过所述设定阈值,则将所述待处理任务的最大计算资源作为所述待处理任务的实际计算资源。
12.如权利要求8-11任一所述的装置,其特征在于,若计算资源包括中央处理器CPU占用量、内存占用量和/或并发度,则所述第二确定单元,用于根据所述待处理任务的历史数据量和最大计算资源确定所述待处理任务的实际计算资源,具体用于:
获取第二历史时段内的CPU利用率,根据所述第二历史时段内的CPU利用率确定所述待处理任务的候选CPU占用量;
获取所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型;
根据所述待处理任务在所述第二历史时段内的历史数据量、执行时间和操作类型确定所述待处理任务的候选内存占用量;
根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度;
将所述待处理任务的候选CPU占用量、候选内存占用量和候选并发度分别与所述最大计算资源中的最大CPU占用量、最大内存占用量和最大并发度进行比较;
将所述待处理任务的候选CPU占用量与最大CPU占用量中的较小者作为所述待处理任务的实际CPU占用量,将所述待处理任务的候选内存占用量与最大内存占用量中的较小者作为所述待处理任务的实际内存占用量,将所述待处理任务的候选并发度与最大并发度中的较小者作为所述待处理任务的实际并发度;
将所述待处理任务的实际CPU占用量、实际内存占用量和/或实际并发度作为所述待处理任务的实际计算资源。
13.如权利要求12所述的装置,其特征在于,所述第二确定单元,用于根据所述待处理任务在所述第二历史时段内的历史数据量确定所述待处理任务的候选并发度,具体用于:
获取预设的数据量与并发度的函数关系;
将所述待处理任务在所述第二历史时段内的历史数据量带入所述函数关系中,得到所述待处理任务的并发度。
14.如权利要求13所述的装置,其特征在于,所述第二确定单元,还用于:
将所述待处理任务在所述第二历史时段内的历史数据量除以所述第二历史时段的时长,得到所述待处理任务在所述第二历史时段内的平均处理速度;
确定所述平均处理速度是否小于设定速度;
若所述平均处理速度小于所述设定速度,则将所述待处理任务的候选并发度乘以所述平均处理速度的倒数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908264.1A CN106874100B (zh) | 2015-12-10 | 2015-12-10 | 计算资源分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510908264.1A CN106874100B (zh) | 2015-12-10 | 2015-12-10 | 计算资源分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106874100A CN106874100A (zh) | 2017-06-20 |
CN106874100B true CN106874100B (zh) | 2021-08-31 |
Family
ID=59236366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510908264.1A Active CN106874100B (zh) | 2015-12-10 | 2015-12-10 | 计算资源分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106874100B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402851B (zh) * | 2017-08-01 | 2020-10-16 | 苏州浪潮智能科技有限公司 | 一种数据恢复控制方法及装置 |
CN108762985B (zh) * | 2018-05-23 | 2020-09-04 | Oppo广东移动通信有限公司 | 数据恢复方法及相关产品 |
ES2962838T3 (es) * | 2019-02-28 | 2024-03-21 | Siemens Schweiz Ag | Método de planificación de recursos informáticos, planificador, sistema de Internet de las cosas y medio legible por computadora |
CN110413393B (zh) * | 2019-07-26 | 2022-02-01 | 广州虎牙科技有限公司 | 集群资源管理方法、装置、计算机集群及可读存储介质 |
CN111552569B (zh) * | 2020-04-28 | 2023-10-20 | 咪咕文化科技有限公司 | ***资源调度方法、装置及存储介质 |
CN111880922A (zh) * | 2020-08-07 | 2020-11-03 | 北京达佳互联信息技术有限公司 | 并发任务的处理方法、装置及设备 |
CN112764935B (zh) * | 2021-01-29 | 2023-06-30 | 中国平安人寿保险股份有限公司 | 大数据处理方法、装置、电子设备及存储介质 |
CN114780170B (zh) * | 2022-04-11 | 2023-07-21 | 远景智能国际私人投资有限公司 | 容器资源的配置方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581317B (zh) * | 2013-10-31 | 2016-08-17 | 工业和信息化部电信传输研究所 | 一种网络资源共享的方法 |
CN104391749B (zh) * | 2014-11-26 | 2020-06-05 | 北京奇艺世纪科技有限公司 | 一种资源分配方法及装置 |
CN104407926B (zh) * | 2014-12-15 | 2017-08-29 | 成都英力拓信息技术有限公司 | 一种云计算资源的调度方法 |
-
2015
- 2015-12-10 CN CN201510908264.1A patent/CN106874100B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106874100A (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874100B (zh) | 计算资源分配方法及装置 | |
US10558498B2 (en) | Method for scheduling data flow task and apparatus | |
CN108549583B (zh) | 大数据处理方法、装置、服务器及可读存储介质 | |
CN108173905B (zh) | 一种资源配置方法、装置及电子设备 | |
CN109800204B (zh) | 数据分配方法及相关产品 | |
US10986191B2 (en) | Method and device for scheduling resources | |
CN106302780B (zh) | 集群设备批量传输数据的方法、装置及***、服务器 | |
CN111625331A (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
US9471383B2 (en) | Task allocation in a computing environment | |
CN106020984B (zh) | 电子设备中进程的创建方法及装置 | |
US20230305880A1 (en) | Cluster distributed resource scheduling method, apparatus and device, and storage medium | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
CN104793982A (zh) | 一种创建虚拟机的方法和设备 | |
CN114327918B (zh) | 调整资源量的方法、装置、电子设备和存储介质 | |
CN107370783B (zh) | 一种云计算集群资源的调度方法及装置 | |
CN110413393B (zh) | 集群资源管理方法、装置、计算机集群及可读存储介质 | |
CN108429704B (zh) | 一种节点资源分配方法及装置 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
CN110795239A (zh) | 应用内存泄露的检测方法及装置 | |
CN115309520A (zh) | 任务迁移方法、装置、电子设备及存储介质 | |
CN112988383A (zh) | 一种资源分配方法、装置、设备以及存储介质 | |
CN113806050A (zh) | 一种计算资源的处理方法、装置、电子设备及存储介质 | |
GB2504812A (en) | Load balancing in a SAP (RTM) system for processors allocated to data intervals based on system load | |
CN112256436A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211103 Address after: Room 16, room 1, 31st floor, changchanghui T2 office building, No. 9, Zhongbei Road, Wuchang District, Wuhan City, Hubei Province Patentee after: Alibaba (Hubei) Co.,Ltd. Address before: Grand Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. |