CN107491351B - 一种基于优先级的资源分配方法、装置和设备 - Google Patents

一种基于优先级的资源分配方法、装置和设备 Download PDF

Info

Publication number
CN107491351B
CN107491351B CN201610410884.7A CN201610410884A CN107491351B CN 107491351 B CN107491351 B CN 107491351B CN 201610410884 A CN201610410884 A CN 201610410884A CN 107491351 B CN107491351 B CN 107491351B
Authority
CN
China
Prior art keywords
resource
resource application
application
resources
allocated
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
Application number
CN201610410884.7A
Other languages
English (en)
Other versions
CN107491351A (zh
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610410884.7A priority Critical patent/CN107491351B/zh
Priority to CN202110769141.XA priority patent/CN113687941A/zh
Priority to PCT/US2017/036894 priority patent/WO2017218364A1/en
Priority to US15/619,405 priority patent/US11036553B2/en
Publication of CN107491351A publication Critical patent/CN107491351A/zh
Application granted granted Critical
Publication of CN107491351B publication Critical patent/CN107491351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • G06F9/5016Allocation 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 the resource being the memory
    • 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/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

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)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种基于优先级的资源分配方法,包括:接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息;根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,在所述剩余资源不满足所述资源申请时,在所述已分配资源申请队列中依序遍历作业优先级低于所述资源申请的已分配资源申请;将所有遍历到的资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源;在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请。本申请的技术方案解决了高作业优先级的资源申请能够抢占低作业优先级资源申请的问题。本申请同时还提供了一种基于优先级的资源分配装置和设备。

Description

