CN111625339A - 集群资源调度方法、装置、介质和计算设备 - Google Patents

集群资源调度方法、装置、介质和计算设备 Download PDF

Info

Publication number
CN111625339A
CN111625339A CN202010471863.2A CN202010471863A CN111625339A CN 111625339 A CN111625339 A CN 111625339A CN 202010471863 A CN202010471863 A CN 202010471863A CN 111625339 A CN111625339 A CN 111625339A
Authority
CN
China
Prior art keywords
resources
target
job
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.)
Pending
Application number
CN202010471863.2A
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.)
Netease Youdao Information Technology Beijing Co Ltd
Original Assignee
Netease Youdao Information Technology Beijing 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 Netease Youdao Information Technology Beijing Co Ltd filed Critical Netease Youdao Information Technology Beijing Co Ltd
Priority to CN202010471863.2A priority Critical patent/CN111625339A/zh
Publication of CN111625339A publication Critical patent/CN111625339A/zh
Pending legal-status Critical Current

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/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/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

Abstract

本发明的实施方式提供了一种集群资源调度方法。该方法包括:获取针对至少两个计算组中第一计算组的待执行作业;确定至少两个计算组中各计算组的剩余资源及第一计算组已被使用资源的使用信息;根据第一计算组的剩余资源、使用资源及执行待执行作业所需的目标资源,确定是否向待执行作业分配第一计算组的资源;在确定不向待执行作业分配第一计算组的资源的情况下,确定至少两个计算组中第二计算组的剩余资源是否满足目标资源;在第二计算组的剩余资源满足目标资源的情况下,向待执行作业分配第二计算组的资源。此外,本发明的实施方式还提供了一种集群资源调度装置、介质和计算设备。本发明可以实现资源的跨组调用,从而可以提高资源的利用率。

Description

