CN109491798A - 一种资源分配的方法及装置 - Google Patents

一种资源分配的方法及装置 Download PDF

Info

Publication number
CN109491798A
CN109491798A CN201811423687.4A CN201811423687A CN109491798A CN 109491798 A CN109491798 A CN 109491798A CN 201811423687 A CN201811423687 A CN 201811423687A CN 109491798 A CN109491798 A CN 109491798A
Authority
CN
China
Prior art keywords
cost parameter
resource
sequence
queue
job queue
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
Application number
CN201811423687.4A
Other languages
English (en)
Inventor
黄臻翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811423687.4A priority Critical patent/CN109491798A/zh
Publication of CN109491798A publication Critical patent/CN109491798A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • General Factory Administration (AREA)

Abstract

本发明公开了一种资源分配的方法,所述方法包括:获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。通过本发明的方案,获得更加合理的资源分配方法,提高了资源利用率。

Description

一种资源分配的方法及装置
技术领域
本发明涉及云技术,尤指一种资源分配的方法及装置。
背景技术
当前常用的多个资源管理调度***例如:slurm(Slurm工作调度工具是面向Linux和Unix类似内核的免费和开源工作调度程序)、yarn(Apache Hadoop YARN(Yet AnotherResource Negotiator,另一种资源协调者))、K8s(kubernetes Google开源的一个容器编排引擎)等;上述各个调度***自身的调度程序都存在或多或少的问题,例如:在严格按照优先级对排队的作业进行资源分配时,可能会造成一些资源在一定时间内的空闲,从而使资源利用率大大降低,且排队等候的作业等候之间过长。在这样的情形下,严格按照优先级所遵循的公平性所付出的效率代价可能大于合理调节作业的优先顺序以加大整个作业***效率而产生的公平代价的。针对上述所存在的问题,亟需要提出一种资源分配方法,获得一种比采用优先级队列进行资源分配更优的分配顺序,以解决现有技术中所存在的上述问题。
发明内容
为了解决上述技术问题,本发明提供了一种资源分配的方法及装置,通过综合考虑了作业优先级和资源利用率,进而提高了资源利用率。
为了达到本发明目的,本发明提供了一种资源分配的方法,其特征在于,所述方法包括:
获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;
对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;
确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。
一种示例性的实施例中,所述分别针对每个分配资源的顺序计算代价参数之前,还包括:
将所述n个作业按照优先值进行排列,组成优先级顺序队列;
对所述优先级顺序队列计算代价参数;
将计算所得的代价参数作为所述作业队列的代价参数标准值。
一种示例性的实施例中,所述对所述优先级顺序队列计算代价参数,包括:
获取队列中每个作业的运行开始时间;
将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;
将n个作业的乘积值求和,计算所得的和值为代价参数。
一种示例性的实施例中,所述损失函数的公式为:
f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。
一种示例性的实施例中,所述对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合,包括:
针对每种分配资源的顺序的作业队列,采用深度优先搜索方法计算代价参数;
当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数;
若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源的顺序的排列。
为了解决上述问题,本发明还提供了一种分配资源的装置,包括:存储器和处理器;
所述存储器,用于保存用于资源分配的程序;
所述处理器,用于读取执行所述用于资源分配的程序,执行如下操作:
获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;
对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;
确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。
一种示例性的实施例中,所述处理器,用于读取执行所述用于资源分配的程序,还执行如下操作:
所述分别针对每个分配资源的顺序计算代价参数之前,
将所述n个作业按照优先值进行排列,组成优先级顺序队列;
对所述优先级顺序队列计算代价参数;
将计算所得的代价参数作为所述作业队列的代价参数标准值。
一种示例性的实施例中,所述对所述优先级顺序队列计算代价参数,包括:
获取队列中每个作业的运行开始时间;
将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;
将n个作业的乘积值求和,计算所得的和值为代价参数。
一种示例性的实施例中,所述损失函数的公式为:
f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。
一种示例性的实施例中,所述对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合,包括:
针对每种分配资源的顺序的作业队列,采用深度优先搜索方法计算代价参数;
当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数;
若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源的顺序的排列。
与现有技术相比,本发明包括获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。通过本发明的方案,避免一些由于严格按照作业优先级分配资源而使资源利用率严格降低的情形,同时若有些作业优先级很高很高,通过代价参数的计算方法仍会使这些作业优先被分配资源而不是无脑地提升资源利用率,综合考虑了作业优先级和资源利用率,进而提高资源利用率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明资源分配的方法的流程图;
图2为本发明资源分配的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
举一个例子:将资源节点的GPU、CPU、内存、磁盘容量等进行量化,直接用数字表示。假定有两个节点A和B,资源数分别为10,10。节点A当前空闲,节点B在1个小时后空闲。等待资源分配的作业为C和D,C和D两者分别需要8个资源,C需要运行2小时和D需要运行3小时,C的优先级略高于D。其中,C为在任何节点都能运行的普通作业,D为只能在A节点运行的特殊作业。若严格按照优先级顺序分配,则为C和D依次在节点A上运行,需5小时完成。而显然调整分配顺序可以让D先在节点A上运行,1小时候让C在节点B上运行,此中分配方法实现了3小时后作业C和D同时完成。因此,如何实现一种可以合理的资源分配顺序尤其重要。
图1是本发明的分配资源方法的流程图,根据该流程图,本实施例的分配资源方法,包括:
步骤100:获取待执行分配资源的作业队列。
在本实施例中,待执行分配资源的作业队列由n个作业组成,n为大于1的正整数。例如:待执行分配资源的作业有10个,10个作业为A,B,C,D,E,F,G,H,I,J;将这10个作业进行排列,组成待执行分配资源的作业队列ABCDEFGHIJ。该作业队列的排列顺序可按照优先级进行排列;也可以按照其他方式进行排列。
步骤101:对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合。
在本实施例中,对所述作业队列进行排序得到n!种分配资源的顺序。例如:待执行分配资源的作业队列有10个作业,那么进行排序会得到10!种分配资源的顺序。
一种示例性的实施例中,分别针对每个分配资源的顺序计算代价参数之前,将所述n个作业按照优先值进行排列,组成优先级顺序队列;对所述优先级顺序队列计算代价参数;将计算所得的代价参数作为所述作业队列的代价参数标准值。
首先,需要获得待执行分配资源的作业队列中每个作业的优先值,该优先值可以是将优先级进行量化后所得到的是优先值;其中,每个作业的优先级取决于作业自身的因素,该自身的因素可以是已经加入队列的时间(时间越长越高),作业的重要程度(重要程度越大越高)等,具体优先级的设定可以由调度***的超级管理员自行设定,在采用这种调度策略的初始就已经确定,把优先级量化成数值,优先级越高值越大。例如:10个作业为
A,B,C,D,E,F,G,H,I,J的优先值分别为10,5,8,6,7,4,9,2,1,3。其次,将所述n个作业按照优先值进行排列,组成优先级顺序队列。例如:10个作业按照优先值进行排列后组成的优先级顺序队列为:A,G,C,E,D,B,F,J,H,I;最后;对所述优先级顺序队列计算代价参数;将计算所得的代价参数作为所述作业队列的代价参数标准值。
一种示例性的实施例中,所述对所述优先级顺序队列计算代价参数,包括:获取队列中每个作业的运行开始时间;将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;将n个作业的乘积值求和,计算所得的和值为代价参数。
一种示例性的实施例中,所述损失函数的公式为:
f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。q值的设定可以根据实际情况由调度***的超级管理员自行设定,设定完后的q值是一个常数,较优的通过测试可以将q值设定为0.5。具体设定的时候,q的值越大,表示本次作业安排顺序就更倾向于使资源利用率高。如果仅仅考虑了优先级一个因素,那么时间t对计算结果的影响呈几何增长,从而代价参数C(C表示代价参数)受时间t的影响更大,而注重资源利用率的策略可以使整体的t的影响因素变小。
将所述n个作业按照优先值进行排列,组成优先级顺序队列;其中,在本实施例中,虽然作业的初始排列顺序并不影响最终结果,但考虑到按照优先值排序跟最终所得的次序比较接近,选取照优先值进行排列作为初始顺序,进而计算代价参数作为标准值。获取队列中每个作业的运行开始时间;将所述每个作业的运行开始时间代入损失函数f(t)=t^q中,其中,将q值设定为0.5;得到的损失函数的值乘以与每个作业相对应的优先值,获得每个作业的乘积值;将n个作业的乘积值求和,计算所得的和值为代价参数。
例如:第一步,10个作业按照优先值进行排列后组成的优先级顺序队列为:A,G,C,E,D,B,F,J,H,I;
第二步,每个作业的运行开始时间为5,2,3,4,2,1,3,2,6,4,代入损失函数f(t)=t^q中,计算所得的对列中每个作业的值分别为:
51/2,21/2,31/2,41/2,21/2,11/2,31/2,21/2,61/2,41/2
第三步,得到的损失函数的值乘以与每个作业相对应的优先值为:
51/2*10,21/2*9,31/2*8,41/2*7,21/2*6,11/2*5,31/2*4,21/2*3,61/2*2,41/2*1;
第四步,将n个作业的乘积值求和,计算所得的和值为代价参数
C=51/2*10+21/2*9+31/2*8+41/2*7+21/2*6+11/2*5+31/2*4+21/2*3+61/2*2+41/2*1=22.4+12.7+13.9+14+8.5+5+6.9+4.2+4.9+2=94.5;
第五步,将所计算得到的代价参数C=94.5作为该10个作业队列的的代价参数标准值。
一种示例性的实施例中,对所述作业队列进行排序得到n!种分配资源的顺序;针对每种分配资源的顺序的作业队列,采用深度优先搜索方法计算代价参数。其中,深度优先搜索属于图算法的一种,深度优先搜索DFS(Depth First Search)其搜索过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次。
在本实施例中,当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数。实现方式可以是针对该作业队列中的每个n的全排列采用深度优先搜索;当执行搜索时,前几个作业的计算所得的代价参数的值已经超过了该作业队列的代价参数标准值时,就结束了搜索。
若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源顺序的排列。实现方式可以是在每种分配资源的顺序的作业队列中,对每个作业的资源分配遵循造成节点资源碎片最小的原则,即将资源最少且满足作业要求的节点分配给作业。在此原则下可计算每个作业的运行开始时间,把每个作业的开始时间代入损失函数得到f(t),然后乘上其优先值,再把n个作业的结果累加,得到代价参数C。
步骤102:确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。
在本实施例中,基于上述所得到的作业队列的不同排序计算所得的代价参数集合,确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。例如:目前空闲资源为3,1小时之后为5(资源涉及到CPU,GPU,内存等,此处简单量化),q取0.5,作业A优先值为10,运行1小时,占4资源,作业B优先值为1,占3资源运行1.5小时;则先B后A的方案2.5小时跑完,资源利用率高,优先值12.25;先A后B的方案3.5小时跑完,资源利用率低,优先值11.41;此法得到先A后B方案,更注重优先级的公平性而非提升整体利用率。
另外,本申请提供了资源分配的装置的一个实施例,该装置实施例与图1所示的方法实施例对应,该装置具体可以应用于各种电子设备中。
如图2所示,还提供了还提供了一种资源分配的装置,包括:存储器和处理器;
所述存储器,用于保存用于资源分配的程序;
所述处理器,用于读取执行所述用于资源分配的程序,执行如下操作:
获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;
对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;
确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。
一种示例性的实施例中,所述处理器,用于读取执行所述用于资源分配的程序,还执行如下操作:
所述分别针对每个分配资源的顺序计算代价参数之前,
将所述n个作业按照优先值进行排列,组成优先级顺序队列;
对所述优先级顺序队列计算代价参数;
将计算所得的代价参数作为所述作业队列的代价参数标准值。
一种示例性的实施例中,所述对所述优先级顺序队列计算代价参数,包括:
获取队列中每个作业的运行开始时间;
将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;
将n个作业的乘积值求和,计算所得的和值为代价参数。
一种示例性的实施例中,所述损失函数的公式为:
f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。
一种示例性的实施例中,所述对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合,包括:
针对每种分配资源的顺序的作业队列,采用深度优先搜索方法计算代价参数;
当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数;
若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源的顺序的排列。
一种示例性的实施例的实施过程如下:
步骤01:获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;
步骤02:获取n个作业的优先值,将该n个作业按照优先值进行排列,组成优先级顺序队列;
步骤03:获取队列中n个作业每个作业的运行开始时间;将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;其中,所述损失函数的公式为:f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。
步骤04:将n个作业的乘积值求和,计算所得的和值为代价参数;将计算所得的代价参数作为所述作业队列的代价参数标准值。
步骤05:对作业队列进行排序得到n!种分配资源的顺序。
步骤06:分别针对每个分配资源的顺序计算代价参数;采用深度优先搜索方法计算代价参数。
步骤07:当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数。
步骤08:若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源的顺序的排列;将所获得的小于所述代价参数标准值的代价参数组成代价参数集合。
步骤09:确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序;这种分配资源的顺序就是对这个待执行分配资源的作业队列资源分配的最优分配资源的顺序。
基于本实施例的一个具体示例,可以避免一些由于严格按照作业优先级分配资源而使资源利用率严格降低的情形,同时若有些作业优先级很高很高,代价参数的巧妙计算方法仍会使这些作业优先被分配资源而不是无脑地提升资源利用率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (10)