一种基于优先级的资源分配方法、装置和设备
技术领域
本申请涉及计算机技术领域,具体涉及一种基于优先级的资源分配方法,相应于上述方法,本申请还涉及一种基于优先级的资源分配装置和设备。
背景技术
在分布式系统中,通常存在三个角色:资源调度器、作业管理器及下属作业节点、机器节点。当用户需要提交一个作业时,作业管理器会向资源调度器申请一定数量的机器资源,如CPU、内存等,供作业节点使用;资源调度器在收到作业资源申请后,会根据分布式系统中剩余的可用资源计算出可以分配给作业管理器可用资源列表,例如:在A机器上可用1核CPU、1GB内存,在B机器上可用2核CPU、2GB内存;然后,资源调度器会将资源列表发送给作业管理器和相应机器节点。
在一个分布式系统中,会有成千上万的作业管理器,通常这些作业管理器的资源申请的作业优先级是不一样的:有些作业管理器的资源申请作业优先级较高,需要资源调度器优先为其分配资源;有些作业管理器的资源申请作业优先级较低,表明可以容忍资源调度器优先为其他高作业优先级的资源申请分配资源。在分布式系统中经常会出现集群整体资源耗尽导致资源申请排队的情况。一种常见的方案是将请求按照优先级进行排队,然后周期性的从队列中取出资源请求重新提交,如图1所示,在等待队列中,高作业优先级的资源请求会排在前面,低优先级的资源请求会排在后面。
然而,以上方法无法解决如下问题:在集群资源整体耗尽的情况下资源调度器接收到了一个优先级非常高的资源请求,这个资源请求需要立即得到资源;然而所有已经得到满足的资源申请还需要执行相当长一段时间,所以即便这个资源申请的作业优先级很高,也不得不等待其他低作业优先级的资源申请在归还资源后才能被分配资源。在这种场合下,资源调度器需要支持高作业优先级的资源申请能够获取低作业优先级资源申请已经得到的资源。
发明内容
本申请提供一种基于优先级的资源分配方法,解决了高作业优先级的资源申请能够抢占低作业优先级资源申请的问题,可以使系统资源获得有效利用。
本申请提供一种基于优先级的资源分配方法,包括:
接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,在所述剩余资源不满足所述资源申请时,在所述已分配资源申请队列中依序遍历作业优先级低于所述资源申请的已分配资源申请;所述已分配资源申请是已完全或部分分配到资源的资源申请;
所有已遍历到的所述已分配资源申请组成已遍历资源申请,将所有所述已遍历资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源;
每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请,在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请。
可选的,在所述根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请的过程中,若所述剩余资源满足所述资源申请,则根据所述资源申请的资源需求信息为所述作业分配相应的资源;并将所述资源申请作为所述已分配资源申请记入所述已分配资源申请队列。
可选的,所述每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请还包括:若所述可用资源不能满足所述资源申请,则继续遍历,直到所述可用资源满足所述资源申请为止。
可选的,所述每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请还包括:若遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请,则为所述资源申请分配部分资源。
可选的,所述在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足所述资源申请,则停止遍历,将所述可用资源分配给所述资源申请;并将分配后的第二剩余资源按照作业优先级由高到低的顺序分配给已遍历资源申请;
所述第二剩余资源是所述可用资源在分配给所述资源申请后剩下的系统资源。
可选的,所述在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足所述资源申请,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,将所述可用资源分配给所述资源申请,并将所述第二剩余资源分配所述任一已遍历资源申请。
可选的,所述在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足所述资源申请,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,则将除去所述任一已遍历资源申请所占用资源之外的剩余可用资源分配给所述资源申请。
可选的,所述为所述资源申请分配部分资源具体包括:
将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配;
将所述可用资源分配给所述资源申请后的剩余部分,按所述作业优先级从高到低的顺序分配给所述已遍历资源申请。
可选的,所述为所述资源申请分配部分资源具体包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,保持所述已分配资源申请所占用的系统资源不变,将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
可选的,所述资源申请包括资源申请名、资源申请体积、资源申请数量和作业优先级;
所述资源申请名是所述资源申请的标示名;
所述资源申请体积是运行于该资源申请对应的所述作业所需要的最小资源占用;
所述资源申请数量是所述资源申请的所申请的所述资源申请体积的数量;
所述作业优先级是由用户定义的,确定数量的优先级级别,所述优先级级别越高,表示对应的所述作业越重要,所述资源申请越应该优先被满足;如果所述优先级级别相同,在时间序列上,越早提交的所述资源申请越优先被满足。
可选的,作业优先级按照设定的维度被聚合成不同的优先级区间;所述在已分配资源队列中依序遍历作业优先级低于所述作业资源申请的已分配资源申请具体包括:
在已分配资源队列中按照作业优先级由低到高的顺序遍历所有所在优先级区间低于所述资源申请所在优先级区间的所述已分配资源申请。
可选的,所述在已分配资源队列中依序遍历作业优先级低于所述作业资源申请的已分配资源申请具体包括:
在已分配资源队列中按照作业优先级由低到高的顺序遍历所有所述作业优先级低于所述资源申请的所述已分配资源申请。
可选的,所述已分配资源队列是按所述作业优先级顺序排列,已完全或部分分配到资源的已分配资源申请的集合。
可选的,所述已分配资源申请包括所述资源申请名、所述资源申请体积、已分配资源数量、已分配资源和所述作业优先级;
所述已分配资源数量是已经分配给该资源申请的所述资源申请体积的数量;
所述已分配资源是所述资源申请体积与所述已分配资源数量的乘积。
可选的,所述待分配资源申请队列是按所述作业优先级排列的所有完全或部分未分配到资源的待分配资源申请的集合;所述申请包括所述资源申请名、所述资源申请体积、所述资源申请数量、待分配资源数量、所述作业优先级。
一种基于优先级的资源分配装置,包括:资源申请接收单元、资源抢占单元;
所述资源申请接收单元,用于接受作业提交的所述资源申请,所述资源申请包括资源需求信息和作业优先级信息;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,若所述剩余资源不满足所述资源申请,进入所述资源抢占单元。
可选的,所述基于优先级的资源分配装置还包括资源分配单元;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,当所述剩余资源满足所述资源申请时,进入所述资源分配单元;
所述资源分配单元,用于根据所述作业的资源需求信息为所述资源申请分配相应的资源;并将所述资源申请作为已分配资源申请记入已分配资源申请队列。
可选的,所述资源抢占单元包括遍历子单元、遍历后处理子单元;
所述遍历子单元,用于在已分配资源队列中按照所述作业优先级从低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请;每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请;若所述可用资源满足,则停止遍历,将所述可用资源分配给所述作业;若所述可用资源不能满足,则继续遍历,直到所述可用资源满足所述资源申请为止;
遍历后处理子单元,用于处理在所述遍历后,所述可用资源仍不能满足所述资源申请的情况。
可选的,在所述遍历子单元中,所述若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请;并将分配后的所述第二剩余资源按照作业优先级由高到低的顺序分配给已遍历资源申请。
可选的,在所述遍历子单元中,所述若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,将所述可用资源分配给所述资源申请,并将所述第二剩余资源分配所述任一已遍历资源申请。
可选的,在所述遍历子单元中,所述若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,则将除去所述任一已遍历资源申请所占用资源之外的剩余可用资源分配给所述资源申请。
可选的,所述遍历后处理子单元包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,将所述可用资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配;
将所述可用资源分配给所述资源申请后的剩余部分,按所述作业优先级从高到低的顺序分配给被抢占资源的所述已分配遍历资源申请。
可选的,所述遍历后处理子单元包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,保持所述已分配资源申请所占用的系统资源不变,将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
可选的,所述资源申请接收单元提交的所述资源申请包括:资源申请名、资源申请体积、资源申请数量、作业优先级。
一种电子设备,其特征在于,所述电子设备包括:
显示器;
处理器;
存储器,用于存储基于优先级的资源分配程序,所述程序在被所述处理器读取执行时,执行如下操作:
接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,若满足,则根据所述资源申请的资源需求信息为所述作业分配相应的资源;并将所述资源申请作为已分配资源申请记入已分配资源申请队列;
若不满足,在已分配资源申请队列中按照所述作业优先级由低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请;
所有已遍历到的所述已分配资源申请组成已遍历资源申请,将所有所述已遍历资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源;每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请;若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请;若所述可用资源不能满足,则继续遍历,直到所述可用资源满足所述资源申请为止;或者继续遍历,直到遍历完所有低作业优先级的所述已分配资源申请,为所述资源申请分配资源。
与现有技术相比,本申请具有以下优点:
本申请提供一种基于优先级的资源分配方法、装置和设备。所述资源分配方法接受作业提交的资源申请后,根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,在所述系统剩余资源不满足所述资源申请时,在所述已分配资源申请队列中依序遍历作业优先级低于所述资源申请的已分配资源申请;将遍历到的所述已分配资源申请占用的系统资源之和加上所述剩余资源作为可用资源,将所述可用资源分配给高作业优先级的所述资源申请。本申请提供的技术方案解决了现有技术中,高作业优先级的资源申请在系统资源耗尽的情况下只能排队等待的缺陷,使高作业优先级的所述资源申请最大程度地获得运行所需资源。
另外,在本申请优选例中,将所述可用资源分配给所述资源申请后剩下的第二剩余资源按照作业优先级由高到低的顺序分配给资源被占用的所述已分配资源申请,使系统资源得到有效利用。
附图说明
图1示出了作为对比技术的一种资源申请队列示意图;
图2示出了本申请的实施例提供的基于优先级的资源分配方法的流程图;
图3示出了本申请的实施例提供的已分配资源申请队列示意图;
图4示出了本申请的实施例提供的基于优先级的资源分配装置的示意图;
图5示出了本申请的实施例提供的所述资源抢占单元的示意图;
图6示出了本申请的实施例提供的电子设备的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
本申请的实施例提供了一种基于优先级的资源分配方法以及一种基于优先级的资源分配装置;本申请的实施例同时提供了一种电子设备。在下面的实施例中逐一进行详细说明。
在详细描述本实施例的具体步骤之前,先对本技术方案涉及的资源分配的运行环境试作简要说明。
在分布式系统中,通常存在三个角色:资源调度器、作业管理器及下属作业节点、机器节点。当用户需要提交一个作业时,所述作业管理器会向所述资源调度器申请一定数量的机器资源,如CPU、内存等,供作业节点使用;所述资源调度器在收到作业资源申请后,会根据分布式系统中剩余的可用资源计算出可以分配给所述作业管理器的可用资源列表,例如:在A机器上可用1核CPU、1GB内存,在B机器上可用2核CPU、2GB内存;然后,所述资源调度器会将资源列表发送给所述作业管理器和相应机器节点。所述作业管理器在收到所述资源列表后,会将所述作业节点分配到相应的机器节点执行作业程序。当所述作业节点执行完毕时,所述作业管理器会告知所述资源管理器归还所述作业节点的资源,所述资源管理器收到归还申请后通知所述机器节点释放掉所述作业节点的资源,此释放资源可再次分配给其他作业。
所述作业管理器的资源申请的作业优先级是不一样的,在系统资源足够的情况下,所述资源调度器会满足每个所述资源申请资源需求,并将所述已分配到资源的所述资源申请作为已分配资源申请按照作业优先级由高到低的顺序记入已分配资源申请队列;在系统资源整体耗尽的情况下,所述资源调度器接收到了一个作业优先级高的资源申请,如何为所述作业优先级高的资源申请分配资源即是本申请提供的技术方案需要解决的。
本申请提供的一种基于优先级的资源分配方法,所述资源分配方法的实施例如下:
图2示出了本申请的实施例提供的基于优先级的资源分配方法的流程图。下面结合图2予以说明。
步骤S101,接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息。
如前文所述,当用户需要提交一个作业时,会通过所述作业管理器向所述资源调度器提交所述资源申请;所述资源申请包括资源申请名、资源申请体积、资源申请数量和作业优先级。
所述资源申请名是所述资源申请的标示名;所述资源申请名与所述作业的标示名相同。
所述资源申请体积是运行于该资源申请对应的所述作业所需要的最小资源占用;所述最小资源占用是所述作业在分布式系统中一个作业节点上正常运行时对处理器、内存等的最小需求。
所述资源申请数量是所述资源申请的所申请的所述资源申请体积的数量;所述资源申请数量可以理解为在分布式系统中,正常运行所述作业所需要的工作节点的数量。
举例来说,运行一项用户作业需要100个CPU,100G内存,所述用户作业有100个作业节点要执行,每个作业节点的执行需要1个CPU,1G内存,那么1个CPU,1G内存就是所述资源申请体积,100就是所述资源需求数量。
所述资源申请体积和所述资源申请数量形成所述资源申请的资源需求信息,所述资源申请体积与所述资源申请数量的乘积形成所述资源申请的资源需求总量。
所述作业优先级是由用户定义的,确定数量的优先级级别,所述优先级级别越高,表示对应的所述作业越重要,所述资源申请越应该优先被满足;如果所述优先级级别相同,那么再比较时间序列,越早提交的所述资源申请优先级越高。
步骤S103,根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,在所述剩余资源不满足所述资源申请时,执行步骤S105。
所述资源申请的资源需求信息包括所述资源申请体积和所述资源申请数量;所述资源调度器比较所述资源需求与所述剩余资源的大小,若所述剩余资源小于所述资源需求,执行步骤S105。
当然,在所述资源调度器比较所述资源需求与所述剩余资源的大小时,还存在另外一种情况,即所述剩余资源大于等于所述资源需求,在这种情况下,根据所述资源申请的资源需求信息为所述作业分配相应的资源,并将所述资源申请作为已分配资源申请记入已分配资源申请队列。
所述已分配资源队列是按所述作业优先级顺序排列,已完全或部分分配到资源的已分配资源申请的集合;所述已分配资源申请包括所述资源申请名、所述资源申请体积、已分配资源数量、已分配资源和所述作业优先级;
其中,所述资源申请名、所述资源申请体积和所述作业优先级与所述资源申请的对应项保持一致;所述已分配资源数量是已经分配给该资源申请的所述资源申请体积的数量;所述已分配资源是所述资源申请体积与所述已分配资源数量的乘积。
图3示出了本申请的实施例提供的已分配资源申请队列图。
如图3所示,所述已分配资源队列包括3个已分配资源申请,所述资源申请名分别为:资源申请A、资源申请B、资源申请C,其中资源申请A的其他项目包括:
资源申请体积:CPU:1,内存(MEM):1
已分配资源数量:20
已分配资源:CPU:20,内存(MEM):20
作业优先级:3
步骤S105,在所述已分配资源申请队列中依序遍历所有作业优先级低于所述资源申请的当前已分配资源申请;所有已遍历到的所述已分配资源申请组成已遍历资源申请,将所有所述已遍历资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源。
所述依序遍历所有作业优先级低于所述资源申请的当前已分配资源申请的次序是按照所述作业优先级由低到高的顺序进行。
本申请的优选实施例将作业优先级按照设定的维度被聚合成不同的优先级区间;每个所述优先级区间包括确定的优先级级别,而且,所述已分配资源申请占用的系统资源不能被处在相同所述优先级区间其他所述资源申请所抢占。
在本申请优选实施例中,所述在所述已分配资源申请队列中依序遍历所有作业优先级低于所述资源申请的当前已分配资源申请,在考虑所述优先级区间的情况下变成:在已分配资源队列中按照作业优先级由低到高的顺序遍历所有所在优先级区间低于所述资源申请所在优先级区间的所述已分配资源申请。
在本申请优选实施例中,所述作业优先级按从低到高分成10个级别,即作业优先级1、作业优先级2、…、作业优先级10;所述10个级别按优先级从低到高的顺序聚合成3个优先级分区:优先级分区Ⅰ,包括所述作业优先级1、2、3和4;优先级分区Ⅱ,包括所述作业优先级5、6和7;优先级分区Ⅲ,包括所述作业优先级8、9、10。如果提交的资源申请的所述作业优先级为9,那么上述考虑所述优先级区间的情况下的遍历只能遍历到所述优先级分区Ⅰ和优先级分区Ⅱ,而不会遍历到作业优先级为8的所述已分配资源申请。
本申请的优选实施例在所述遍历过程中,并不会收回已遍历到的所述已分配资源申请所占用的系统资源,只是在最终资源分配方案确定后再收回所述系统资源。在一些情形下,所述资源调度器会在遍历过程中,同时收回已遍历到的所述已分配资源申请所占用的系统资源。
步骤S107,每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请;在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请。
每遍历一个所述已分配资源申请,系统会判断所述可用资源是否满足所述资源申请:
若所述可用资源满足所述资源申请,则停止遍历,将所述可用资源分配给所述资源申请。
若所述可用资源不能满足所述资源申请,则继续遍历,直到所述可用资源满足所述资源申请为止。
所述停止遍历,将所述可用资源分配给所述资源申请的操作会出现两种情况,若所述可用资源刚好满足所述资源申请的资源需求,分配结束;若所述可用资源分配给所述资源申请后还有第二剩余资源,即所述可用资源在分配给所述资源申请后剩下的系统资源,则继续将所述第二剩余资源分配给所述已遍历资源申请。
本申请提供的优选实施例中,将所述第二剩余资源按照作业优先级由高到低的顺序分配给所述已遍历资源申请。
作为可选方案,对所述可用资源的处理还有下述两种方案:
方案1、进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,先收回所述已遍历资源申请所占用的系统资源,再将所述可用资源分配给所述资源申请,并将所述第二剩余资源分配给所述任一已遍历资源申请;
方案2、进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,则所述任一已遍历资源申请所占用的系统资源保留,将除去所述任一已遍历资源申请所占用资源之外的剩余可用资源分配给所述资源申请。
上述方案1与所述优选实施例的区别是:方案1是先回收每个所遍历到的所述已分配资源申请所占用的系统资源,再分配所述可用资源;所述优选实施例不会预先回收每个所遍历到的所述已分配资源申请所占用的系统资源,而是在分配方案确定后再回收所有所遍历到的所述已分配资源申请所占用的系统资源。
上述方案2是为了保证已完整获取所需资源的所述已遍历资源申请的优先执行。
若遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,则为所述资源申请分配部分资源。
所述为所述资源申请分配部分资源包括:将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配;将所述可用资源分配给所述资源申请后的剩余部分,按所述作业优先级从高到低的顺序分配给所述已遍历资源申请。
所述待分配资源申请队列是按所述作业优先级排列的所有完全或部分未分配到资源的待分配资源申请的集合;所述待分配资源申请包括所述资源申请名、所述资源申请体积、所述资源申请数量、待分配资源数量、所述作业优先级。
所述资源申请名、所述资源申请体积、所述资源申请数量和所述作业优先级与所述资源申请相同。
所述待分配资源数量是所述资源申请未被满足的部分所需要的所述资源申请体积的数量。
作为可选方案,在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,也可以保持所述已分配资源申请所占用的系统资源不变,将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
下面,结合图3,以一个具体的实例来说明整个流程。
假设系统总资源CPU:100、内存:100,由于所述资源申请A占用CPU:20、内存:20,作业优先级为3;所述资源申请B占用CPU:60、内存:40,作业优先级为2;所述资源申请C占用CPU:20、内存:10,作业优先级为1,那么现在系统的剩余资源是CPU:0、内存:30。
这时候来一个资源申请E,它的资源申请体积是CPU:1、内存:1,申请数量是30,优先级是4,由于所述剩余资源不能满足所述资源申请E,所以进入下一步,按照所述作业优先级低到高的顺序遍历所述作业优先级低于所述资源申请E的已分配资源申请,首先遍历到所述资源请求C,那么遍历后,新的可用资源就是CPU:20、内存:40,所述可用资源还不足以满足所述资源申请E,所以继续遍历到所述资源申请B,那么新的可用资源就是CPU:80、内存:80,所述可用资源能够满足所述资源申请E,于是将所述可用资源分配给所述资源申请E;分配后,剩下的可用资源,即第二剩余资源为CPU:50、内存:50,将所述第二剩余资源按照作业优先级从高到底的顺序重新分配给所述已遍历资源申请,也就是所述资源申请B和所述资源申请A:先检查资源申请B,用所述第二剩余资源除以所述资源申请B的资源申请体积后,得到16,即可以分配给所述资源申请B的系统资源是:CPU:48、内存:32,所述第二剩余资源分配后剩下的系统资源,即第三剩余资源变成:CPU:2、内存:18;所述资源申请B未被满足的部分,即CPU:12、内存:8进入所述待分配资源申请队列;然后再检查资源申请C,所述第三剩余资源可以满足所述资源申请C的一个资源申请体积,将所述第三剩余资源分配给所述资源申请C的一个资源申请体积后剩下的系统资源变成:CPU:0、内存:17,无法再分配;所述资源申请B未被满足的部分,即CPU:18、内存:9进入所述待分配资源申请队列。
最终的结果是:所述资源申请E获得系统资源CPU:30、内存:30;所述资源申请B获得系统资源CPU:48、内存:32;所述资源申请C获得:CPU:2、内存:1;系统新的剩余资源为CPU:0、内存:17。
最后资源调度器会真正收回所述资源申请B、所述资源申请C所占用的资源,按照上诉新方案分配系统资源。
本申请的实施例提供了一种基于优先级的资源分配方法,与上述基于优先级的资源分配方法相对应的,本申请还提供了一种基于优先级的资源分配装置。
图4示出了本申请的实施例提供的基于优先级的资源分配装置的示意图。
所述基于优先级的资源分配装置包括:资源申请接收单元201、资源抢占单元205。
所述资源申请接收单元201,用于接受作业提交的所述资源申请,所述资源申请包括资源需求信息和作业优先级信息;根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,若所述剩余资源不满足所述资源申请,进入所述资源抢占单元205。
所述资源抢占单元205,用于在所述已分配资源申请队列中按照所述作业优先级由低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请,根据遍历后的结果重新分配系统资源。
如图5所示,所述基于优先级的资源分配装置还包括资源分配单元203。
在所述资源申请接收单元201,根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请时,若所述剩余资源满足所述资源申请,进入所述资源分配单元203。
所述资源分配单元203,用于根据所述作业的资源需求信息为所述资源申请分配相应的资源;并将所述资源申请作为已分配资源申请记入已分配资源申请队列。
图5示出了本申请的实施例提供的所述资源抢占单元的示意图。
如图5所示,所述资源抢占单元205包括:遍历子单元301、遍历后处理子单元303。
所述遍历子单元301,用于在已分配资源队列中按照所述作业优先级从低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请;每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请;若所述可用资源满足,则停止遍历,将所述可用资源分配给所述作业;若所述可用资源不能满足,则继续遍历,直到所述可用资源满足所述资源申请为止。
所述遍历后处理子单元303,用于处理在所述遍历后,所述可用资源仍不能满足所述资源申请的情况。
可选的,在所述遍历子单元301中,若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请;并将分配后的所述第二剩余资源按照作业优先级由高到低的顺序分配给已遍历资源申请。
可选的,在所述遍历子单元301中,若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,将所述可用资源分配给所述资源申请,并将所述第二剩余资源分配所述任一已遍历资源申请。
可选的,在所述遍历子单元301中,若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,则将除去所述任一已遍历资源申请所占用资源之外的剩余可用资源分配给所述资源申请。
可选的,所述遍历后处理子单元303包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,将所述可用资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
将所述可用资源分配给所述资源申请后的剩余部分,按所述作业优先级从高到低的顺序分配给被抢占资源的所述已分配遍历资源申请。
可选的,所述遍历后处理子单元303包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,保持所述已分配资源申请所占用的系统资源不变,将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
在上述的实施例中,提供了一种基于优先级的资源分配方法以及一种基于优先级的资源分配装置,此外,本申请还提供了一种电子设备;所述电子设备实施例如下:
图6示出了本申请的实施例提供的电子设备的示意图。
所述电子设备,包括:显示器401;处理器403;存储器405;
存储器405,用于存储基于优先级的资源分配程序,所述程序在被所述处理器读取执行时,执行如下操作:
接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息。
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,若满足,则根据所述资源申请的资源需求信息为所述作业分配相应的资源;并将所述资源申请作为已分配资源申请记入已分配资源申请队列。
若不满足,在已分配资源申请队列中按照所述作业优先级由低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请。
所有已遍历到的所述已分配资源申请组成已遍历资源申请,将所有所述已遍历资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源;每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请;若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请;若所述可用资源不能满足,则继续遍历,直到所述可用资源满足所述资源申请为止;或者继续遍历,直到遍历完所有低作业优先级的所述已分配资源申请,为所述资源申请分配资源。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(trans itory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

Claims (24)

1.一种基于优先级的资源分配方法,其特征在于,包括:
接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,在所述剩余资源不满足所述资源申请时,在已分配资源申请队列中按照作业优先级由低到高的顺序依序遍历作业优先级低于所述资源申请的已分配资源申请;所述已分配资源申请是已完全或部分分配到资源的资源申请;
所有已遍历到的所述已分配资源申请组成已遍历资源申请,将所有所述已遍历资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源;
每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请,在所述可用资源满足所述资源申请时,停止遍历,收回所有所述已遍历资源申请所占用的系统资源,将所述可用资源分配给所述资源申请,包括:若所述可用资源刚好满足所述资源申请的资源需求,分配结束;若所述可用资源分配给所述资源申请后还有第二剩余资源,则将所述第二剩余资源分配给所述已遍历资源申请,所述第二剩余资源是所述可用资源在分配给所述资源申请后剩下的系统资源。
2.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,在所述根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请的过程中,若所述剩余资源满足所述资源申请,则根据所述资源申请的资源需求信息为所述作业分配相应的资源;并将所述资源申请作为所述已分配资源申请记入所述已分配资源申请队列。
3.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请还包括:若所述可用资源不能满足所述资源申请,则继续遍历,直到所述可用资源满足所述资源申请为止。
4.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请还包括:若遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请,则为所述资源申请分配部分资源。
5.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足所述资源申请,则停止遍历,将所述可用资源分配给所述资源申请;并将分配后的第二剩余资源按照作业优先级由高到低的顺序分配给已遍历资源申请。
6.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足所述资源申请,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,将所述可用资源分配给所述资源申请,并将所述第二剩余资源分配所述任一已遍历资源申请。
7.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述在所述可用资源满足所述资源申请时,停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足所述资源申请,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,则将除去所述任一已遍历资源申请所占用资源之外的剩余可用资源分配给所述资源申请。
8.根据权利要求4所述的基于优先级的资源分配方法,其特征在于,所述为所述资源申请分配部分资源具体包括:
将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配;
将所述可用资源分配给所述资源申请后的剩余部分,按所述作业优先级从高到低的顺序分配给所述已遍历资源申请。
9.根据权利要求4所述的基于优先级的资源分配方法,其特征在于,所述为所述资源申请分配部分资源具体包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,保持所述已分配资源申请所占用的系统资源不变,将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
10.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述资源申请包括资源申请名、资源申请体积、资源申请数量和作业优先级;
所述资源申请名是所述资源申请的标示名;
所述资源申请体积是运行于该资源申请对应的所述作业所需要的最小资源占用;
所述资源申请数量是所述资源申请的所申请的所述资源申请体积的数量;
所述作业优先级是由用户定义的,确定数量的优先级级别,所述优先级级别越高,表示对应的所述作业越重要,所述资源申请越应该优先被满足;如果所述优先级级别相同,在时间序列上,越早提交的所述资源申请越优先被满足。
11.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,作业优先级按照设定的维度被聚合成不同的优先级区间;所述在已分配资源队列中依序遍历作业优先级低于所述作业资源申请的已分配资源申请具体包括:
在已分配资源队列中按照作业优先级由低到高的顺序遍历所有所在优先级区间低于所述资源申请所在优先级区间的所述已分配资源申请。
12.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述已分配资源队列是按所述作业优先级顺序排列,已完全或部分分配到资源的已分配资源申请的集合。
13.根据权利要求1所述的基于优先级的资源分配方法,其特征在于,所述已分配资源申请包括所述资源申请名、所述资源申请体积、已分配资源数量、已分配资源和所述作业优先级;
所述已分配资源数量是已经分配给该资源申请的所述资源申请体积的数量;
所述已分配资源是所述资源申请体积与所述已分配资源数量的乘积。
14.根据权利要求8所述的基于优先级的资源分配方法,其特征在于,所述待分配资源申请队列是按所述作业优先级排列的所有完全或部分未分配到资源的待分配资源申请的集合;所述申请包括所述资源申请名、所述资源申请体积、所述资源申请数量、待分配资源数量、所述作业优先级。
15.一种基于优先级的资源分配装置,其特征在于,包括:资源申请接收单元、资源抢占单元;
所述资源申请接收单元,用于接受作业提交的所述资源申请,所述资源申请包括资源需求信息和作业优先级信息;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,若所述剩余资源不满足所述资源申请,进入所述资源抢占单元;
所述资源抢占单元包括遍历子单元,所述遍历子单元,用于在已分配资源队列中按照所述作业优先级从低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请,每遍历一个所述已分配资源申请,判断可用资源是否满足所述资源申请,在所述可用资源满足所述资源申请时,停止遍历,收回所有已遍历资源申请所占用的系统资源,将所述可用资源分配给所述资源申请,包括:若所述可用资源刚好满足所述资源申请的资源需求,分配结束;若所述可用资源分配给所述资源申请后还有第二剩余资源,则将所述第二剩余资源分配给所述已遍历资源申请,所述第二剩余资源是所述可用资源在分配给所述资源申请后剩下的系统资源。
16.根据权利要求15所述的基于优先级的资源分配装置,其特征在于,还包括资源分配单元;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,当所述剩余资源满足所述资源申请时,进入所述资源分配单元;
所述资源分配单元,用于根据所述作业的资源需求信息为所述资源申请分配相应的资源;并将所述资源申请作为已分配资源申请记入已分配资源申请队列。
17.根据权利要求15所述的基于优先级的资源分配装置,其特征在于,所述遍历子单元还用于若所述可用资源不能满足,则继续遍历,直到所述可用资源满足所述资源申请为止;
所述资源抢占单元还包括遍历后处理子单元,用于处理在所述遍历后,所述可用资源仍不能满足所述资源申请的情况;在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,将所述可用资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
18.根据权利要求17所述的基于优先级的资源分配装置,其特征在于,在所述遍历子单元中,所述若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请;并将分配后的所述第二剩余资源按照作业优先级由高到低的顺序分配给已遍历资源申请。
19.根据权利要求17所述的基于优先级的资源分配装置,其特征在于,在所述遍历子单元中,所述若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,将所述可用资源分配给所述资源申请,并将所述第二剩余资源分配所述任一已遍历资源申请。
20.根据权利要求17所述的基于优先级的资源分配装置,其特征在于,在所述遍历子单元中,所述若所述可用资源满足,则停止遍历,将所述可用资源分配给所述资源申请具体包括:
若所述可用资源满足,则停止遍历,进一步判断所述第二剩余资源是否满足任一已遍历资源申请,若满足,则将除去所述任一已遍历资源申请所占用资源之外的剩余可用资源分配给所述资源申请。
21.根据权利要求17所述的基于优先级的资源分配装置,其特征在于,所述遍历后处理子单元包括:
将所述可用资源分配给所述资源申请后的剩余部分,按所述作业优先级从高到低的顺序分配给被抢占资源的所述已分配遍历资源申请。
22.根据权利要求17所述的基于优先级的资源分配装置,其特征在于,所述遍历后处理子单元包括:
在遍历完所有低作业优先级的所述已分配资源申请后,所述可用资源仍不能满足所述资源申请时,保持所述已分配资源申请所占用的系统资源不变,将所述剩余资源分配给所述资源申请,所述资源申请未被满足的部分进入待分配资源申请队列,等待下次的资源分配。
23.根据权利要求16所述的基于优先级的资源分配装置,其特征在于,所述资源申请接收单元提交的所述资源申请包括:资源申请名、资源申请体积、资源申请数量、作业优先级。
24.一种电子设备,其特征在于,所述电子设备包括:
显示器;
处理器;
存储器,用于存储基于优先级的资源分配程序,所述程序在被所述处理器读取执行时,执行如下操作:
接受作业提交的资源申请,所述资源申请包括资源需求信息和作业优先级信息;
根据所述资源申请的资源需求信息判断系统剩余资源是否满足所述资源申请,若满足,则根据所述资源申请的资源需求信息为所述作业分配相应的资源;并将所述资源申请作为已分配资源申请记入已分配资源申请队列;
若不满足,在已分配资源申请队列中按照所述作业优先级由低到高的顺序遍历作业优先级低于所述资源申请的已分配资源申请;
所有已遍历到的所述已分配资源申请组成已遍历资源申请,将所有所述已遍历资源申请所占用的系统资源之和并加上所述剩余资源,作为可用资源;每遍历一个所述已分配资源申请,判断所述可用资源是否满足所述资源申请;若所述可用资源满足,则停止遍历,收回所有所述已遍历资源申请所占用的系统资源,将所述可用资源分配给所述资源申请,包括:若所述可用资源刚好满足所述资源申请的资源需求,分配结束;若所述可用资源分配给所述资源申请后还有第二剩余资源,则将所述第二剩余资源分配给所述已遍历资源申请,所述第二剩余资源是所述可用资源在分配给所述资源申请后剩下的系统资源;若所述可用资源不能满足,则继续遍历,直到所述可用资源满足所述资源申请为止;或者继续遍历,直到遍历完所有低作业优先级的所述已分配资源申请,为所述资源申请分配资源。
CN201610410884.7A 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备 Active CN107491351B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610410884.7A CN107491351B (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备
CN202110769141.XA CN113687941A (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备
PCT/US2017/036894 WO2017218364A1 (en) 2016-06-13 2017-06-09 Priority-based resource allocation
US15/619,405 US11036553B2 (en) 2016-06-13 2017-06-09 Preempting or traversing allocated resource applications based on job priority and resource demand information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610410884.7A CN107491351B (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110769141.XA Division CN113687941A (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备

Publications (2)

Publication Number Publication Date
CN107491351A CN107491351A (zh) 2017-12-19
CN107491351B true CN107491351B (zh) 2021-07-27

Family

ID=60574006

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610410884.7A Active CN107491351B (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备
CN202110769141.XA Pending CN113687941A (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110769141.XA Pending CN113687941A (zh) 2016-06-13 2016-06-13 一种基于优先级的资源分配方法、装置和设备

Country Status (3)

Country Link
US (1) US11036553B2 (zh)
CN (2) CN107491351B (zh)
WO (1) WO2017218364A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600340B1 (en) * 2016-05-16 2017-03-21 Live Nation Entertainment, Inc. Iterative and hierarchical processing of request partitions
US10503546B2 (en) * 2017-06-02 2019-12-10 Apple Inc. GPU resource priorities based on hardware utilization
US10990445B2 (en) * 2017-08-04 2021-04-27 Apple Inc. Hardware resource allocation system for allocating resources to threads
US10893000B2 (en) 2017-11-21 2021-01-12 International Business Machines Corporation Diagonal scaling of resource allocations and application instances in a distributed computing environment
US10635501B2 (en) 2017-11-21 2020-04-28 International Business Machines Corporation Adaptive scaling of workloads in a distributed computing environment
US10812407B2 (en) * 2017-11-21 2020-10-20 International Business Machines Corporation Automatic diagonal scaling of workloads in a distributed computing environment
US10887250B2 (en) 2017-11-21 2021-01-05 International Business Machines Corporation Reducing resource allocations and application instances in diagonal scaling in a distributed computing environment
US10733015B2 (en) * 2017-11-21 2020-08-04 International Business Machines Corporation Prioritizing applications for diagonal scaling in a distributed computing environment
US10721179B2 (en) 2017-11-21 2020-07-21 International Business Machines Corporation Adaptive resource allocation operations based on historical data in a distributed computing environment
US10779328B2 (en) * 2017-11-27 2020-09-15 Qualcomm Incorporated Reference signal and preempted resources collision handling
CN108303688B (zh) * 2018-04-27 2022-02-11 北京东远润兴科技有限公司 雷达信号处理的重构系统、方法和雷达系统
CN110597614B (zh) * 2018-06-12 2023-11-21 阿里巴巴集团控股有限公司 一种资源调整方法及装置
CN108769254B (zh) * 2018-06-25 2019-09-20 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109600414B (zh) * 2018-08-13 2020-04-10 北京字节跳动网络技术有限公司 一种资源分配方法、装置、设备及存储介质
CN109298913A (zh) * 2018-09-26 2019-02-01 武芮 一种多容器系统间调度系统资源的方法及装置
CN109582436B (zh) * 2018-10-15 2021-04-02 上海交通大学 基于容器集群平台的细粒度抢占式资源调度系统及方法
CN111124254B (zh) * 2018-10-30 2023-09-29 伊姆西Ip控股有限责任公司 调度存储空间回收请求的方法、电子设备和程序产品
US11150951B2 (en) * 2018-11-20 2021-10-19 International Business Machines Corporation Releasable resource based preemptive scheduling
CN111258746B (zh) * 2018-11-30 2023-04-25 阿里巴巴集团控股有限公司 资源分配方法和服务设备
US10949241B2 (en) * 2019-03-08 2021-03-16 Google Llc Cost-efficient high-availability multi-single-tenant services
CN110012507B (zh) * 2019-04-02 2021-01-26 华南理工大学 一种用户体验优先的车联网资源分配方法及系统
CN110287003B (zh) * 2019-06-28 2020-04-21 北京九章云极科技有限公司 资源的管理方法和管理系统
CN112395075A (zh) * 2019-08-15 2021-02-23 阿里巴巴集团控股有限公司 资源的处理方法、装置以及资源调度系统
FR3103596B1 (fr) * 2019-11-26 2021-11-19 Thales Sa Procede d'affectation de ressources en reponse a des requetes en fonction de leur priorite, programme d'ordinateur, bloc de controle d'affectation et systeme informatique associes
CN113127178B (zh) * 2019-12-30 2024-03-29 医渡云(北京)技术有限公司 资源抢占方法及装置、计算机可读存储介质、电子设备
US20210294661A1 (en) * 2020-03-19 2021-09-23 Entertainment Technologists, Inc. TASK MANAGEMENT OF LARGE COMPUTING WORKLOADS in A CLOUD SERVICE AGGREGATED FROM DISPARATE, RESOURCE-LIMITED, PRIVATELY CONTROLLED SERVER FARMS
CN111432497B (zh) * 2020-03-30 2022-11-01 京信网络系统股份有限公司 资源分配方法、装置、计算机设备和存储介质
CN111597037B (zh) * 2020-04-15 2023-06-16 中电金信软件有限公司 作业分配方法、装置、电子设备及可读存储介质
CN111598405B (zh) * 2020-04-21 2021-09-07 五八有限公司 一种资源分配方法以及服务器
CN113839890A (zh) * 2020-06-23 2021-12-24 中兴通讯股份有限公司 资源分配方法、装置、服务器及存储介质
CN112073498B (zh) * 2020-09-01 2022-09-09 北京字节跳动网络技术有限公司 一种资源分配方法及装置
CN113296936A (zh) * 2020-12-01 2021-08-24 阿里巴巴集团控股有限公司 资源分配方法及装置
CN112540841B (zh) * 2020-12-28 2021-11-12 智慧神州(北京)科技有限公司 任务调度的方法、装置、处理器与电子设备
CN115022928A (zh) * 2022-06-02 2022-09-06 上海中传网络技术股份有限公司 一种移动边缘计算网络中的资源协同分配方法和装置
CN115766593B (zh) * 2022-10-28 2024-07-16 云南电网有限责任公司 一种输电线路异构融合组网通信业务调度方法及系统
CN117097681B (zh) * 2023-10-16 2024-02-09 腾讯科技(深圳)有限公司 网络资源的调度方法、装置和存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916209A (zh) * 2010-08-06 2010-12-15 华东交通大学 一种多核处理器集群任务资源分配方法
CN102546759A (zh) * 2011-12-14 2012-07-04 Tcl集团股份有限公司 一种智能电视实现网格计算的方法、系统及智能电视

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963911A (en) * 1994-03-25 1999-10-05 British Telecommunications Public Limited Company Resource allocation
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
US7085579B2 (en) * 2000-04-17 2006-08-01 Hitachi, Ltd. Mobile communication systems, mobile stations, base station controllers and packet data service nodes
US7284244B1 (en) * 2000-05-02 2007-10-16 Microsoft Corporation Resource manager architecture with dynamic resource allocation among multiple configurations
US20030067874A1 (en) * 2001-10-10 2003-04-10 See Michael B. Central policy based traffic management
US7559062B2 (en) 2003-10-30 2009-07-07 Alcatel Lucent Intelligent scheduler for multi-level exhaustive scheduling
US7953000B2 (en) * 2004-09-10 2011-05-31 Cisco Technology, Inc. Mechanism to improve preemption behavior of resource reservations
KR100509794B1 (ko) 2005-03-09 2005-08-23 주식회사 퓨전소프트 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법
US8031603B1 (en) * 2005-06-30 2011-10-04 Cisco Technology, Inc. Technique for reducing resources allocated to an existing reservation in a data network
CN1801813B (zh) * 2005-09-30 2010-05-05 华为技术有限公司 一种动态内容播放方法与装置
US20090025004A1 (en) 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
US8381220B2 (en) 2007-10-31 2013-02-19 International Business Machines Corporation Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization
US9128883B2 (en) * 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US8639772B2 (en) 2010-02-16 2014-01-28 Iboard Incorporated Centralized application resource manager
US8640137B1 (en) * 2010-08-30 2014-01-28 Adobe Systems Incorporated Methods and apparatus for resource management in cluster computing
US8539494B2 (en) * 2011-01-31 2013-09-17 Oracle International Corporation Method and system for scheduling threads
US8453152B2 (en) 2011-02-01 2013-05-28 International Business Machines Corporation Workflow control of reservations and regular jobs using a flexible job scheduler
US8554919B2 (en) * 2011-09-09 2013-10-08 Microsoft Corporation Automatic preemption in multiple computer systems
US9414178B2 (en) * 2012-05-16 2016-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Inter-carrier differentiation using allocation and retention priority in a wireless communication system
US9836325B2 (en) * 2012-05-21 2017-12-05 Nvidia Corporation Resource management subsystem that maintains fairness and order
US9755994B2 (en) * 2012-05-21 2017-09-05 Nvidia Corporation Mechanism for tracking age of common resource requests within a resource management subsystem
US20130339969A1 (en) 2012-06-19 2013-12-19 Nmetric, Llc Scheduling and Decision System
US9003037B2 (en) 2012-07-25 2015-04-07 Vmware, Inc. Dynamic allocation of physical computing resources amongst virtual machines
CN104079503B (zh) * 2013-03-27 2018-07-20 华为技术有限公司 一种资源分配方法及装置
US9817667B2 (en) * 2013-05-23 2017-11-14 Advanced Micro Devices, Inc. Techniques for scheduling operations at an instruction pipeline
US9417918B2 (en) * 2013-11-20 2016-08-16 International Business Machines Corporation Computing session workload scheduling and management of parent-child tasks
CN103699445B (zh) * 2013-12-19 2017-02-15 北京奇艺世纪科技有限公司 一种任务调度方法、装置及系统
CN104317650B (zh) * 2014-10-10 2018-05-01 北京工业大学 一种面向Map/Reduce型海量数据处理平台的作业调度方法
US9753766B2 (en) * 2014-11-25 2017-09-05 Raytheon Company Apparatus and method for allocating resources using prioritization of requests and updating of requests
CN106033371B (zh) * 2015-03-13 2019-06-21 杭州海康威视数字技术股份有限公司 一种视频分析任务的调度方法及系统
US10268604B2 (en) * 2015-07-09 2019-04-23 Oracle International Corporation Adaptive resource management in a pipelined arbiter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916209A (zh) * 2010-08-06 2010-12-15 华东交通大学 一种多核处理器集群任务资源分配方法
CN102546759A (zh) * 2011-12-14 2012-07-04 Tcl集团股份有限公司 一种智能电视实现网格计算的方法、系统及智能电视

Also Published As

Publication number Publication date
US20170357531A1 (en) 2017-12-14
WO2017218364A1 (en) 2017-12-21
US11036553B2 (en) 2021-06-15
CN107491351A (zh) 2017-12-19
CN113687941A (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN107491351B (zh) 一种基于优先级的资源分配方法、装置和设备
CN106293893B (zh) 作业调度方法、装置及分布式系统
KR101644800B1 (ko) 컴퓨팅 시스템 및 방법
JP5932043B2 (ja) 不揮発性記憶装置セットの揮発メモリ表現
US11372678B2 (en) Distributed system resource allocation method, apparatus, and system
US7945913B2 (en) Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system
US9319281B2 (en) Resource management method, resource management device, and program product
JP2007115246A (ja) ソフトウェアによって使用される資源を動的に割り当てるための方法及び装置
CN110647394A (zh) 一种资源分配方法、装置及设备
US20090006502A1 (en) Application-Specific Heap Management
US7689801B2 (en) Method for distributing hypervisor memory requirements across logical partitions
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
CN107168777B (zh) 分布式系统中资源的调度方法以及装置
EP3103017A1 (en) Methods and systems for dynamically allocating resources and tasks among database work agents in smp environment
CN106569892B (zh) 资源调度方法与设备
US8352702B2 (en) Data processing system memory allocation
KR20180045347A (ko) 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치
WO2016074130A1 (zh) 一种系统调用命令的批处理方法及装置
WO2022120522A1 (zh) 内存空间的分配方法、装置及存储介质
CN106571935B (zh) 一种资源调度的方法与设备
KR102045125B1 (ko) 분산환경에서의 cda 프로토콜을 활용한 자원할당방법 및 이를 적용한 기록매체 및 분산처리장치
CN110795234A (zh) 一种资源调度方法及装置
WO2020024207A1 (zh) 处理业务请求的方法、装置与存储系统
JP6666553B2 (ja) 情報処理装置、ジョブ管理方法およびジョブ管理プログラム
JP2015148909A (ja) 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1248333

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240524

Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Aliyun Computing Co.,Ltd.

Country or region after: China

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.

Country or region before: Cayman Islands