CN108123980B - 一种资源调度方法及系统 - Google Patents
一种资源调度方法及系统 Download PDFInfo
- Publication number
- CN108123980B CN108123980B CN201611085841.2A CN201611085841A CN108123980B CN 108123980 B CN108123980 B CN 108123980B CN 201611085841 A CN201611085841 A CN 201611085841A CN 108123980 B CN108123980 B CN 108123980B
- Authority
- CN
- China
- Prior art keywords
- resource
- priority
- job
- queue
- scheduling
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种资源调度方法及系统,根据各资源队列中每个作业对应的优先级,判断各资源队列是否为优先级态资源队列;当全部资源队列均为非优先级态资源队列时,根据公平调度策略对全部资源队列进行资源调度;当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对全部资源队列进行资源调度。
Description
技术领域
本发明涉及资源调度领域,尤其涉及一种资源调度方法及系统。
背景技术
随着云计算大数据技术的不断发展,越来越多的企业通过应用大规模分布式计算集群来满足数据应用的需求。采用大规模分布式计算集群,能够有效克服单节点计算资源扩展性问题,并且通过共享集群能够有效提升资源的使用效率。目前,在一个多租户且多任务的场景下,往往通过以下现有技术实现将集群物理资源有效的分配给各个计算任务的需求:
(1)先入先出调度策略,所有作业严格按照提交的时间序列,优先满足先提交作业的资源请求,先提交作业执行完成后释放出来资源再调度给后提交作业。
(2)公平调度策略,该策略将集群资源按照一定规则划分给多个租户,表现为设置多个资源队列。资源划分的规则可以是按照集群总资源的比例,例如最多集群20%的资源,最少10%的资源;也可以是绝对的资源数量限制,例如最多100G内存,50个CPU资源,最少50G、25个CPU资源。当集群资源使用比较空闲时,作业提交到一个资源队列后,允许该资源组在不超过资源上限的前提下占用更多的资源;当集群资源比较紧张时候,作业提交到资源队列后,也能保证资源组占用确保的资源数量,即资源下限。当一个资源队列中同时运行多个作业时,也会有相关的策略将资源从资源队列分配到具体作业,其中,相关策略可以是先进先出策略,也可以是平均分配策略。
(3)优先级调度策略,该策略会根据作业的业务重要性和紧急程度设定优先级,或者根据作业的一些运行情况属性计算出一个优先级,然后根据每个作业的优先级从高到低排列,优先满足优先级高的作业。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
(1)先入先出调度策略不适合多租户场景,也无法使得优先级高作业获得更多资源。
(2)公平调度策略虽然能保证多组户场景下资源公平分配,但是无法使优先级高的任务获得更多资源。
(3)优先级调度策略虽然能够使优先级高的任务尽快获取资源,但是无法保证多租户资源队列间的公平性,难以在多租户场景中直接应用。
综上所述,现有的大规模集群资源调度方法虽然可以实现多租户资源使用时的相对公平性,或者实现优先级高的任务尽快获取资源,但是却不能满足在多租户场景下,对各个资源队列进行资源公平分配的前提下,同时实现使优先级高的任务获得更多资源的需求。
发明内容
为解决上述技术问题,本发明实施例期望提供一种资源调度方法及系统,根据不同的数据调度策略分别对优先级态资源队列与非优先级态资源队列进行资源调度,从而实现对于不同的资源队列,根据资源队列中作业优先级动态调整数据调度策略进行资源分配的需求。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提出了一种资源调度方法,包括:
根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列;
当全部资源队列均为非优先级态资源队列时,根据公平调度策略对所述全部资源队列进行资源调度;
当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对所述全部资源队列进行资源调度。
在上述方案中,所述根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列之前,所述方法还包括:
获取所述各资源队列的资源信息;其中,所述资源信息包括:全部资源队列可使用的待分配资源、各资源队列中每个作业对应的优先级。
在上述方案中,所述根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列,包括:
分别将所述各资源队列中的一个资源队列中的每个作业对应的优先级与预设优先级进行比较;
当所述各资源队列的一个资源队列中存在至少一个作业的优先级大于预设优先级时,则判定所述一个资源队列为优先级态资源队列;
当所述各资源队列的一个资源队列中的全部作业的优先级均小于等于预设优先级时,则判定所述一个资源队列为非优先级态资源队列。
在上述方案中,所述根据公平调度策略对所述全部资源队列进行资源调度,包括:
获取所述各资源队列对应的第一预分配资源;
通过监测所述各资源队列对应的使用资源,获取所述各资源队列对应的第一使用资源;
根据所述第一预分配资源以及所述第一使用资源,确定所述各资源队列对应的第一资源使用率;
从所述各资源队列对应的第一资源使用率中确定小于预设阈值的第二资源使用率;
当所述第二资源使用率的持续时间超过预设时间时,将所述第二资源使用率对应的资源队列设置为抢占资源队列;
当所述待分配资源存在空闲资源时,将所述空闲资源分配给所述第一资源使用率中最小的资源使用率对应的资源队列;
当所述待分配资源不存在空闲资源时,将所述第一资源使用率中最高的资源使用率对应的资源队列的第一预设资源分配给所述抢占资源队列。
在上述方案中,所述根据公平调度策略对所述全部资源队列进行资源调度之后,对一个资源队列中的每个作业进行资源分配,包括:
获取所述一个资源队列中所述每个作业对应的第二预分配资源;
通过监测所述一个资源队列中所述每个作业对应的使用资源,获取所述一个资源队列中所述每个作业对应的第二使用资源;
根据所述第二预分配资源以及所述第二使用资源,确定所述一个资源队列中每个作业对应的第三资源使用率;
从所述一个资源队列对应的第三资源使用率中确定小于所述预设阈值的第四资源使用率;
当所述第四资源使用率的持续时间超过所述预设时间时,将所述第四资源使用率对应的作业设置为抢占作业;
当所述一个资源队列分配的资源中存在空闲资源时,将所述空闲资源分配给所述第三资源使用率中最小资源使用率对应的作业;
当所述一个资源队列分配的资源中不存在空闲资源时,将所述第三资源使用率中最高资源使用率对应的作业的第二预设资源分配给所述抢占作业。
在上述方案中,所述根据优先调度策略对所述全部资源队列进行资源调度,包括:
根据优先调度策略对所述全部资源队列中的至少一个优先级态资源队列进行资源调度;
根据公平调度策略对所述全部资源队列中的非优先级态资源队列进行资源调度。
在上述方案中,所述根据优先调度策略对所述全部资源队列中的至少一个优先级态资源队列进行资源调度,包括:
将一个优先级态资源队列中优先级大于预设优先级的作业,按照优先级由高至低依次划分至超级优先级作业列表;
依次获取所述超级优先级作业列表中每个作业对应的第三预分配资源;
通过监测所述超级优先级作业列表中每个作业对应的使用资源,依次获取所述每个作业对应的第三使用资源;
根据所述第三预分配资源以及所述第三使用资源,依次确定所述超级优先级作业列表中每个作业对应的第五资源使用率;
从超级优先级作业列表中每个作业对应的第五资源使用率中确定小于所述预设阈值的第六资源使用率;
当所述第六资源使用率的持续时间超过所述预设时间时,将所述第六资源使用率对应的作业设置为第一抢占作业;
当所述待分配资源存在空闲资源时,将所述空闲资源分配给所述第五资源使用率中最小资源使用率对应的作业;
当所述待分配资源不存在空闲资源时,设定第二抢占作业,并将所述第二抢占作业的第三预设资源分配给所述第一抢占作业。
在上述方案中,所述设定第二抢占作业,包括:
将所述各资源队列中优先级低于所述超级优先级作业列表中的抢占作业优先级的全部作业设划分至第二抢占作业列表;
将所述第二抢占作业列表中最高资源使用率对应的作业设定为所述第二抢占作业。
在上述方案中,所述根据优先调度策略对所述全部资源队列进行资源调度,所述方法还包括:
根据所述公平调度策略对其他非优先级态的资源队列进行资源调度。
本发明实施例还提出一种资源调度系统,包括:
判断单元,用于根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列;
第一调度单元,用于当全部资源队列均为非优先级态资源队列时,根据公平调度策略对所述全部资源队列进行资源调度;
第二调度单元,用于当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对所述全部资源队列进行资源调度。
在上述方案中,所述系统还包括:
获取单元,用于根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列之前,获取所述各资源队列的资源信息;其中,所述资源信息包括:全部资源队列可使用的待分配资源、各资源队列中每个作业对应的优先级。
在上述方案中,所述判断单元包括:
比较子单元,用于分别将所述各资源队列中的一个资源队列中的每个作业对应的优先级与预设优先级进行比较;
判定子单元,用于当所述各资源队列的一个资源队列中存在至少一个作业的优先级大于预设优先级时,则判定所述一个资源队列为优先级态资源队列;
所述判定子单元,还用于当所述各资源队列的一个资源队列中的全部作业的优先级均小于等于预设优先级时,则判定所述一个资源队列为非优先级态资源队列。
在上述方案中,所述第一调度单元包括:
第一获取子单元,用于获取所述各资源队列对应的第一预分配资源;
第二获取子单元,用于通过监测所述各资源队列对应的使用资源,获取所述各资源队列对应的第一使用资源;
第一确定子单元,用于根据所述第一预分配资源以及所述第一使用资源,确定所述各资源队列对应的第一资源使用率;
第二确定子单元,用于从所述各资源队列对应的第一资源使用率中确定小于预设阈值的第二资源使用率;
第一设置子单元,用于当所述第二资源使用率的持续时间超过预设时间时,将所述第二资源使用率对应的资源队列设置为抢占资源队列;
第一分配子单元,用于当所述待分配资源存在空闲资源时,将所述空闲资源分配给所述第一资源使用率中最小的资源使用率对应的资源队列;
第一抢占子单元,用于当所述待分配资源不存在空闲资源时,将所述第一资源使用率中最高的资源使用率对应的资源队列的第一预设资源分配给所述抢占资源队列。
在上述方案中,所述第一调度单元还用于:
所述第一获取子单元,还用于获取所述一个资源队列中所述每个作业对应的第二预分配资源;
所述第二获取子单元,还用于通过监测所述一个资源队列中所述每个作业对应的使用资源,获取所述一个资源队列中所述每个作业对应的第二使用资源;
所述第一确定子单元,还用于根据所述第二预分配资源以及所述第二使用资源,确定所述一个资源队列中每个作业对应的第三资源使用率;
所述第二确定子单元,还用于从所述一个资源队列对应的第三资源使用率中确定小于所述预设阈值的第四资源使用率;
所述第一设置子单元,还用于当所述第四资源使用率的持续时间超过所述预设时间时,将所述第四资源使用率对应的作业设置为抢占作业;
所述第一分配子单元,还用于当所述一个资源队列分配的资源中存在空闲资源时,将所述空闲资源分配给所述第三资源使用率中最小资源使用率对应的作业;
所述第一抢占子单元,还用于当所述一个资源队列分配的资源中不存在空闲资源时,将所述第三资源使用率中最高资源使用率对应的作业的第二预设资源分配给所述抢占作业。
在上述方案中,所述第二调度单元包括:
第一调度子单元,用于根据优先调度策略对所述全部资源队列中的至少一个优先级态资源队列进行资源调度;
第二调度子单元,用于根据公平调度策略对所述全部资源队列中的非优先级态资源队列进行资源调度。
在上述方案中,所述第一调度子单元包括:
第一划分子单元,用于将一个优先级态资源队列中优先级大于预设优先级的作业,按照优先级由高至低依次划分至超级优先级作业列表;
第三获取子单元,用于依次获取所述超级优先级作业列表中每个作业对应的第三预分配资源;
第四获取子单元,用于通过监测所述超级优先级作业列表中每个作业对应的使用资源,依次获取所述每个作业对应的第三使用资源;
第三确定子单元,用于根据所述第三预分配资源以及所述第三使用资源,依次确定所述超级优先级作业列表中每个作业对应的第五资源使用率;
第四确定子单元,用于从超级优先级作业列表中每个作业对应的第五资源中使用率确定小于所述预设阈值的第六资源使用率;
第二设置子单元,用于当所述第六资源使用率的持续时间超过所述预设时间时,将所述第六资源使用率对应的作业设置为第一抢占作业;
第二分配子单元,用于当所述待分配资源存在空闲资源时,将所述空闲资源分配给所述第五资源使用率中最小资源使用率对应的作业;
第二抢占子单元,用于当所述待分配资源不存在空闲资源时,设定第二抢占作业,并将所述第二抢占作业的第三预设资源分配给所述第一抢占作业。
在上述方案中,所述第二抢占子单元包括:
第二划分子单元,用于将所述各资源队列中优先级低于所述超级优先级作业列表中的抢占作业优先级的全部作业设划分至第二抢占作业列表;
设定子单元,将所述第二抢占作业列表中最高资源使用率对应的作业设定为所述第二抢占作业。
由此可见,本发明提供了一种资源调度方法及系统,根据当前资源队列中多个作业的优先级,判断当前资源队列是否为优先级态资源队列;当全部资源队列均为非优先级态资源队列时,根据公平调度策略对全部资源队列进行资源调度;当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对全部资源队列进行资源调度。也就是说,在本发明提出的技术方案中,根据不同的数据调度策略分别对优先级态资源队列与非优先级态资源队列进行资源调度,显然,和现有技术相比,本发明实施例提出的一种资源调度方法及系统,能够实现对于不同的资源队列,根据资源队列中的作业优先级动态调整数据调度策略进行资源分配的需求。
附图说明
图1为本发明实施例中资源调度方法的实现流程示意图;
图2为本发明实施例中判断一个资源队列是否为优先级态资源队列方法的实现流程示意图;
图3为本发明实施例中根据公平调度策略对全部资源队列进行资源调度方法的实现流程示意图;
图4为本发明实施例中根据公平调度策略对一个资源队列中的每个作业进行资源调度方法的实现流程示意图;
图5为本发明实施例中根据优先调度策略对全部资源队列进行资源调度方法的实现流程示意图;
图6为本发明实施例中根据优先调度策略对优先级态资源队列进行资源调度的实现流程示意图;
图7为本发明实施例中设定第二抢占作业方法的实现流程示意图;
图8为本发明实施例中资源调度系统的第一组成结构示意图;
图9为本发明实施例中资源调度系统的第二组成结构示意图;
图10为本发明实施例中资源调度系统的第三组成结构示意图;
图11为本发明实施例中资源调度系统的第四组成结构示意图;
图12为本发明实施例中资源调度系统的第五组成结构示意图;
图13为本发明实施例中资源调度系统的第六组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
图1为本发明实施例中资源调度方法的实现流程示意图,如图1所示,本发明实施例中的资源调度方法可以包括以下步骤:
步骤101、根据各资源队列中每个作业对应的优先级,判断各资源队列是否为优先级态资源队列。
在本发明的具体实施例中,进一步地,根据各资源队列中每个作业的优先级,判断各资源队列的当前状态是否为优先级态资源队列之前,需要通过加载资源信息获取各资源队列的资源信息。其中,资源信息不仅包括全部资源队列可使用的待分配资源、各资源队列中每个作业对应的优先级,还包括每个资源队列使用的资源种类及其数量,例如一个资源队列使用的内存、CPU、IO资源及对应的数量,同时还包括资源队列访问权限控制、优先级权限控制、资源队列能够支持层级结构等。
进一步地,在本发明的具体实施例中,在用户提交作业时,允许用户对作业设置一个作业优先级。其中,优先级是代表这个作业的重要程度以及获取运行结果的紧急程度的一个参数。作业优先级是一个范围,可以是在[0,100]之间的整数,数值越大代表其优先级越高,可以设定默认值优先级为0。
进一步地,在本发明的具体实施例中,管理员可以根据实际情况对每个资源队列中每个用户设置优先级权限。目的是为了有效控制用户对优先级的使用行为。在非优先级态下,用户优先级只能影响作业在资源队列内部分配资源的情况,而不会影响到其他资源队列。而在优先级态下,设置超级优先级则会影响到其他资源队列的资源分配。
进一步地,在本发明的具体实施例中,管理员可以设置每个租户的优先级权限范围,即该租户允许设置优先级的上限,租户为其资源队列内每个用户设置优先级权限范围。用户的优先级权限范围不得超出租户的优先级权限范围。用户提交作业设置或者修改优先级时,根据配置情况对用户优先级权限进行校验,如若失败则拒绝作业提交。
步骤102、当全部资源队列均为非优先级态资源队列时,根据公平调度策略对全部资源队列进行资源调度。
在本发明的具体实施例中,为了确保对非优先级态资源队列进行资源分配时的公平性,可以根据公平调度策略对均为非优先级态资源队列的全部资源队列进行资源调度。
步骤103、当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对全部资源队列进行资源调度。
在本发明的具体实施例中,为了确保对优先级态资源队列进行资源分配时的优先性,可以根据优先调度策略对存在至少一个优先级态资源队列的全部资源队列进行资源调度。
图2为本发明实施例中判断一个资源队列是否为优先级态资源队列方法的实现流程示意图,如图2所示,本发明实施例中判断一个资源队列是否为优先级态资源队列的方法可以包括以下几个步骤:
步骤101a、分别将各资源队列中的一个资源队列中的每个作业对应的优先级与预设优先级进行比较。
在本发明的具体实施例中,预先设置优先级并将一个资源队列中的每个作业的优先级分别与该预先设置的优先级进行比较,从而根据上述比较结果判断该资源队列是否为优先级队列。其中,预设优先级是由管理员根据总资源及各个作业的资源请求情况确定的一个优先级阈值。
步骤101b、当各资源队列的一个资源队列中存在至少一个作业的优先级大于预设优先级时,则判定该资源队列为优先级态资源队列。
在本发明的具体实施例中,将该资源队列中的每个作业的优先级分别与该预先设置的优先级进行比较之后,如果该资源队列中有至少一个作业的优先级大于预设优先级时,可以判定该资源队列为优先级态资源队列。
步骤101c、当各资源队列的一个资源队列中的全部作业的优先级均小于等于预设优先级时,则判定该资源队列为非优先级态资源队列。
在本发明的具体实施例中,将该资源队列中的每个作业的优先级分别与该预先设置的优先级进行比较之后,如果该资源队列中全部作业的优先级均小于等于预设优先级时,可以判定该资源队列为非优先级态资源队列。图3为本发明实施例中根据公平调度策略对全部资源队列进行资源调度方法的实现流程示意图,如图3所示,本发明实施例中根据公平调度策略对全部资源队列进行资源调度的方法可以包括以下几个步骤:
步骤102a、获取各资源队列对应的第一预分配资源。
在本发明的具体实施例中,可以根据总资源情况、各个资源队列资源配置情况以及资源队列中作业对资源请求情况,获取各个队列对应的第一预分配资源,其中,该第一预分配资源是一个理论值,目的是为了尽可能保证各个队列按照自身的资源份额,公平的获取到资源。
进一步地,在本发明的具体实施例中,可以根据加载各个资源队列信息时的总资源情况、各个资源队列资源配置情况以及资源队列中作业对资源请求情况,计算各个资源队列对应的第一预分配资源,然后按照第一预分配资源给各个资源队列分配资源。
步骤102b、通过监测各资源队列对应的使用资源,获取各资源队列对应的第一使用资源。
在本发明的具体实施例中,在对各个资源队列按照对应的第一预设分配资源进行资源分配后,可以实时监测各个资源队列对应的使用资源,从而获得各个资源队列对应的第一使用资源。
步骤102c、根据第一预分配资源以及第一使用资源,确定各资源队列对应的第一资源使用率。
在本发明的具体实施例中,第一资源使用率是使用资源与预分配资源的比值。例如,一个资源队列的资源使用率即为该资源队列对应的第一使用资源与第一预分配资源的比值。
进一步地,在本发明的具体实施例中,根据第一资源使用率的定义计算获得各个资源队列对应的第一资源使用率后,可以将各个资源队列按照资源队列对应的第一资源使用率由高到低的顺序进行排序。
步骤102d、从各资源队列对应的第一资源使用率中确定小于预设阈值的第二资源使用率。
在本发明的具体实施例中,当有资源队列对应的第一使用资源与对应的第一预分配资源的比值,即该资源队列的第一资源使用率小于预设阈值,则确定该资源队列的资源使用率为第二资源使用率。
步骤102e、当第二资源使用率的持续时间超过预设时间时,将第二资源使用率对应的资源队列设置为抢占资源队列。
在本发明的具体实施例中,当有资源队列对应的第二资源使用率,在超过预设时间的持续时间中均小于预设阈值,则可以认为该资源队列处于饥饿状态,同时会触发抢占机制,即认为该资源队列为抢占资源队列。
步骤102f、当待分配资源存在空闲资源时,将空闲资源分配给第一资源使用率中最小的资源使用率对应的资源队列。
在本发明的具体实施例中,当待分配资源存在空闲资源时,可以根据各个资源队列对应的第一资源使用率,将该空闲资源分配给第一资源使用率中最小的资源使用率对应的资源队列。这是由于第一资源使用率越低,表示对应的资源队列的资源缺口越大,从而进一步保证了各个资源队列获取资源的公平性。
步骤102g、当待分配资源不存在空闲资源时,将第一资源使用率中最高的资源使用率对应的资源队列的第一预设资源分配给抢占资源队列。
在本发明的具体实施例中,当待分配资源不存在空闲资源且抢占机制被触发时,抢占机制会选择第一资源使用率中最高的资源使用率对应的资源队列,抢占该最高的资源使用率对应的资源队列的第一预设资源分配给抢占资源队列。即将各资源队列中最高的资源使用率对应的资源队列的第一预设资源分配给各资源队列中的抢占资源队列。其中,第一预设资源可以是按照预先设置的分配比例将各资源队列中最高的资源使用率对应的资源队列的部分资源分配给各资源队列中的抢占资源队列。
图4为本发明实施例中根据公平调度策略对一个资源队列中的每个作业进行资源调度方法的实现流程示意图,如图4所示,本发明实施例中根据公平调度策略对一个资源队列中的每个作业进行资源分配的方法主要包括以下几个步骤:
步骤102h、获取一个资源队列中每个作业对应的第二预分配资源。
在本发明的具体实施例中,当各个资源队列获取到资源后,根据各个资源队列中的多个作业的优先级获取各个资源队列中多个作业对应的第二预分配资源。其中,优先级越高的作业,获取的第二预分配资源就会越多;当存在优先级相同的多个作业时,可以根据公平策略、或者先入先出策略获取对应的第二预分配资源。
进一步地,在本发明的具体实施例中,可以根据各个资源队列分配获得的资源以及各个资源队列中的多个作业的优先级计算多个作业对应的第二预分配资源,然后按照第二预分配资源给各个资源队列中的多个作业分配资源。
进一步地,在本发明的具体实施例中,在资源队列内计算多个作业对应的第二预分配资源时,优先级的数值代表作业对应的第二预分配资源的权值,其中,优先级为0时,权值可以设置为1。例如,资源队列内作业i的第二预分配资源Ri可以通过一下公式获得,
Ri=Rq×Pi/ΣP
其中Rq为该资源队列的总资源,Pi为作业i的优先级。
步骤102i、通过监测该资源队列中每个作业对应的使用资源获取该资源队列中多个作业对应的第二使用资源。
在本发明的具体实施例中,在对该资源队列中的每个作业按照对应的第二预设分配资源进行资源分配后,可以实时监测该资源队列中的多个作业对应的使用资源,从而获得该资源队列中的每个作业对应的第二使用资源。
步骤102j、根据第二预分配资源以及第二使用资源,确定该资源队列中每个作业对应的第三资源使用率。
在本发明的具体实施例中,第三资源使用率是使用资源与预分配资源的比值。例如,一个作业的第三资源使用率即为该作业对应的第二使用资源与第二预分配资源的比值。
进一步地,在本发明的具体实施例中,根据第三资源使用率的定义计算获得每个作业对应的第三资源使用率后,可以将每个作业按照每个作业对应的第三资源使用率由高到低的顺序进行排序。
步骤102k、从该资源队列对应的第三资源使用率中确定小于预设阈值的第四资源使用率。
在本发明的具体实施例中,当有作业对应的第二使用资源与对应的第二预分配资源的比值,即该作业的第三资源使用率小于预设阈值,则确定该作业的资源使用率为第四资源使用率。
步骤102l、当第四资源使用率的持续时间超过预设时间时,将第四资源使用率对应的作业设置为抢占作业。
在本发明的具体实施例中,当有作业对应的第四资源使用率,在超过预设时间的持续时间中均小于预设阈值,则可以认为该作业处于饥饿状态,同时会触发抢占机制,即认为该作业为抢占作业。
步骤102m、当该资源队列分配的资源中存在空闲资源时,将空闲资源分配给第三资源使用率中最小资源使用率对应的作业。
在本发明的具体实施例中,当该资源队列分配的资源中存在空闲资源时,可以根据各个作业对应的第三资源使用率,将该空闲资源分配给第三资源使用率中最小的资源使用率对应的作业。这是由于第三资源使用率越低,表示对应的作业的资源缺口越大,从而进一步保证了各个作业获取资源的公平性。
步骤102n、当该资源队列分配的资源中不存在空闲资源时,将第三资源使用率中最高资源使用率对应的作业的第二预设资源分配给抢占作业。
在本发明的具体实施例中,当该资源队列分配的资源中不存在空闲资源且抢占机制被触发时,抢占机制会选择第三资源使用率中最高资源使用率对应的作业,抢占该最高资源使用率对应的作业的第二预设资源分配给抢占作业。即将该资源队列中最高资源使用率对应的作业的第二预设资源分配给该资源队列中的抢占作业。其中,第二预设资源可以是按照预先设置的分配比例将该资源队列中最高资源使用率对应的作业的部分资源分配给该资源队列中的抢占作业。
图5为本发明实施例中根据优先调度策略对全部资源队列进行资源调度方法的实现流程示意图,如图5所示,本发明实施例中根据优先调度策略对全部资源队列进行资源调度的方法可以包括以下几个步骤:
步骤103a、根据优先调度策略对全部资源队列中的至少一个优先级态资源队列进行资源调度。
步骤103b、根据公平调度策略对所述全部资源队列中的非优先级态资源队列进行资源调度。
图6为本发明实施例中根据优先调度策略对优先级态资源队列进行资源调度的实现流程示意图,如图6所示,本发明实施例中根据优先调度策略对全部资源队列中的至少一个优先级态资源队列进行资源调度可以包括以下几个步骤:
步骤103a-1、将一个优先级态资源队列中优先级大于预设优先级的作业,按照优先级由高至低依次划分至超级优先级作业列表。
在本发明的具体实施例中,对于优先级态资源队列,可以统计该优先级态资源队列中优先级超过预设优先级的作业,并将上述优先级超过预设优先级的作业确定为超级优先作业,然后将所有超级优先级作业划分至超级优先级作业列表中。其中,可以按照优先级从高到低顺序的顺序将上述超级优先级作业划分至超级优先级作业列表。
步骤103a-2、依次获取超级优先级作业列表中每个作业对应的第三预分配资源。
在本发明的具体实施例中,可以根据总资源,已预分配资源,作业优先级以及作业需求资源依次计算超级优先级作业列表中至少一个作业对应的第三预分配资源,然后根据第三预分配资源对超级优先级作业列表中至少一个作业进行资源分配。其中,可以通过优先级态资源队列中超级优先级作业列表中至少一个作业的优先级从高到低的顺序进行资源的分配,即优先级越高的作业先获取第三预设分配资源,从而满足对优先级较高的作业分配预设资源时的优先性。
进一步地,在本发明的具体实施例中,在计算超级优先级作业列表中至少一个作业对应的第三预分配资源的过程中,作业优先级数值决定了该作业允许获取的预分配资源的上限,即该作业对应的第三预分配资源。例如,作业i对应的第三预分配资源Ri可以通过以下公式获得,
Ri=Min(Max((Rt-Ra)×Pi%,Rq),Rn)
其中,Rt为总资源,Ra为总资源中的已预分配资源,Pi为作业i的优先级,Rq为作业i所在队列的预分配资源,Rn为作业i需求资源。
进一步地,在本发明的具体实施例中,使用优先调度策略对资源进行分配时,超级优先级作业列表中的多个作业对应的第三预设分配资源不再受到资源队列的资源的约束,并允许超级优先级作业列表中的多个作业从总资源中按照比例获取资源。
进一步地,在本发明的具体实施例中,对超级优先级作业列表中的作业进行资源分配时,按照每个作业对应的优先级由高至低的顺序,对优先级最高的作业分配预分配资源之后,利用剩余的待分配资源为下一个作业分配预分配资源,直到超级优先级作业列表中所有作业都被分配完对应的预分配资源,或者待分配资源被分配完为止。
步骤103a-3、通过监测超级优先级作业列表中每个作业对应的使用资源依次获取每个作业对应的第三使用资源。
在本发明的具体实施例中,在对超级优先级作业列表中至少一个作业按照对应的第三预设分配资源进行资源分配后,可以实时监测超级优先级作业列表中至少一个作业对应的使用资源,从而获得超级优先级作业列表中至少一个作业对应的第三使用资源。
步骤103a-4、根据第三预分配资源以及第三使用资源,依次确定超级优先级作业列表中每个作业对应的第五资源使用率。
在本发明的具体实施例中,第五资源使用率是使用资源与预分配资源的比值。例如,一个作业的第五资源使用率即为该作业对应的第三使用资源与第三预分配资源的比值。
进一步地,在本发明的具体实施例中,根据第五资源使用率的定义计算获得每个作业对应的第五资源使用率后,可以将每个作业按照每个作业对应的第五资源使用率由高到低的顺序进行排序。
步骤103a-5、从超级优先级作业列表中每个作业对应的第五资源使用率中确定小于预设阈值的第六资源使用率。
在本发明的具体实施例中,当有作业对应的第三使用资源与对应的第三预分配资源的比值,即该作业的第五资源使用率小于预设阈值,则确定该作业的资源使用率为第六资源使用率。
步骤103a-6、当第六资源使用率的持续时间超过预设时间时,将第六资源使用率对应的作业设置为抢占作业。
在本发明的具体实施例中,当有作业对应的第六资源使用率,在超过预设时间的持续时间中均小于预设阈值,则可以认为该作业处于饥饿状态,同时会触发抢占机制,即认为该作业为第一抢占作业。
步骤103a-7、当待分配资源存在空闲资源时,将空闲资源分配给第五资源使用率中最小资源使用率对应的作业。
在本发明的具体实施例中,当待分配资源存在空闲资源时,可以根据该超级优先级作业列表中每个作业对应的第五资源使用率,将该空闲资源分配给第五资源使用率中最小资源使用率对应的作业。这是由于第五资源使用率越低,表示对应的作业的资源缺口越大,从而进一步保证了每个作业取资源的公平性。
步骤103a-8、当待分配资源不存在空闲资源时,设定第二抢占作业,并将第二抢占作业的第三预设资源分配给第一抢占作业。
在本发明的具体实施例中,当待分配资源不存在空闲资源且抢占机制被触发时,抢占机制会根据全部资源队列中的每个作业对应的资源使用率以及对应的优先级设定第二抢占作业,然后抢占该第二抢占作业的第三预设资源分配给第一抢占作业。其中,第三预设资源可以是按照预设的分配比例抢占该第二抢占作业的第三部分资源分配给第一抢占作业。
进一步地,在本发明的具体实施例中,根据第二分配策略对超级优先级作业列表中的作业进行资源分配时,上述第一抢占作业可以抢占全部资源列表中的第二抢占作业的部分资源,也就是说,在非优先级态下,用户优先级只能影响作业在资源队列内部分配资源的情况,而不会影响到其他资源队列。而在优先级态下,设置超级优先级则会影响到其他资源队列的资源分配。从而进一步保证了超级优先级作业列表中的作业获取资源的优先性。
进一步地,在本发明的具体实施例中,当超级优先级作业列表中的多个作业都已经运行完成,且并且没有新的超级优先级作业提交时,该资源队列从优先级态资源队列切换为非优先级态资源队列。
步骤103a-9、根据公平调度策略对其他非优先级态的资源队列进行资源调度。
在本发明的具体实施例中,在对优先级态资源队列进行资源分配的同时,可以根据上述公平调度策略对其他非优先级态的资源队列进行资源调度。
进一步地,在本发明的具体实施例中,根据第二分配策略对各资源队列进行资源调度时,可以先对上述超级优先级作业列表中的作业分配对应的预分配资源,再对其他非优先级态的资源队列分配对应的预分配资源,然后根据超级优先级作业列表中的每个作业对应的资源使用率对超级优先级作业列表中的每个作业进行资源的再分配或者资源的抢占操作,最后再根据其他非优先级态的资源队列对应的资源使用率对其他非优先级态的资源队列进行资源的再分配或者资源的抢占操作。
图7为本发明实施例中设定第二抢占作业方法的实现流程示意图,如图7所示,本发明实施例设定第二抢占作业的方法可以通过以下步骤完成:
步骤201、将各资源队列中优先级低于超级优先级作业列表中的抢占作业优先级的全部作业划分至第二抢占作业列表。
在本发明的具体实施例中,当待分配资源不存在空闲资源且抢占机制被触发时,抢占机制会根据全部资源队列中的每个作业的优先级,将优先级低于上述抢占作业优先级的对应的全部作业划分到第二抢占作业列表中。
步骤202、将第二抢占作业列表中最高资源使用率对应的作业设定为第二抢占作业。
在本发明的具体实施例中,抢占机制建立第二抢占作业列表之后,根据第二抢占作业列表中的每个作业的资源使用率,将最高资源使用率对应的作业设定为第二抢占作业,然后抢占该第二抢占作业的部分资源分配给上述抢占作业。
进一步地,在本发明的具体实施例中,根据优先调度策略对优先级态资源队列进行资源分配时,第二抢占作业只能向优先级比该第二抢占作业优先级高的超级优先级作业列表中的作业分配部分资源,即优先级较高的作业可以抢占比其优先级低的作业的部分资源,而不能抢占比其优先级高的作业的部分资源。
在本发明的具体实施例中,进一步地,可以持续通过上述公平调度策略以及优先调度策略对所有资源队列进行资源分配,直到所有资源队列中的多个作业均运行完成为止。
在本发明的具体实施例中,进一步地,对于非优先级态的资源队列以及优先级态的资源队列,资源调度的逻辑是不同的。非优先级态的资源队列基于公平调度策略进行资源调度,从而保证公平调度的原则;优先级态的资源队列基于优先调度策略进行资源调度,从而在保证公平调度原则的基础上,更体现了优先的原则。需要说明的是,在实际运行过程中,资源队列通常情况下都是处于非优先级态,即在大部分情况下,都能够保证多租户资源的公平调度。
本发明提供的一种资源调度方法,根据各资源队列中每个作业对应的优先级,判断各资源队列是否为优先级态资源队列;当全部资源队列均为非优先级态资源队列时,根据公平调度策略对全部资源队列进行资源调度;当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对全部资源队列进行资源调度。也就是说,在本发明提出的技术方案中,根据不同的数据调度策略分别对优先级态资源队列与非优先级态资源队列进行资源调度,显然,和现有技术相比,本发明实施例提出的一种资源调度方法,能够实现对于不同的资源队列,根据资源队列中的作业优先级动态调整数据调度策略进行资源分配的需求。并且,实现起来简单方便,便于普及,适用范围更广。
实施例二
基于上述实施例一,图8为本发明实施例中资源调度系统的第一组成结构示意图,如图8所示,资源调度系统包括:判断单元101、第一调度单元102以及第二调度单元103;其中,
判断单元101,用于根据各资源队列中每个作业对应的优先级,判断各资源队列是否为优先级态资源队列。
第一调度单元102,用于当全部资源队列均为非优先级态资源队列时,根据公平调度策略对全部资源队列进行资源调度。
在本发明的具体实施例中,为了确保对非优先级态资源队列进行资源分配时的公平性,第一调度单元102可以根据公平调度策略对均为非优先级态资源队列的全部资源队列进行资源调度。
第二调度单元103,用于当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对全部资源队列进行资源调度。
在本发明的具体实施例中,为了确保对优先级态资源队列进行资源分配时的优先性,第二调度单元103可以根据优先调度策略对存在至少一个优先级态资源队列的全部资源队列进行资源调度。
进一步地,在本发明的具体实施例中,第二调度单元103还用于根据公平调度策略对其他非优先级态的资源队列进行资源调度。
在本发明的具体实施例中,进一步地,可以持续通过上述公平调度策略以及优先调度策略对所有资源队列进行资源分配,直到所有资源队列中的多个作业均运行完成为止。
如图8所示,在本发明的具体实施例中,资源调度系统还包括:获取单元104。
获取单元104,用于在根据各资源队列中每个作业对应的优先级,判断各资源队列是否为优先级态资源队列之前,需要通过加载资源信息获取各资源队列的资源信息。其中,资源信息不仅包括全部资源队列可使用的待分配资源、各资源队列中每个作业对应的优先级,还包括每个资源队列使用的资源种类及其数量,例如一个资源队列使用的内存、CPU、IO资源及对应的数量,同时还包括资源队列访问权限控制、优先级权限控制、资源队列能够支持层级结构等。
图9为本发明实施例中资源调度系统的第二组成结构示意图,如图9所示,判断单元101包括:比较子单元1011以及判定子单元1012,其中,
比较子单元1011,用于分别将各资源队列中的一个资源队列中的每个作业对应的优先级与预设优先级进行比较。
判定子单元1012,用于当各资源队列中的一个资源队列中存在至少一个作业的优先级大于预设优先级时,则判定该资源队列为优先级态资源队列。
判定子单元1012,还用于当各资源队列中的一个资源队列中的全部作业的优先级均小于等于预设优先级时,则判定该资源队列为非优先级态资源队列。
图10为本发明实施例中资源调度系统的第三组成结构示意图,如图10所示,第一调度单元102包括:第一获取子单元1021、第二获取子单元1022、第一确定子单元1023、第二确定子单元1024、第一设置子单元1025、第一分配子单元1026以及第一抢占子单元1027,其中,
第一获取子单元1021,用于获取各资源队列对应的第一预分配资源。
在本发明的具体实施例中,第一获取子单元1021可以根据总资源情况、各个资源队列资源配置情况以及资源队列中作业对资源请求情况,获取各个队列对应的第一预分配资源,其中,该第一预分配资源是一个理论值,目的是为了尽可能保证各个队列按照自身的资源份额,公平的获取到资源。
第二获取子单元1022,用于通过监测各资源队列对应的使用资源,获取各资源队列对应的第一使用资源。
在本发明的具体实施例中,在对各个资源队列按照对应的第一预设分配资源进行资源分配后,第二获取子单元1022可以实时监测各个资源队列对应的使用资源,从而获得各个资源队列对应的第一使用资源。
第一确定子单元1023,用于根据第一预分配资源以及第一使用资源,确定各资源队列对应的第一资源使用率。
在本发明的具体实施例中,第一资源使用率是使用资源与预分配资源的比值。例如,一个资源队列的资源使用率即为该资源队列对应的第一使用资源与第一预分配资源的比值。
进一步地,在本发明的具体实施例中,第一确定子单元1023根据第一资源使用率的定义计算获得各个资源队列对应的第一资源使用率后,可以将各个资源队列按照资源队列对应的第一资源使用率由高到低的顺序进行排序。
第二确定子单元1024,用于从各资源队列对应的第一资源使用率中确定小于预设阈值的第二资源使用率。
在本发明的具体实施例中,当有资源队列对应的第一使用资源与对应的第一预分配资源的比值,即该资源队列的第一资源使用率小于预设阈值,第二确定子单元1024则确定该资源队列的资源使用率为第二资源使用率。
第一设置子单元1025,用于当第二资源使用率的持续时间超过预设时间时,将第二资源使用率对应的资源队列设置为抢占资源队列。
在本发明的具体实施例中,当有资源队列对应的第二资源使用率,在超过预设时间的持续时间中均小于预设阈值,第一设置子单元1025则可以认为该资源队列处于饥饿状态,同时会触发抢占机制,即认为该资源队列为抢占资源队列。
第一分配子单元1026,用于当待分配资源存在空闲资源时,将空闲资源分配给第一资源使用率中最小的资源使用率对应的资源队列。
在本发明的具体实施例中,当待分配资源存在空闲资源时,第一分配子单元1026可以根据各个资源队列对应的第一资源使用率,将该空闲资源分配给第一资源使用率中最小的资源使用率对应的资源队列。这是由于第一资源使用率越低,表示对应的资源队列的资源缺口越大,从而进一步保证了各个资源队列获取资源的公平性。
第一抢占子单元1027,用于当待分配资源不存在空闲资源时,将第一资源使用率中最高的资源使用率对应的资源队列的第一预设资源分配给抢占资源队列。
在本发明的具体实施例中,当待分配资源不存在空闲资源且抢占机制被触发时,第一抢占子单元1027会选择第一资源使用率中最高的资源使用率对应的资源队列,抢占该最高的资源使用率对应的资源队列的第一预设资源分配给抢占资源队列。即将各资源队列中最高的资源使用率对应的资源队列的第一预设资源分配给各资源队列中的抢占资源队列。
在本发明的具体实施例中,进一步地,
第一获取子单元1021,还用于获取一个资源队列中每个作业对应的第二预分配资源。
第二获取子单元1022,还用于通过监测该资源队列中每个作业对应的使用资源获取该资源队列中多个作业对应的第二使用资源。
第一确定子单元1023,还用于根据第二预分配资源以及第二使用资源,确定该资源队列中每个作业对应的第三资源使用率。
第二确定子单元1024,还用于从一个资源队列对应的第三资源使用率中确定小于预设阈值的第四资源使用率。
第一设置子单元1025,还用于当第四资源使用率的持续时间超过预设时间时,将第四资源使用率对应的作业设置为抢占作业。
第一分配子单元1026,还用于当该资源队列分配的资源中存在空闲资源时,将空闲资源分配给第三资源使用率中最小资源使用率对应的作业。
第一抢占子单元1027,还用于当该资源队列分配的资源中不存在空闲资源时,将第三资源使用率中最高资源使用率对应的作业的第二预设资源分配给抢占作业。
图11为本发明实施例中资源调度系统的第四组成结构示意图,如图11所示,第二调度单元103包括:第一调度子单元1031和第二调度子单元1032,其中,
第一调度子单元1031,用于根据优先调度策略对全部资源队列中的至少一个优先级态资源队列进行资源调度。
第二调度子单元1032,用于根据公平调度策略对全部资源队列中的非优先级态资源队列进行资源调度。
图12为本发明实施例中资源调度系统的第五组成结构示意图,如图12所示,第一调度子单元1031包括:第一划分子单元10311、第三获取子单元10312、第四获取子单元10313、第三确定子单元10314、第四确定子单元10315、第二设置子单元10316、第二分配子单元10317以及第二抢占子单元10318,其中,
第一划分子单元10311,用于将一个优先级态资源队列中优先级大于预设优先级的作业,按照优先级由高至低依次划分至超级优先级作业列表。
第三获取子单元10312,用于依次获取超级优先级作业列表中每个作业对应的第三预分配资源。
第四获取子单元10313,用于通过监测超级优先级作业列表中每个作业对应的使用资源依次获取每个作业对应的第三使用资源。
第三确定子单元10314,用于根据第三预分配资源以及第三使用资源,依次确定超级优先级作业列表中每个作业对应的第五资源使用率。
第四确定子单元10315,用于从超级优先级作业列表中每个作业对应的第五资源使用率中确定小于预设阈值的第六资源使用率。
第二设置子单元10316,用于当第六资源使用率的持续时间超过预设时间时,将第六资源使用率对应的作业设置为第一抢占作业。
第二分配子单元10317,用于当待分配资源存在空闲资源时,将空闲资源分配给第五资源使用率中最小资源使用率对应的作业。
第二抢占子单元10318,用于当待分配资源不存在空闲资源时,设定第二抢占作业,并将第二抢占作业的第三预设资源分配给第一抢占作业。
在本发明的具体实施例中,当待分配资源不存在空闲资源且抢占机制被触发时,第二抢占子单元10318会根据全部资源队列中的每个作业对应的资源使用率以及对应的优先级设定第二抢占作业,然后抢占该第二抢占作业的第三预设资源分配给第一抢占作业。
进一步地,在本发明的具体实施例中,根据第二分配策略对超级优先级作业列表中的作业进行资源分配时,上述抢占作业可以抢占全部资源列表中的第二抢占作业的部分资源,也就是说,在非优先级态下,用户优先级只能影响作业在资源队列内部分配资源的情况,而不会影响到其他资源队列。而在优先级态下,设置超级优先级则会影响到其他资源队列的资源分配。从而进一步保证了超级优先级作业列表中的作业获取资源的优先性。
图13为本发明实施例中资源调度系统的第六组成结构示意图,如图13所示,第二抢占子单元10318包括:第二划分子单元103181以及设定子单元103182。
第二划分子单元103181,用于将各资源队列中优先级低于超级优先级作业列表中的抢占作业优先级的全部作业划分至第二抢占作业列表。
设定子单元103182,将第二抢占作业列表中最高资源使用率对应的作业设定为第二抢占作业。
本发明提供的一种资源调度系统,根据各资源队列中每个作业对应的优先级,判断各资源队列是否为优先级态资源队列;当全部资源队列均为非优先级态资源队列时,根据公平调度策略对全部资源队列进行资源调度;当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对全部资源队列进行资源调度。也就是说,在本发明提出的系统中,根据不同的数据调度策略分别对优先级态资源队列与非优先级态资源队列进行资源调度,显然,和现有技术相比,本发明实施例提出的一种资源调度系统,能够实现对于不同的资源队列,根据资源队列中作业优先级动态调整数据调度策略进行资源分配的需求。并且,实现起来简单方便,便于普及,适用范围更广。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1.一种资源调度方法,其特征在于,所述方法包括:
根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列;
当全部资源队列均为非优先级态资源队列时,根据公平调度策略对所述全部资源队列进行资源调度;
当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对所述全部资源队列进行资源调度;所述优先调度策略用于根据所述至少一个优先级态资源队列中优先级大于预设优先级的每个作业的资源使用率,进行资源调度;
所述根据公平调度策略对所述全部资源队列进行资源调度,包括:
获取所述各资源队列对应的第一预分配资源;
通过监测所述各资源队列对应的使用资源,获取所述各资源队列对应的第一使用资源;
根据所述第一预分配资源以及所述第一使用资源,确定所述各资源队列对应的第一资源使用率;
从所述各资源队列对应的第一资源使用率中确定小于预设阈值的第二资源使用率;
当所述第二资源使用率的持续时间超过预设时间时,将所述第二资源使用率对应的资源队列设置为抢占资源队列;
当全部资源队列可使用的待分配资源存在空闲资源时,将所述空闲资源分配给所述第一资源使用率中最小的资源使用率对应的资源队列;
当所述待分配资源不存在空闲资源时,将所述第一资源使用率中最高的资源使用率对应的资源队列的第一预设资源分配给所述抢占资源队列。
2.根据权利要求1所述的方法,其特征在于,所述根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列,包括:
分别将所述各资源队列中的一个资源队列中的每个作业对应的优先级与预设优先级进行比较;
当所述各资源队列的一个资源队列中存在至少一个作业的优先级大于预设优先级时,则判定所述一个资源队列为优先级态资源队列;
当所述各资源队列的一个资源队列中的全部作业的优先级均小于等于预设优先级时,则判定所述一个资源队列为非优先级态资源队列。
3.根据权利要求1所述的方法,其特征在于,所述根据公平调度策略对所述全部资源队列进行资源调度之后,对一个资源队列中的每个作业进行资源分配,包括:
获取所述一个资源队列中所述每个作业对应的第二预分配资源;
通过监测所述一个资源队列中所述每个作业对应的使用资源,获取所述一个资源队列中所述每个作业对应的第二使用资源;
根据所述第二预分配资源以及所述第二使用资源,确定所述一个资源队列中每个作业对应的第三资源使用率;
从所述一个资源队列对应的第三资源使用率中确定小于所述预设阈值的第四资源使用率;
当所述第四资源使用率的持续时间超过所述预设时间时,将所述第四资源使用率对应的作业设置为抢占作业;
当所述一个资源队列分配的资源中存在空闲资源时,将所述空闲资源分配给所述第三资源使用率中最小资源使用率对应的作业;
当所述一个资源队列分配的资源中不存在空闲资源时,将所述第三资源使用率中最高资源使用率对应的作业的第二预设资源分配给所述抢占作业。
4.根据权利要求1所述的方法,其特征在于,所述根据优先调度策略对所述全部资源队列进行资源调度,包括:
根据优先调度策略对所述全部资源队列中的至少一个优先级态资源队列进行资源调度;
根据公平调度策略对所述全部资源队列中的非优先级态资源队列进行资源调度。
5.根据权利要求4所述的方法,其特征在于,所述根据优先调度策略对所述全部资源队列中的至少一个优先级态资源队列进行资源调度,包括:
将一个优先级态资源队列中优先级大于所述预设优先级的作业,按照优先级由高至低依次划分至超级优先级作业列表;
依次获取所述超级优先级作业列表中每个作业对应的第三预分配资源;
通过监测所述超级优先级作业列表中每个作业对应的使用资源,依次获取所述每个作业对应的第三使用资源;
根据所述第三预分配资源以及所述第三使用资源,依次确定所述超级优先级作业列表中每个作业对应的第五资源使用率;
从超级优先级作业列表中每个作业对应的第五资源使用率中确定小于所述预设阈值的第六资源使用率;
当所述第六资源使用率的持续时间超过所述预设时间时,将所述第六资源使用率对应的作业设置为第一抢占作业;
当所述待分配资源存在空闲资源时,将所述空闲资源分配给所述第五资源使用率中最小资源使用率对应的作业;
当所述待分配资源不存在空闲资源时,设定第二抢占作业,并将所述第二抢占作业的第三预设资源分配给所述第一抢占作业。
6.根据权利要求5所述的方法,其特征在于,所述设定第二抢占作业,包括:
将所述各资源队列中优先级低于所述超级优先级作业列表中的抢占作业优先级的全部作业划分至第二抢占作业列表;
将所述第二抢占作业列表中最高资源使用率对应的作业设定为所述第二抢占作业。
7.一种资源调度系统,其特征在于,所述系统包括:
判断单元,用于根据各资源队列中每个作业对应的优先级,判断所述各资源队列是否为优先级态资源队列;
第一调度单元,用于当全部资源队列均为非优先级态资源队列时,根据公平调度策略对所述全部资源队列进行资源调度;
第二调度单元,用于当全部资源队列中存在至少一个优先级态资源队列时,根据优先调度策略对所述全部资源队列进行资源调度;所述优先调度策略用于根据所述至少一个优先级态资源队列中优先级大于预设优先级的每个作业的资源使用率进行资源调度;
所述第一调度单元包括:
第一获取子单元,用于获取所述各资源队列对应的第一预分配资源;
第二获取子单元,用于通过监测所述各资源队列对应的使用资源,获取所述各资源队列对应的第一使用资源;
第一确定子单元,用于根据所述第一预分配资源以及所述第一使用资源,确定所述各资源队列对应的第一资源使用率;
第二确定子单元,用于从所述各资源队列对应的第一资源使用率中确定小于预设阈值的第二资源使用率;
第一设置子单元,用于当所述第二资源使用率的持续时间超过预设时间时,将所述第二资源使用率对应的资源队列设置为抢占资源队列;
第一分配子单元,用于当全部资源队列可使用的待分配资源存在空闲资源时,将所述空闲资源分配给所述第一资源使用率中最小的资源使用率对应的资源队列;
第一抢占子单元,用于当所述待分配资源不存在空闲资源时,将所述第一资源使用率中最高的资源使用率对应的资源队列的第一预设资源分配给所述抢占资源队列。
8.根据权利要求7所述的系统,其特征在于,所述判断单元包括:
比较子单元,用于分别将所述各资源队列中的一个资源队列中的每个作业对应的优先级与预设优先级进行比较;
判定子单元,用于当所述各资源队列的一个资源队列中存在至少一个作业的优先级大于预设优先级时,则判定所述一个资源队列为优先级态资源队列;
所述判定子单元,还用于当所述各资源队列的一个资源队列中的全部作业的优先级均小于等于预设优先级时,则判定所述一个资源队列为非优先级态资源队列。
9.根据权利要求7所述的系统,其特征在于,所述第一调度单元还用于:
所述第一获取子单元,还用于获取一个资源队列中所述每个作业对应的第二预分配资源;
所述第二获取子单元,还用于通过监测所述一个资源队列中所述每个作业对应的使用资源,获取所述一个资源队列中所述每个作业对应的第二使用资源;
所述第一确定子单元,还用于根据所述第二预分配资源以及所述第二使用资源,确定所述一个资源队列中每个作业对应的第三资源使用率;
所述第二确定子单元,还用于从所述一个资源队列对应的第三资源使用率中确定小于所述预设阈值的第四资源使用率;
所述第一设置子单元,还用于当所述第四资源使用率的持续时间超过所述预设时间时,将所述第四资源使用率对应的作业设置为抢占作业;
所述第一分配子单元,还用于当所述一个资源队列分配的资源中存在空闲资源时,将所述空闲资源分配给所述第三资源使用率中最小资源使用率对应的作业;
所述第一抢占子单元,还用于当所述一个资源队列分配的资源中不存在空闲资源时,将所述第三资源使用率中最高资源使用率对应的作业的第二预设资源分配给所述抢占作业。
10.根据权利要求7所述的系统,其特征在于,所述第二调度单元包括:
第一调度子单元,用于根据优先调度策略对所述全部资源队列中的至少一个优先级态资源队列进行资源调度;
第二调度子单元,用于根据公平调度策略对所述全部资源队列中的非优先级态资源队列进行资源调度。
11.根据权利要求10所述的系统,其特征在于,所述第一调度子单元包括:
第一划分子单元,用于将一个优先级态资源队列中优先级大于所述预设优先级的作业,按照优先级由高至低依次划分至超级优先级作业列表;
第三获取子单元,用于依次获取所述超级优先级作业列表中每个作业对应的第三预分配资源;
第四获取子单元,用于通过监测所述超级优先级作业列表中每个作业对应的使用资源,依次获取所述每个作业对应的第三使用资源;
第三确定子单元,用于根据所述第三预分配资源以及所述第三使用资源,依次确定所述超级优先级作业列表中每个作业对应的第五资源使用率;
第四确定子单元,用于从超级优先级作业列表中每个作业对应的第五资源使用率中确定小于所述预设阈值的第六资源使用率;
第二设置子单元,用于当所述第六资源使用率的持续时间超过所述预设时间时,将所述第六资源使用率对应的作业设置为第一抢占作业;
第二分配子单元,用于当所述待分配资源存在空闲资源时,将所述空闲资源分配给所述第五资源使用率中最小资源使用率对应的作业;
第二抢占子单元,用于当所述待分配资源不存在空闲资源时,设定第二抢占作业,并将所述第二抢占作业的第三预设资源分配给所述第一抢占作业。
12.根据权利要求11所述的系统,其特征在于,所述第二抢占子单元包括:
第二划分子单元,用于将所述各资源队列中优先级低于所述超级优先级作业列表中的抢占作业优先级的全部作业设划分至第二抢占作业列表;
设定子单元,将所述第二抢占作业列表中最高资源使用率对应的作业设定为所述第二抢占作业。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611085841.2A CN108123980B (zh) | 2016-11-30 | 2016-11-30 | 一种资源调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611085841.2A CN108123980B (zh) | 2016-11-30 | 2016-11-30 | 一种资源调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108123980A CN108123980A (zh) | 2018-06-05 |
CN108123980B true CN108123980B (zh) | 2020-12-08 |
Family
ID=62226558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611085841.2A Active CN108123980B (zh) | 2016-11-30 | 2016-11-30 | 一种资源调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108123980B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984289B (zh) * | 2018-07-19 | 2021-07-23 | 无锡车联天下信息技术有限公司 | 优先级控制方法、装置及车联网服务平台 |
CN109086142B (zh) * | 2018-09-25 | 2022-03-25 | 郑州云海信息技术有限公司 | 一种基于Openlava的资源调度方法及装置 |
CN110134521B (zh) * | 2019-05-28 | 2021-06-11 | 北京达佳互联信息技术有限公司 | 资源分配的方法、装置、资源管理器及存储介质 |
CN110362391B (zh) * | 2019-06-12 | 2021-08-13 | 北京达佳互联信息技术有限公司 | 资源调度方法、装置、电子设备及存储介质 |
CN110427256B (zh) * | 2019-07-23 | 2021-10-08 | 中南民族大学 | 基于优先级的作业调度优化方法、设备、存储介质及装置 |
CN111294290B (zh) * | 2020-02-26 | 2021-01-29 | 宁波云鸟软件科技有限公司 | 一种基于大数据的资源调度方法 |
CN112685158B (zh) * | 2020-12-29 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
CN113157390B (zh) * | 2021-04-09 | 2022-06-21 | 烽火通信科技股份有限公司 | 一种电力终端中针对电力应用的容器资源管理方法和装置 |
CN118095444A (zh) * | 2024-04-23 | 2024-05-28 | 创新奇智(青岛)科技有限公司 | 大模型推理的优化方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694631A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 实时作业调度系统及方法 |
CN102096599A (zh) * | 2009-12-14 | 2011-06-15 | 中国移动通信集团公司 | 一种多队列任务调度方法及相关系统和设备 |
US8286173B2 (en) * | 2007-03-23 | 2012-10-09 | Oracle America, Inc. | Methods and apparatus for window-based fair priority scheduling |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN105955816A (zh) * | 2016-04-15 | 2016-09-21 | 天脉聚源(北京)传媒科技有限公司 | 一种事件调度方法及装置 |
-
2016
- 2016-11-30 CN CN201611085841.2A patent/CN108123980B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8286173B2 (en) * | 2007-03-23 | 2012-10-09 | Oracle America, Inc. | Methods and apparatus for window-based fair priority scheduling |
CN101694631A (zh) * | 2009-09-30 | 2010-04-14 | 曙光信息产业(北京)有限公司 | 实时作业调度系统及方法 |
CN102096599A (zh) * | 2009-12-14 | 2011-06-15 | 中国移动通信集团公司 | 一种多队列任务调度方法及相关系统和设备 |
CN102866920A (zh) * | 2012-08-02 | 2013-01-09 | 杭州海康威视系统技术有限公司 | 主从结构分布式视频处理系统及其调度方法 |
CN105955816A (zh) * | 2016-04-15 | 2016-09-21 | 天脉聚源(北京)传媒科技有限公司 | 一种事件调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108123980A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108123980B (zh) | 一种资源调度方法及系统 | |
CN110995614B (zh) | 一种算力资源分配的方法及装置 | |
Delgado et al. | Kairos: Preemptive data center scheduling without runtime estimates | |
US10754706B1 (en) | Task scheduling for multiprocessor systems | |
EP3254196B1 (en) | Method and system for multi-tenant resource distribution | |
CN109936604B (zh) | 一种资源调度方法、装置和系统 | |
CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
JP5954074B2 (ja) | 情報処理方法、情報処理装置、及びプログラム。 | |
WO2018120991A1 (zh) | 一种资源调度方法及装置 | |
WO2016078178A1 (zh) | 一种虚拟cpu调度方法 | |
CN107122233B (zh) | 一种面向tsn业务的多vcpu自适应实时调度方法 | |
US20230229495A1 (en) | Task scheduling method and apparatus | |
Wang et al. | Pigeon: An effective distributed, hierarchical datacenter job scheduler | |
CN105718316A (zh) | 一种作业调度的方法及装置 | |
CN113672391B (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
CN106201681A (zh) | Hadoop平台下基于预释放资源列表的任务调度算法 | |
CN113010309B (zh) | 集群资源调度方法、装置、存储介质、设备和程序产品 | |
CN109491775B (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
US9213575B2 (en) | Methods and systems for energy management in a virtualized data center | |
CN116157778A (zh) | 共享物理主机上混合集中分布式调度的系统和方法 | |
CN109298949B (zh) | 一种分布式文件系统的资源调度系统 | |
CN109656716B (zh) | 一种Slurm作业调度方法及系统 | |
CN116244073A (zh) | 混合关键分区实时操作系统的资源感知型任务分配方法 | |
CN108429704B (zh) | 一种节点资源分配方法及装置 | |
JP2006195985A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215163 China Mobile Software Park, building 1, No. 58, Kunlunshan Road, high tech Zone, Suzhou, Jiangsu Province Patentee after: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY Co.,Ltd. Patentee after: CHINA MOBILE COMMUNICATIONS GROUP Co.,Ltd. Address before: 215163 building 10, 78 Keling Road, Suzhou hi tech Zone, Jiangsu Province Patentee before: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY Co.,Ltd. Patentee before: CHINA MOBILE COMMUNICATIONS Corp. |