1.一种资源分配的方法,其特征在于,所述方法包括:
获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;
对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;
确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。
2.根据权利要求1所述的资源分配的方法,其特征在于,所述分别针对每个分配资源的顺序计算代价参数之前,还包括:
将所述n个作业按照优先值进行排列,组成优先级顺序队列;
对所述优先级顺序队列计算代价参数;
将计算所得的代价参数作为所述作业队列的代价参数标准值。
3.根据权利要求2所述的资源分配的方法,其特征在于,所述对所述优先级顺序队列计算代价参数,包括:
获取队列中每个作业的运行开始时间;
将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;
将n个作业的乘积值求和,计算所得的和值为代价参数。
4.根据权利要求3所述的资源分配的方法,其特征在于,所述损失函数的公式为:
f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。
5.根据权利要求2所述的资源分配的方法,其特征在于,所述对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合,包括:
针对每种分配资源的顺序的作业队列,采用深度优先搜索方法计算代价参数;
当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数;
若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源的顺序的排列。
6.一种资源分配的装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于资源分配的程序;
所述处理器,用于读取执行所述用于资源分配的程序,执行如下操作:
获取待执行分配资源的作业队列,其中,所述作业队列由n个作业组成,n为大于1的正整数;
对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合;
确定所述代价参数集合中最小值的代价参数,将所述最小值的代价参数所对应的分配资源的顺序作为所述待执行分配资源的作业队列分配资源的顺序。
7.根据权利要求6所述资源分配的装置,其特征在于,所述处理器,用于读取执行所述用于资源分配的程序,还执行如下操作:
所述分别针对每个分配资源的顺序计算代价参数之前,
将所述n个作业按照优先值进行排列,组成优先级顺序队列;
对所述优先级顺序队列计算代价参数;
将计算所得的代价参数作为所述作业队列的代价参数标准值。
8.根据权利要求7所述资源分配的装置,其特征在于,所述对所述优先级顺序队列计算代价参数,包括:
获取队列中每个作业的运行开始时间;
将所述每个作业的运行开始时间代入损失函数并乘以与每个作业相对应的优先值,获得每个作业的乘积值;
将n个作业的乘积值求和,计算所得的和值为代价参数。
9.根据权利要求8所述资源分配的装置,其特征在于,所述损失函数的公式为:
f(t)=t^q;其中,t表示每个作业的运行开始时间,q表示资源利用率的重要度。
10.根据权利要求9所述资源分配的装置,其特征在于,所述对所述作业队列进行排序得到n!种分配资源的顺序,分别针对每个分配资源的顺序计算代价参数,组成代价参数集合,包括:
针对每种分配资源的顺序的作业队列,采用深度优先搜索方法计算代价参数;
当执行m个作业所计算得到的代价参数大于所述代价参数标准值,结束搜索,并将该种分配资源的顺序的排列删除;其中,m小于n,m是正整数;
若执行n个作业所计算得到的代价参数小于所述代价参数标准值,保留该种分配资源的顺序的排列。
CN201811423687.4A 2018-11-27 2018-11-27 一种资源分配的方法及装置 Pending CN109491798A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811423687.4A CN109491798A (zh) 2018-11-27 2018-11-27 一种资源分配的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811423687.4A CN109491798A (zh) 2018-11-27 2018-11-27 一种资源分配的方法及装置