集群资源调度方法、装置、介质和计算设备
技术领域
本发明的实施方式涉及计算机技术领域,更具体地,本发明的实施方式涉及一种集群资源调度方法、装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
为了满足用户对服务的高要求,越来越多的企业选择由多台设备搭建的计算集群来进行事务的处理,以提高处理效率。为了实现对该计算集群中资源的合理使用,需要设定合理的资源调度方法。
相关技术中,往往采用已有的资源调度框架来实现对资源的调度使用。例如,针对Linux系统,采用的资源调度框架例如可以包括Slurm(Simple
Figure BDA0002513031910000011
Utility forResource Management)。该些资源调度框架为了满足各用户使用资源的优先权,往往会将集群分为多个分区,来满足一个分区内的资源调度。具体地,在提交待执行作业到某个分区中时,若该某个分区内没有剩余资源,则往往会将该待执行作业加入到等候队列中。
在实现本发明的过程中,发明人发现,在实际使用中,往往会存在向一个用户组分配了多个分区资源的情况。现有的调度框架的调度机制无法使得向不同用户组分配的分区资源共享。这无疑会导致向有些用户组分配的分区资源较空闲,而向另一些用户组分配的分区资源因剩余资源量不足而存在较长队列的待执行作业的情况。这无疑会使得集群资源得不到充分利用。
发明内容
因此在现有技术中,对集群资源的调度存在为了保证用户使用资源的优先权,无法充分利用集群资源的问题。
为此,非常需要一种改进的集群资源调度方法,能够在提高资源利用率的基础上,同时保证各计算组处理对应作业优先权。
在本上下文中,本发明的实施方式期望提供一种能够实现跨组资源调用,并保证各组资源处理被分配作业的优先权的集群资源调度方法。
在本发明实施方式的第一方面中,提供了一种集群资源调度方法,所述集群包括至少两个计算组,每个计算组包括至少一个计算分区;所述方法包括:获取针对所述至少两个计算组中第一计算组的待执行作业;确定所述至少两个计算组中各计算组的剩余资源及所述第一计算组已被使用资源的使用信息;根据所述第一计算组的剩余资源、所述使用信息及执行所述待执行作业所需的目标资源,确定是否向所述待执行作业分配所述第一计算组的资源;在确定不向所述待执行作业分配所述第一计算组的资源的情况下,确定所述至少两个计算组中第二计算组的剩余资源是否满足所述目标资源;以及在所述第二计算组的剩余资源满足所述目标资源的情况下,向所述待执行作业分配所述第二计算组的资源。
在本发明的一个实施例中,所述确定是否向所述待执行作业分配所述第一计算组的资源包括:在所述第一计算组的剩余资源满足所述目标资源的情况下,确定向所述待执行作业分配所述第一计算组的资源;在所述第一计算组的剩余资源不满足所述目标资源的情况下,根据所述使用信息确定是否向所述待执行作业分配所述第一计算组的资源。
在本发明的另一实施例中,所述根据所述使用信息确定是否向所述待执行作业分配所述第一计算组的资源包括:在所述使用信息表征所述已被使用资源被目标作业占用的情况下,确定所述已被使用资源中被所述目标作业占用的资源;在被所述目标作业占用的资源与所述第一计算组的剩余资源的总和满足所述目标资源的情况下,确定向所述待执行作业分配所述第一计算组的资源,其中,所述目标作业为所述至少两个计算组中除所述第一计算组外的其他组所针对的作业。
在本发明的又一个实施例中,所述集群资源调度方法还包括在被所述目标作业占用的资源与所述第一计算组的剩余资源的总和满足所述目标资源的情况下:释放所述已被使用资源中被所述目标作业占用的资源,以向所述待执行作业分配所述第一计算组的资源。
在本发明的再一实施例中,在所述目标作业为多个的情况下,释放所述已被使用资源中被所述目标作业占用的资源包括:确定多个目标作业的优先级;根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业;以及释放所述已被使用资源中被所述待释放作业占用的资源,以使得被释放的资源与所述第一计算组的剩余资源的总和满足所述目标资源。
在本发明的再一实施例中,所述根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业包括:确定所述已被使用资源中被所述多个目标作业中各目标作业占用的资源;确定所述各目标作业占用的资源与所述第一计算组的剩余资源的总和,得到针对各目标作业的资源总和;根据优先级自低至高,依次确定针对各目标作业的资源总和是否能够满足所述目标资源,直至确定得到满足所述目标资源的资源总和;以及确定满足所述目标资源的资源总和所针对的目标作业为所述待释放作业。
在本发明的再一实施例中,所述根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业还包括:在针对各目标作业的资源总和均不能满足所述目标资源的情况下,根据所述优先级自低至高,依次累加各目标作业占用的资源,直至当前累加得到的资源总和与所述第一计算组的剩余资源总和能够满足所述目标资源;以及确定当前累加得到的占用的资源所针对的目标作业为所述待释放作业。
在本发明的再一实施例中,所述集群资源调度方法还包括:根据所述目标作业所针对的第三计算组的剩余资源及执行所述目标作业所需的资源,向所述目标作业重新分配资源。
在本发明实施方式的第二方面中,提供了一种集群资源调度装置,所述集群包括至少两个计算组,每个计算组包括至少两个计算分区;所述装置包括:作业获取模块,用于获取针对所述至少两个计算组中第一计算组的待执行作业;信息确定模块,用于确定所述至少两个计算组中各计算组的剩余资源及所述第一计算组已被使用资源的使用信息;资源分配确定模块,用于根据所述第一计算组的剩余资源、所述使用信息及执行所述待执行作业所需的目标资源,确定是否向所述待执行作业分配所述第一计算组的资源;资源满足确定模块,用于在确定不向所述待执行作业分配所述第一计算组的资源的情况下,确定所述至少两个计算组中第二计算组的剩余资源是否满足所述目标资源;以及资源分配模块,用于在所述第二计算组的剩余资源满足所述目标资源的情况下,向所述待执行作业分配所述第二计算组的资源。
在本发明的一个实施例中,上述资源分配确定模块包括:第一确定子模块,用于在所述第一计算组的剩余资源满足所述目标资源的情况下,确定向所述待执行作业分配所述第一计算组的资源;第二确定子模块,用于在所述第一计算组的剩余资源不满足所述目标资源的情况下,根据所述使用信息确定是否向所述待执行作业分配所述第一计算组的资源。
在本发明的另一实施例中,上述第二确定子模块包括:第一占用资源确定单元,用于在所述使用信息表征所述已被使用资源被目标作业占用的情况下,确定所述已被使用资源中被所述目标作业占用的资源;以及分配确定单元,用于在被所述目标作业占用的资源与所述第一计算组的剩余资源的总和满足所述目标资源的情况下,确定向所述待执行作业分配所述第一计算组的资源,其中,所述目标作业为所述至少两个计算组中除所述第一计算组外的其他组所针对的作业。
在本发明的又一个实施例中,上述集群资源调度装置还包括:资源释放模块,用于在被所述目标作业占用的资源与所述第一计算组的剩余资源的总和满足所述目标资源的情况下,释放所述已被使用资源中被所述目标作业占用的资源,以向所述待执行作业分配所述第一计算组的资源。
在本发明的再一个实施例中,上述资源释放模块包括:优先级确定子模块,用于在所述目标作业为多个的情况下,确定多个目标作业的优先级;作业确定子模块,用于根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业;以及释放子模块,用于释放所述已被使用资源中被所述待释放作业占用的资源,以使得被释放的资源与所述第一计算组的剩余资源的总和满足所述目标资源。
在本发明的再一个实施例中,上述作业确定子模块包括:第二占用资源确定单元,用于确定所述已被使用资源中被所述多个目标作业中各目标作业占用的资源;资源和确定单元,用于确定所述各目标作业占用的资源与所述第一计算组的剩余资源的总和,得到针对各目标作业的资源总和;资源满足确定单元,用于根据优先级自低至高,依次确定针对各目标作业的资源总和是否能够满足所述目标资源,直至确定得到满足所述目标资源的资源总和;以及作业确定单元,用于确定满足所述目标资源的资源总和所针对的目标作业为所述待释放作业。
在本发明的再一个实施例中,上述资源满足确定单元还用于在针对各目标作业的资源总和均不能满足所述目标资源的情况下,根据所述优先级自低至高,依次累加各目标作业占用的资源,直至当前累加得到的占用的资源与所述第一计算组的剩余资源总和能够满足所述目标资源;所述作业确定单元还用于确定当前累加得到的占用的资源所针对的目标作业为所述待释放作业。
在本发明的再一个实施例中,所述资源分配模块还用于根据所述目标作业所针对的第三计算组的剩余资源及执行所述目标作业所需的资源,向所述目标作业重新分配资源。
在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令在被处理器执行时使处理器执行根据本发明实施方式的第一方面所提供的集群资源调度方法。
在本发明实施方式的第四方面中,提供了一种计算设备。该计算设备包括存储有可执行指令的一个或多个存储器,以及一个或多个处理器。该处理器执行该可执行指令,用以实现根据本发明实施方式的第一方面所提供的集群资源调度方法。
根据本发明实施方式的集群资源调度方法、装置、介质和计算设备,通过分析待执行作业所针对的计算组被使用资源的使用信息及其他计算组的剩余资源,可以在待执行作业所针对的计算组不能向待执行作业的运行分配资源时,跨组调用其他计算组的资源,从而可以提高集群资源的利用率。
进一步地,本发明实施例的集群资源调度方法、装置、介质和计算设备通过在向待执行作业跨组分配其他计算组的资源之前,先根据待执行作业所针对计算组的被使用资源的使用信息,在该所针对计算组的资源被其他计算组所针对的其他作业占用时,释放该其他作业占用的资源来向待执行作业优先分配作业,可以在提高资源利用率的同时,保证待执行作业占用所针对计算组的资源的优先级。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明实施方式的集群资源调度方法、装置、介质及计算机设备的应用场景;
图2示意性地示出了根据本发明一实施例的集群资源调度方法的流程图;
图3示意性地示出了根据本发明实施例的确定是否向待执行作业分配第一计算组的资源的流程图;
图4示意性地示出了根据本发明实施例的根据使用信息确定是否向待执行作业分配第一计算组的资源的流程图;
图5示意性地示出了根据本发明实施例的在目标作业为多个时释放已被使用资源中被目标作业占用的资源的流程图;
图6示意性地示出了根据本发明一实施例的根据优先级和预定策略确定多个目标作业中的待释放作业的流程图;
图7示意性地示出了根据本发明另一实施例的根据优先级和预定策略确定多个目标作业中的待释放作业的流程图;
图8示意性地示出了根据本发明另一实施例的集群资源调度方法的流程图;
图9示意性地示出了根据本发明实施例的集群资源调度装置的方框图;
图10示意性地示出了根据本发明实施方式的适用于集群资源调度的程序产品的示意图;以及
图11示意性地示出了根据本发明实施方式的适用于进行集群资源调度的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种集群资源调度方法、装置、介质和计算设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,在集群作业中,通过跨组调用资源,可以有效提高集群资源的利用率。为了避免因跨组调用资源导致某计算组的资源被其他计算组的作业占用过多,从而使得该某计算组的作业不能被优先执行的缺陷,例如可以设定一定的策略来对计算组的资源进行调度,将该某计算组被其他计算组的作业占用的资源进行合理释放,使得释放后剩余资源满足该某计算组的作业的执行。
更进一步地,为了避免其他计算组的作业因占用的资源被释放而导致的无法正常执行,可以为该些其他计算组的作业重新分配资源,以此在保证作业优先级的前提下,避免作业执行失败的情况。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1。
图1示意性地示出了根据本发明实施方式的集群资源调度方法、装置、介质及计算设备的应用场景。需要注意的是,图1所示仅为可以应用本发明实施例的应用场景的示例,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景100包括电子设备111、112,网络120和多个计算组131、132、133。电子设备111、112可以通过网络与计算组131、132、133进行信息交互。该网络可以为局域网、广域网等。
在一实施例中,电子设备111、112例如可以作为分布式系统中的管理节点,多个计算组131、132、133中的每个计算组可以作为分布式系统中的计算节点。
在一实施例中,多个计算组131、132、133中的每个计算组例如可以包括一个或多个电子设备,每个电子设备均具有计算功能,该每个电子设备例如可以为服务器、台式计算机、膝上型便携计算机等。示例性地,该每个计算组包括的每个电子设备例如可以作为一个计算分区,或者可以划分有多个计算分区,以使得多个计算分区并行地执行不同作业,或者并行地执行同一作业的不同部分。
在一实施例中,电子设备111、112例如可以是多个计算组131、132、133中的一个,或者电子设备111、112可以是独立于计算组131、132、133的其他电子设备。
根据本发明的实施例,多个计算组131、132、133构成计算集群。电子设备111、112可以用于向该计算集群分配作业,并对该计算集群的资源进行调度管理。在一实施例中,该电子设备111、112例如可以是支持安装各种应用的各种电子设备,包括但不限于膝上型便携计算机、台式计算机和服务器等等。该电子设备111、112例如可以安装有Slurm作业调度系统,以对多个计算组131、132、133的资源进行调度管理。
根据本发明的实施例,电子设备111、112例如可以优先将待执行的作业分配给该待执行作业所针对的计算组。此外,如果根据该待执行作业所针对的计算组的资源使用情况,在所针对的计算组不能满足待执行作业的资源需求时,将该待执行的作业调度至其他空闲的计算组来执行。
需要说明的是,本发明实施例所提供的集群资源调度方法可以由电子设备111、112执行。相应地,本发明实施例所提供的集群资源调度装置也可以设置于电子设备111、112中。
应该理解,图1中的电子设备、网络和计算组的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的终端设备、网络和服务器。
示例性方法
下面结合图1的应用场景,参考图2~8来描述根据本发明示例性实施方式的集群资源调度方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性地示出了根据本发明一实施例的集群资源调度方法的流程图。
如图2所示,根据本发明实施例的集群资源调度方法可以包括操作S210~操作S250。该集群资源调度方法例如可以由图1的应用场景中的电子设备111、112来执行。集群包括图1中多个计算组中的至少两个计算组,每个计算组包括至少一个计算分区。
在操作S210,获取针对至少两个计算组中第一计算组的待执行作业。
根据本发明的实施例,该待执行作业例如可以是响应于工作人员的操作提交得到的。根据Slurm作业调度系统,该待执行作业是针对于至少两个计算组中的指定计算组的。第一计算组即为所述指定计算组,根据提交的待执行作业,该第一计算组可以为至少两个计算组中的任一个。示例性地,例如可以通过srun命令来指定某个计算分区执行该作业。由于计算分区对应的计算组是固定的,因此,通过指定的计算分区即可确定该待执行作业所针对的计算组。
示例性地,Slurm作业调度系统往往是以一个分区内的资源进行调度的,从而满足一个分区的资源调度。但考虑到往往会向资源需求较大的用户配多个计算分区,因此,该实施例可以将集群划分为针对用户的计算组。每个计算组对应一个用户,从而使得集群资源调度方法能够以计算组为单位进行资源调度。以此相较于以计算分区为单位的调度方法,可以简化调度规则,同时保证用户使用向其分配的计算分区执行作业的优先权。
由于Slurm作业调度系统往往是针对计算分区的,因此,操作S210在获取到待执行作业后,可以根据计算组与计算分区的包含关系及待执行作业所针对的计算分区,来对应得到待执行作业所针对的指定计算组。
在操作S220,确定至少两个计算组中各计算组的剩余资源及第一计算组已被使用资源的使用信息。
根据本发明的实施例,该操作S220可以是通过电子设备上安装的作业调度系统执行运行状态查看命令来得到各计算组的剩余资源及第一计算组已被使用资源的使用信息。
示例性地,对于Slurm作业调度系统,例如可以通过运行sinfo命令,来得到各计算组包括的计算分区的运行状况。若运行状况为idle,则说明该计算分区处于空闲状态;若运行状况为mix,则说明该计算分区已经被占用,但仍有剩余资源。可以通过node01命令来进一步查看各计算分区的运行情况,例如可以得到CPU占用情况、内存的使用情况及每个核的线程数等。
再者,可以通过squeue命令来查看所有作业的运行状态,得到执行各作业所使用的计算分区等。通过综合该所有作业的运行状态及各计算组包括的计算分区的运行情况,可得到第一计算组已被使用资源的使用信息,该使用信息可以包括该第一计算组执行的作业及各作业占用的资源量等。
根据本发明的实施例,例如可以通过运行预定的shell脚本来实现对至少两个计算组中每个计算组的运行信息的获取,并根据运行信息统计得到各计算组的剩余资源及第一计算组已被使用资源的使用信息。
在操作S230,根据第一计算组的剩余资源、使用信息及执行待执行作业所需的目标资源,确定是否向待执行作业分配第一计算组的资源。
根据本发明的实施例,该操作S230例如可以通过图3描述的流程来实现。以在第一计算组的剩余资源满足待执行作业执行所需的目标资源的情况下,优先向该待执行作业分配第一计算组的资源。从而降低调度难度,并使得该待执行作业具有使用所针对的第一计算组的资源的较高优先级。
图3示意性地示出了根据本发明实施例的确定是否向待执行作业分配第一计算组的资源的流程图。
如图3所示,该确定是否向待执行作业分配第一计算组的资源的操作S230例如可以包括操作S331~操作S333。
首先通过操作S331判断第一计算组的剩余资源是否满足目标资源。即确定该第一计算组的剩余资源的量是否大于执行待执行作业所需的目标资源的量。其中,执行待执行作业所需的目标资源的量可以通过解析该待执行作业,由解析得到的配置参数得到。该配置参数除了所需的目标资源外,例如还可以包括作业执行的优先级等。
若第一计算组的剩余资源能够满足目标资源,则执行操作S332确定向待执行作业分配第一计算组的资源。并根据该确定结果直接将该待执行作业分发给第一计算组执行。
若第一计算组的剩余资源不能够满足目标资源,示例性地可以将该待执行作业分配给剩余资源能满足该目标资源的其他计算组。该其他计算组为至少两个计算组中除第一计算组外的计算组。具体可以通过后续地操作S240~操作S250来实现。
根据本发明的实施例,为了保证待执行作业相较于针对其他计算组的作业使用第一计算组资源的较高优先级,在第一计算组的剩余资源不能够满足目标资源的情况下,例如可以通过执行操作S333来确定是否向待执行作业分配第一计算组的资源。
在操作S333,根据使用信息确定是否向待执行作业分配第一计算组的资源。具体地,若根据该使用信息中各作业占用的资源量,可以确定被针对其他计算组的作业占用的资源较多,则可以确定向待执行作业分配第一计算组的资源。示例性地,该操作S333例如可以通过图4描述的流程来实现,在此不再详述。在根据使用信息确定不能向待执行作业分配第一计算组的资源的情况下,再将该待执行作业分配给剩余资源能满足该目标资源的其他计算组。
在操作S240,在确定不向待执行作业分配第一计算组的资源的情况下,确定至少两个计算组中第二计算组的剩余资源是否满足目标资源。
该操作S240例如可以包括先将第二计算组的剩余资源与目标资源进行比对。若第二计算组的剩余资源不小于目标资源,则确定该第二计算组的剩余资源满足目标资源。示例性地,该操作S240可以是将至少两个计算组中除第一计算组外的其他计算组的剩余资源分别与目标资源进行比对,得到其他计算组中剩余资源满足目标资源的计算组。
在操作S250,在第二计算组的剩余资源满足目标资源的情况下,向待执行作业分配第二计算组的资源。
根据本发明的实施例,该操作S250例如可以是在第二计算组的剩余资源满足目标资源的情况下,将该待执行作业分发给第二计算组执行。
示例性地,在通过操作S240确定其他计算组中大于一个的其他计算组的剩余资源能够满足目标资源的情况下,为了尽可能使得各计算组的剩余资源较为平均,并避免对其他计算组执行其针对的作业的影响,可以向待执行作业分配剩余资源最多的其他计算组的资源。
本发明通过在根据第一计算组的剩余资源和使用信息确定无法向待执行作业分配资源时,可以向待执行作业分配其他计算组的资源,从而可以避免有些计算组存在排队的待执行作业,而其他计算组资源空闲的情况。并因此可以提高集群资源的利用率。
为了在提高集群资源利用率的同时,尽可能地保证各作业使用所针对计算组的资源的优先权。在所针对计算组的剩余资源无法满足待执行作业且所针对计算组的资源被其他计算组的作业占用时,可以考虑将该所针对计算组中被其他计算组的作业占用的资源释放掉,以满足所针对计算组的本组作业执行的优先权。
当然,在通过前述操作确定没有能够满足目标资源的其他计算组的情况下,则可以将该待执行作业在其所针对的第一计算组进行排队。
图4示意性地示出了根据本发明实施例的根据使用信息确定是否向待执行作业分配第一计算组的资源的流程图。
如图4所示,根据使用信息确定是否向待执行作业分配第一计算组的资源的操作S333例如可以包括操作S4331~操作S4332。
在操作S4331,在使用信息表征已被使用资源被目标作业占用的情况下,确定已被使用资源中被目标作业占用的资源。
在操作S4332,在被目标作业占用的资源与第一计算组的剩余资源的总和满足目标资源的情况下,确定向待执行作业分配第一计算组的资源。
根据本发明的实施例,目标作业为至少两个计算组中除第一计算组外的其他组所针对的作业。该操作S4331例如可以先根据第一计算组的使用信息,确定第一计算组执行的作业中的目标作业。然后根据各作业占用的资源量,统计得到第一计算组中目标作业占用的资源量。若目标作业占用的资源量与第一计算组的剩余资源的总和不小于执行待执行作业所需的目标资源的情况下,将待执行作业分发给第一计算组执行。
根据本发明的实施例,在通过操作S4332确定了向待执行作业分配第一计算组的资源后,为了使得第一计算组的剩余资源能够满足待执行作业的执行,则应释放目标资源占用的资源,以使得释放的资源和第一计算组原先的剩余资源之和满足待执行作业执行所需的目标资源。因此,如图4所示,在一实施例中,本发明实施例的集群资源调度方法例如还可以包括操作S460。
在操作S460,释放已被使用资源中被目标作业占用的资源,以向待执行作业分配第一计算组的资源。
根据本发明的实施例,该操作S460例如可以通过将正在执行的目标作业挂起,使得目标作业释放占用的资源,从而使得释放之后第一计算组的剩余资源能够满足待执行作业的执行。
示例性地,对于Slurm作业调度系统,例如可以通过针对目标作业执行scontrolsuspend命令来将目标作业挂起。
根据本发明的实施例,考虑到可能存在目标资源较少,且该第一计算组被目标作业占用的资源较多的情况。此种情况下,若将该第一计算组被目标作业占用的资源均释放掉,则在满足待执行作业需求的基础上,会使得第一计算组还存在空闲的资源。这在一定程度上会降低集群资源的利用率,并为资源调度带来不必要的压力。为了进一步提高集群资源的利用率,操作S460在释放被目标作业占用的资源时,例如可以根据目标作业的优先级和/或目标作业占用的资源的量来确定释放哪些资源。
图5示意性地示出了根据本发明实施例的在目标作业为多个时释放已被使用资源中被目标作业占用的资源的流程图。
如图5所示,在目标作业为多个时,释放已被使用资源中被目标作业占用的资源的操作S460例如可以包括操作S561~操作S563。
在操作S561,确定多个目标作业的优先级。
根据本发明的实施例,目标作业的优先级例如可以是通过电子设备上安装的作业调度系统提交目标作业时,为目标作业预分配的优先级。示例性地,对于Slurm系统,该操作S561中确定的目标作业的优先级具体为针对目标作业的Priority属性的取值。该取值越高,目标作业的优先级就越高。
在操作S562,根据多个目标作业的优先级及预定策略,确定多个目标作业中的待释放作业。
根据本发明的实施例,为了避免因目标作业被挂起而影响作业的执行,该操作S562例如可以包括:先根据多个目标作业的优先级,确定优先级最低的目标作业。然后将该优先级最低的目标作业确定为待释放作业。
在操作S563,释放已被使用资源中被待释放作业占用的资源,以使得被释放的资源与第一计算组的剩余资源的总和满足目标资源。
根据本发明的实施例,该操作S563即为将待释放作业挂起,以释放该待释放作业占用的资源,以将释放的资源分配给待执行作业。
根据本发明的实施例,考虑到释放优先级最低的目标作业占用的资源不一定能满足待执行作业的执行条件,因此,操作S562可以通过以下图6描述的流程来实现,直至确定得到待释放作业。
图6示意性地示出了根据本发明一实施例的根据优先级和预定策略确定多个目标作业中的待释放作业的流程图。
如图6所示,根据优先级和预定策略确定多个目标作业中的待释放作业的操作S562例如可以包括操作S6621~操作S6624。
在操作S6621,确定已被使用资源中被多个目标作业中各目标作业占用的资源。该各目标作业占用的资源例如可以从前述通过操作S220得到的使用信息中确定得到。
在操作S6622,确定各目标作业占用的资源与第一计算组的剩余资源的总和,得到针对各目标作业的资源总和。
在操作S6623,根据优先级自低至高,依次确定针对各目标作业的资源总和是否能够满足所述目标资源,直至确定得到满足所述目标资源的资源总和。
在操作S6624,确定满足目标资源的资源总和所针对的目标作业为待释放作业。
根据本发明的实施例,操作S6623例如可以先将针对优先级最低的目标作业的资源总和与目标资源进行比对,若针对优先级最低的目标作业的资源总和不小于目标资源,则确定针对优先级最低的目标资源的资源总和为满足目标资源的资源总和,完成操作S6623。若针对优先级最低的目标作业的资源总和小于目标资源,则将针对优先级次低的目标作业的资源总和与目标资源进行比对,若针对优先级次低的目标作业的资源总和不小于目标资源,则确定针对优先级次低的目标资源的资源总和为满足目标资源的资源总和,完成操作S6623。若针对优先级次低的目标作业的资源总和小于目标资源,则继续将优先级自低至高排在第三位的目标作业的资源总和与目标资源进行比对。以此类推,直至得到满足目标资源的资源总和。
根据本公开的实施例,通过图6中操作S6623得到的结果可能存在针对多个目标作业中每个目标作业的资源总和均不能满足目标资源的情况。此种情况下,为了保证待执行作业使用第一计算组的资源的优先级,例如可以考虑选择大于一个的待释放作业,以使得该大于一个的待释放作业占用的资源与剩余资源的和能够满足目标资源。
图7示意性地示出了根据本发明另一实施例的根据优先级和预定策略确定多个目标作业中的待释放作业的流程图。
如图7所示,根据优先级和预定策略确定多个目标作业中的待释放作业的操作S562除了操作S6621~操作S6624外,例如还可以包括操作S7625~操作S7626。
在操作S7625,在针对各目标作业的资源总和均不能满足目标资源的情况下,根据优先级自低至高,依次累加各目标作业的占用的资源,直至当前累加得到的占用的资源与第一计算组的剩余资源总和能够满足目标资源。
在操作S7626,确定当前累加得到的占用的资源所针对的目标作业为待释放作业。
根据本发明的实施例,该操作S7625~操作S7626例如可以先将各目标作业占用的资源按目标作业的优先级自低至高排列。然后确定排在第一位的占用的资源与排在第二位的占用的资源之和,确定该资源之和与第一计算组的剩余资源的和是否能够满足目标资源。若能够满足目标资源,则确定资源之和所针对的目标作业,即优先级最低的目标作业和优先级次低的目标作业为待释放作业。若不能满足目标资源,则可以确定排在第一位的占用的资源、排在第二位的占用的资源和排在第三位的占用的资源之和。确定该资源之和与第一计算组的剩余资源的和是否能够满足目标资源。若能够满足目标资源,则确定资源之和所针对的目标作业,即优先级最低的目标作业、优先级次低的目标作业及优先级自低至高排在第三位的目标作业为待释放作业。若不能满足目标资源,则可以确定排在第一位的占用的资源、排在第二位的占用的资源、排在第三位的占用的资源和排在第四位的占用的资源之和。以此类推,直至得到的资源之和能够满足目标资源为止。
根据本发明的实施例,为了尽可能地减少挂起的作业,在一实施例中,预定策略例如还可以在针对各目标作业的资源总和均不能满足目标资源的情况下,先将各目标作业占用的资源按目标作业的优先级自低至高排列。然后确定排在第一位的占用的资源与排在第二位的占用的资源之和,确定该资源之和与第一计算组的剩余资源的和是否能够满足目标资源。若能够满足目标资源,则确定资源之和所针对的目标作业,即优先级最低的目标作业和优先级次低的目标作业为待释放作业。若不能满足目标资源,则确定排在第二位的占用的资源与排在第三位的占用的资源之和,确定该资源之和与第一计算组的剩余资源的和是否能够满足目标资源。若能够满足目标资源,则确定资源之和所针对的目标作业,即优先级次低的目标作业和优先级自低至高排在第三位的目标作业为待释放作业。若不能满足目标资源,则确定排在第三位的占用的资源与排在第四位的占用的资源之和。以此类推,直至确定得到能够满足目标资源的两个待释放作业。若释放多个目标作业中任意两个目标作业占用的资源,均不能满足目标资源,则可以考虑适当增加确定的待释放作业的数量,例如确定的待释放作业的数量增加为3。以此类推,直至使得确定的待释放作业占用的资源与第一计算组的剩余资源之和能够满足目标资源。
根据本发明的实施例,在释放了目标作业占用的第一计算组的资源后,为了保证该目标作业的顺利执行,则可以向该目标作业重新分配资源。
图8示意性地示出了根据本发明另一实施例的集群资源调度方法的流程图。
如图8所示,该实施例的集群资源调度方法除了操作S210~操作S250外,还可以包括操作S460和操作S870。其中,操作S230包括图3描述的操作S331~操作S333,且操作S333包括操作S4331~操作S4332。该操作S460与图4描述的操作S460相同,在此不再赘述。
在操作S870,根据其原来占用的第一计算组的资源已经被释放的目标作业所针对的第三计算组的剩余资源及执行该目标作业所需的资源,向该目标作业重新分配资源。
根据本发明的实施例,该操作S870例如可以优先向目标作业分配其所针对的计算组的资源。因此该操作S870例如可以将该目标作业作为待执行作业,通过类似于操作S230~操作S250描述的流程来为该目标作业分配资源。其中,在确定了向目标作业分配的资源后,例如可以通过执行命令scontrol resume来恢复目标作业的执行。需要注意的是,此时,需要将执行该目标作业的计算组由第一计算组更改为重新分配的资源所属的计算组。
根据本发明的实施例,若通过类似于操作S230~操作S250描述的流程无法确定能够满足目标作业执行所需资源的计算组,则也可以将该目标作业在其所针对的计算组进行排队。
根据本发明的实施例,以上已完成对本发明实施例的集群资源调度方法的描述。其中,需要说明的是,以上描述虽然是针对计算组进行的集群资源调度,但该调度方法同样可以适用于以计算分区为单位的调度场景中,以实现每个计算组包括的至少一个计算分区之间的资源共享,进一步提高资源利用率。在一实施例中,在以计算组为单位进行资源调度时,可以先基于该调度方法以计算分区为单位进行计算组内资源调度,再计算组内资源调度无法满足待执行作业的目标资源时,再进行以计算组为单位的资源调度。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图9对本发明示例性实施方式的集群资源调度装置进行说明。
图9示意性地示出了根据本发明实施方式的集群资源调度装置900的方框图。
如图9所示,根据本发明实施例,该集群资源调度装置900可以包括作业获取模块910、信息确定模块920、资源分配确定模块930、资源满足确定模块940和资源分配模块950。其中,集群包括至少两个计算组,每个计算组包括至少两个计算分区。
作业获取模块910用于获取针对至少两个计算组中第一计算组的待执行作业(操作S210)。
信息确定模块920用于确定至少两个计算组中各计算组的剩余资源及第一计算组已被使用资源的使用信息(操作S220)。
资源分配确定模块930用于根据第一计算组的剩余资源、使用信息及执行待执行作业所需的目标资源,确定是否向待执行作业分配第一计算组的资源(操作S230)。
资源满足确定模块940用于在确定不向待执行作业分配第一计算组的资源的情况下,确定至少两个计算组中第二计算组的剩余资源是否满足目标资源(操作S240)。
资源分配模块950用于在第二计算组的剩余资源满足目标资源的情况下,向待执行作业分配第二计算组的资源(操作S250)。
根据本发明的实施例,上述资源分配确定模块930例如可以包括第一确定子模块931和第二确定子模块932。第一确定子模块931用于在第一计算组的剩余资源满足目标资源的情况下,确定向待执行作业分配第一计算组的资源(操作S332)。第二确定子模块932用于在第一计算组的剩余资源不满足目标资源的情况下,根据使用信息确定是否向待执行作业分配第一计算组的资源(操作S333)。
根据本发明的实施例,上述第二确定子模块932例如可以包括第一占用资源确定单元9321和分配确定单元9322。第一占用资源确定单元9321用于在使用信息表征已被使用资源被目标作业占用的情况下,确定已被使用资源中被目标作业占用的资源(操作S4331)。分配确定单元9322用于在被目标作业占用的资源与第一计算组的剩余资源的总和满足目标资源的情况下,确定向待执行作业分配第一计算组的资源(操作S4332)。其中,目标作业为至少两个计算组中除第一计算组外的其他组所针对的作业。
根据本发明的实施例,上述集群资源调度装置900例如还可以包括资源释放模块960,用于在被目标作业占用的资源与第一计算组的剩余资源的总和满足目标资源的情况下,释放已被使用资源中被目标作业占用的资源,以向待执行作业分配第一计算组的资源(操作S460)。
根据本发明的实施例,上述资源释放模块960例如可以包括优先级确定子模块961、作业确定子模块962和释放子模块963。优先级确定子模块961用于在目标作业为多个的情况下,确定多个目标作业的优先级(操作S561)。作业确定子模块962用于根据多个目标作业的优先级及预定策略,确定多个目标作业中的待释放作业(操作S562)。释放子模块963用于释放已被使用资源中被待释放作业占用的资源,以使得被释放的资源与第一计算组的剩余资源的总和满足目标资源(操作S563)。
根据本发明的实施例,上述作业确定子模块962例如可以包括第二占用资源确定单元9631、资源和确定单元9632、资源满足确定单元9633和作业确定单元9634。第二占用资源确定单元9631用于确定已被使用资源中被多个目标作业中各目标作业占用的资源(操作S6621)。资源和确定单元9632用于确定各目标作业占用的资源与第一计算组的剩余资源的总和,得到针对各目标作业的资源总和(操作S6622)。资源满足确定单元9633用于根据优先级自低至高,依次确定针对各目标作业的资源总和是否能够满足目标资源,直至确定得到满足目标资源的资源总和(操作S6623)。作业确定单元9634用于确定满足目标资源的资源总和所针对的目标作业为待释放作业(操作S6624)。
根据本发明的实施例,上述资源满足确定单元9633例如还用于在针对各目标作业的资源总和均不能满足目标资源的情况下,根据优先级自低至高,依次累加各目标作业占用的资源,直至当前累加得到的占用的资源与第一计算组的剩余资源总和能够满足目标资源(操作S7625)。作业确定单元9634例如还用于确定当前累加得到的资源总和所针对的目标作业为待释放作业(操作S7626)。
根据本发明的实施例,资源分配模块950例如还用于根据其原来占用的第一计算组的资源已经被释放的目标作业所针对的第三计算组的剩余资源及执行该目标作业所需的资源,向该目标作业重新分配资源(操作S870)。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,参考图10对本发明示例性实施方式的适用于集群资源调度的计算机可读存储介质进行介绍。
根据本发明的实施例,还提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行根据本发明实施例的集群资源调度方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当该程序产品在计算设备上运行时,该程序代码用于使该计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于集群资源调度的方法中的步骤,例如,该计算设备可以执行如图2中所示的操作S210:获取针对至少两个计算组中第一计算组的待执行作业;操作S220:确定至少两个计算组中各计算组的剩余资源及第一计算组已被使用资源的使用信息;操作S230,根据第一计算组的剩余资源、使用信息及执行待执行作业所需的目标资源,确定是否向待执行作业分配第一计算组的资源;操作S240,在确定不向待执行作业分配第一计算组的资源的情况下,确定至少两个计算组中第二计算组的剩余资源是否满足目标资源;以及操作S250:在第二计算组的剩余资源满足目标资源的情况下,向待执行作业分配第二计算组的资源。
该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图10示意性地示出了根据本发明实施方式的适用于集群资源调度的程序产品1000的示意图。
如图10所示,描述了根据本发明的实施方式的适用于集群资源调度的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括一一但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,该程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、装置和介质之后,接下来,参考图11对本发明示例性实施方式的适用于集群资源调度的计算设备进行说明。
本发明实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,该存储单元存储有程序代码,当该程序代码被该处理单元执行时,使得该处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的集群资源调度方法中的操作。例如,该处理单元可以执行如图2中所示的操作S210:获取针对至少两个计算组中第一计算组的待执行作业;操作S220:确定至少两个计算组中各计算组的剩余资源及第一计算组已被使用资源的使用信息;操作S230,根据第一计算组的剩余资源、使用信息及执行待执行作业所需的目标资源,确定是否向待执行作业分配第一计算组的资源;操作S240,在确定不向待执行作业分配第一计算组的资源的情况下,确定至少两个计算组中第二计算组的剩余资源是否满足目标资源;以及操作S250:在第二计算组的剩余资源满足目标资源的情况下,向待执行作业分配第二计算组的资源。
图11示意性地示出了根据本发明实施方式的适用于进行集群资源调度的计算设备1100的框图。如图11所示的计算设备1100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如11所示,计算设备1100以通用计算设备的形式表现。计算设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130。
总线1130包括数据总线、控制总线和地址总线。
存储单元1120可以包括易失性存储器,例如随机存取存储器(RAM)1121和/或高速缓存存储器1122,还可以进一步包括只读存储器(ROM)1123。
存储单元1120还可以包括具有一组(至少一个)程序模块1124的程序/实用工具1125,这样的程序模块1124包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备1100也可以与一个或多个外部设备1140(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口1150进行。并且,计算设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与计算设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (11)

1.一种集群资源调度方法,所述集群包括至少两个计算组,每个计算组包括至少一个计算分区;所述方法包括:
获取针对所述至少两个计算组中第一计算组的待执行作业;
确定所述至少两个计算组中各计算组的剩余资源及所述第一计算组已被使用资源的使用信息;
根据所述第一计算组的剩余资源、所述使用信息及执行所述待执行作业所需的目标资源,确定是否向所述待执行作业分配所述第一计算组的资源;
在确定不向所述待执行作业分配所述第一计算组的资源的情况下,确定所述至少两个计算组中第二计算组的剩余资源是否满足所述目标资源;以及
在所述第二计算组的剩余资源满足所述目标资源的情况下,向所述待执行作业分配所述第二计算组的资源。
2.根据权利要求1所述的方法,其中,所述确定是否向所述待执行作业分配所述第一计算组的资源包括:
在所述第一计算组的剩余资源满足所述目标资源的情况下,确定向所述待执行作业分配所述第一计算组的资源;
在所述第一计算组的剩余资源不满足所述目标资源的情况下,根据所述使用信息确定是否向所述待执行作业分配所述第一计算组的资源。
3.根据权利要求2所述的方法,其中,所述根据所述使用信息确定是否向所述待执行作业分配所述第一计算组的资源包括:
在所述使用信息表征所述已被使用资源被目标作业占用的情况下,确定所述已被使用资源中被所述目标作业占用的资源;
在被所述目标作业占用的资源与所述第一计算组的剩余资源的总和满足所述目标资源的情况下,确定向所述待执行作业分配所述第一计算组的资源,
其中,所述目标作业为所述至少两个计算组中除所述第一计算组外的其他组所针对的作业。
4.根据权利要求3所述的方法,还包括在被所述目标作业占用的资源与所述第一计算组的剩余资源的总和满足所述目标资源的情况下:
释放所述已被使用资源中被所述目标作业占用的资源,以向所述待执行作业分配所述第一计算组的资源。
5.根据权利要求4所述的方法,其中,在所述目标作业为多个的情况下,释放所述已被使用资源中被所述目标作业占用的资源包括:
确定多个目标作业的优先级;
根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业;以及
释放所述已被使用资源中被所述待释放作业占用的资源,以使得被释放的资源与所述第一计算组的剩余资源的总和满足所述目标资源。
6.根据权利要求5所述的方法,其中,所述根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业包括:
确定所述已被使用资源中被所述多个目标作业中各目标作业占用的资源;
确定所述各目标作业占用的资源与所述第一计算组的剩余资源的总和,得到针对各目标作业的资源总和;
根据优先级自低至高,依次确定针对各目标作业的资源总和是否能够满足所述目标资源,直至确定得到满足所述目标资源的资源总和;以及
确定满足所述目标资源的资源总和所针对的目标作业为所述待释放作业。
7.根据权利要求6所述的方法,其中,所述根据所述多个目标作业的优先级及预定策略,确定所述多个目标作业中的待释放作业还包括:
在针对各目标作业的资源总和均不能满足所述目标资源的情况下,根据所述优先级自低至高,依次累加各目标作业占用的资源,直至当前累加得到的占用的资源与所述第一计算组的剩余资源总和能够满足所述目标资源;以及
确定当前累加得到的占用的资源所针对的目标作业为所述待释放作业。
8.根据权利要求4所述的方法,还包括:
根据所述目标作业所针对的第三计算组的剩余资源及执行所述目标作业所需的资源,向所述目标作业重新分配资源。
9.一种集群资源调度装置,所述集群包括至少两个计算组,每个计算组包括至少两个计算分区;所述装置包括:
作业获取模块,用于获取针对所述至少两个计算组中第一计算组的待执行作业;
信息确定模块,用于确定所述至少两个计算组中各计算组的剩余资源及所述第一计算组已被使用资源的使用信息;
资源分配确定模块,用于根据所述第一计算组的剩余资源、所述使用信息及执行所述待执行作业所需的目标资源,确定是否向所述待执行作业分配所述第一计算组的资源;
资源满足确定模块,用于在确定不向所述待执行作业分配所述第一计算组的资源的情况下,确定所述至少两个计算组中第二计算组的剩余资源是否满足所述目标资源;以及
资源分配模块,用于在所述第二计算组的剩余资源满足所述目标资源的情况下,向所述待执行作业分配所述第二计算组的资源。
10.一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时实现:根据权利要求1~8中任一项所述的方法。
11.一种计算设备,包括:
一个或多个处理器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~8中任一项所述的方法。
CN202010471863.2A 2020-05-28 2020-05-28 集群资源调度方法、装置、介质和计算设备 Pending CN111625339A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010471863.2A CN111625339A (zh) 2020-05-28 2020-05-28 集群资源调度方法、装置、介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010471863.2A CN111625339A (zh) 2020-05-28 2020-05-28 集群资源调度方法、装置、介质和计算设备

Publications (1)

Publication Number Publication Date
CN111625339A true CN111625339A (zh) 2020-09-04

Family

ID=72260125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010471863.2A Pending CN111625339A (zh) 2020-05-28 2020-05-28 集群资源调度方法、装置、介质和计算设备

Country Status (1)

Country Link
CN (1) CN111625339A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813564A (zh) * 2020-09-11 2020-10-23 北京达佳互联信息技术有限公司 集群资源管理方法、装置及容器集群管理系统
CN113467994A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 一种数据备份方法、系统及电子设备、存储介质
CN114584455A (zh) * 2022-03-04 2022-06-03 吉林大学 一种基于企业微信的中小型高性能集群监控系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727357A (zh) * 2008-10-31 2010-06-09 新思科技有限公司 用于分配计算中心中资源的方法和装置
US20140331235A1 (en) * 2013-05-03 2014-11-06 Electronics And Telecommunications Research Institute Resource allocation apparatus and method
CN109976907A (zh) * 2019-03-11 2019-07-05 百度在线网络技术(北京)有限公司 任务分配方法和系统、电子设备、计算机可读介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727357A (zh) * 2008-10-31 2010-06-09 新思科技有限公司 用于分配计算中心中资源的方法和装置
US20140331235A1 (en) * 2013-05-03 2014-11-06 Electronics And Telecommunications Research Institute Resource allocation apparatus and method
CN109976907A (zh) * 2019-03-11 2019-07-05 百度在线网络技术(北京)有限公司 任务分配方法和系统、电子设备、计算机可读介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813564A (zh) * 2020-09-11 2020-10-23 北京达佳互联信息技术有限公司 集群资源管理方法、装置及容器集群管理系统
CN113467994A (zh) * 2021-07-01 2021-10-01 建信金融科技有限责任公司 一种数据备份方法、系统及电子设备、存储介质
CN114584455A (zh) * 2022-03-04 2022-06-03 吉林大学 一种基于企业微信的中小型高性能集群监控系统
CN114584455B (zh) * 2022-03-04 2023-06-30 吉林大学 一种基于企业微信的中小型高性能集群监控系统

Similar Documents

Publication Publication Date Title
CN112199194B (zh) 基于容器集群的资源调度方法、装置、设备和存储介质
US9021490B2 (en) Optimizing allocation of computer resources by tracking job status and resource availability profiles
JP5744909B2 (ja) アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム
JP5939740B2 (ja) 動的にリソースを割り当てる方法、システム及びプログラム
US8424007B1 (en) Prioritizing tasks from virtual machines
CN111625339A (zh) 集群资源调度方法、装置、介质和计算设备
US9973512B2 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
US9507633B2 (en) Scheduling method and system
CN109960575B (zh) 一种计算能力共享方法、系统及相关设备
US20090178045A1 (en) Scheduling Memory Usage Of A Workload
US20150378755A1 (en) Affinity of virtual processor dispatching
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
Zhu et al. Deadline-constrained workflow scheduling in IaaS clouds with multi-resource packing
CN114327843A (zh) 任务调度方法及装置
WO2024016596A1 (zh) 容器集群调度的方法、装置、设备及存储介质
CN111338785A (zh) 资源调度方法及装置、电子设备、存储介质
US9384050B2 (en) Scheduling method and scheduling system for multi-core processor system
CN112905342A (zh) 资源调度方法、装置、设备及计算机可读存储介质
CN112905334A (zh) 资源管理方法、装置、电子设备和存储介质
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
CN116233022A (zh) 一种作业调度方法、服务器及服务器集群
CN111813564B (zh) 集群资源管理方法、装置及容器集群管理系统
CN115220908A (zh) 资源调度方法、装置、电子设备及存储介质
US20150089507A1 (en) Information processing system, method of controlling information processing system, and recording medium
CN111338782A (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