Publications (1)

Publication Number Publication Date
CN109491798A true CN109491798A (zh) 2019-03-19

Family

ID=65696871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811423687.4A Pending CN109491798A (zh) 2018-11-27 2018-11-27 一种资源分配的方法及装置

Country Status (1)

Country Link
CN (1) CN109491798A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990156A (zh) * 2019-12-09 2020-04-10 深圳集智数字科技有限公司 一种资源自动配置方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1148414A2 (en) * 2000-03-30 2001-10-24 Agere Systems Guardian Corporation Method and apparatus for allocating functional units in a multithreated VLIW processor
US7529874B2 (en) * 2005-10-12 2009-05-05 Renesas Technology Corp. Semiconductor integrated circuit device for real-time processing
CN103634330A (zh) * 2012-08-20 2014-03-12 曙光信息产业(北京)有限公司 一种云计算环境下的资源自动分配方法
CN106598727A (zh) * 2016-11-07 2017-04-26 北京邮电大学 一种通信***的计算资源分配方法及***
CN107992359A (zh) * 2017-11-27 2018-05-04 江苏海平面数据科技有限公司 一种云环境下代价感知的任务调度算法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1148414A2 (en) * 2000-03-30 2001-10-24 Agere Systems Guardian Corporation Method and apparatus for allocating functional units in a multithreated VLIW processor
US7529874B2 (en) * 2005-10-12 2009-05-05 Renesas Technology Corp. Semiconductor integrated circuit device for real-time processing
CN103634330A (zh) * 2012-08-20 2014-03-12 曙光信息产业(北京)有限公司 一种云计算环境下的资源自动分配方法
CN106598727A (zh) * 2016-11-07 2017-04-26 北京邮电大学 一种通信***的计算资源分配方法及***
CN107992359A (zh) * 2017-11-27 2018-05-04 江苏海平面数据科技有限公司 一种云环境下代价感知的任务调度算法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990156A (zh) * 2019-12-09 2020-04-10 深圳集智数字科技有限公司 一种资源自动配置方法及装置

Similar Documents

Publication Publication Date Title
CN110837410B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
US10558498B2 (en) Method for scheduling data flow task and apparatus
CN109992404B (zh) 集群计算资源调度方法、装置、设备及介质
Habermann Synchronization of communicating processes
CN105808328B (zh) 任务调度的方法、装置和***
CN107515786B (zh) 资源分配方法、主装置、从装置和分布式计算***
CN110413412B (zh) 一种基于gpu集群资源分配的方法和装置
US9973512B2 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
CN106959894B (zh) 资源分配方法和装置
US20060195845A1 (en) System and method for scheduling executables
CN107766140B (zh) 一种带抢占点实时任务的可调度性分析方法
CN108319495A (zh) 任务处理方法及装置
CN111274021B (zh) 一种gpu集群任务调度分配方法
CN113886034A (zh) 任务调度方法、***、电子设备及存储介质
CN115292016A (zh) 基于人工智能的任务调度方法及相关设备
CN109799956A (zh) 一种存储控制器及io请求处理方法
CN117149388A (zh) 一种批量任务调度方法和***、电子设备、存储介质
CN108549592A (zh) 一种数据库连接池的监控方法及监控设备、应用服务器
CN109491798A (zh) 一种资源分配的方法及装置
CN110262896A (zh) 一种面向Spark***的数据处理加速方法
Chwa et al. Extending task-level to job-level fixed priority assignment and schedulability analysis using pseudo-deadlines
CN110275765A (zh) 基于分支dag依赖的数据并行作业调度方法
CN109102200A (zh) 一种定时任务处理方法及装置
CN111930485A (zh) 一种基于性能表现的作业调度方法
CN111143210A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190319