CN113590289B - 作业调度方法、系统、装置、计算机设备和存储介质 - Google Patents
作业调度方法、系统、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113590289B CN113590289B CN202110869517.4A CN202110869517A CN113590289B CN 113590289 B CN113590289 B CN 113590289B CN 202110869517 A CN202110869517 A CN 202110869517A CN 113590289 B CN113590289 B CN 113590289B
- Authority
- CN
- China
- Prior art keywords
- job
- scheduling
- priority
- queue
- scheduled
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 235000003642 hunger Nutrition 0.000 abstract description 8
- 230000037351 starvation Effects 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
本申请涉及一种作业调度方法、系统、装置、计算机设备和存储介质。该方法包括:SLURM调度系统根据各作业队列的优先级、各作业队列中待调度作业的优先级进行调度,在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中,根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。其中,第一目标作业队列的优先级次于当前作业队列。在本方法中,SLURM调度系统将调度失败的高优先级作业及时的转移到低优先级的队列中,有效地保证本级队列内低优先级作业被及时调度,避免了由于高优先级作业调度失败导致低优先级作业无法调度处于饥饿状态的问题,提高了SLURM调度系统的吞吐量和健壮性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种作业调度方法、系统、装置、计算机设备和存储介质。
背景技术
SLURM是一种开源的,容错较好的,具有高可伸缩性的集群作业调度系统,可以支持多种资源的管理和分配,包括CPU、内存、GPU等,同时也支持系统中作业调度的配置。SLURM系统在调度处于等待状态的作业时,着重考虑作业的优先级,如果高优先级的作业不能得到资源并被调度,则低优先级的作业则得不到调度进而处于饥饿状态。
现有技术的SLURM调度系统提供了多因子调度方式,根据在等待队列中的作业,计算各作业对应的多因子参数,根据计算得到的各作业的多因子参数重新确定各作业的优先级,进而根据新的优先级完成作业的调度。
但是,上述调度方法的调度机制仍然保留,即,上述调度方法仍然存在若高优先级的作业不能得到资源并被调度,低优先级的作业则得不到调度进而处于饥饿状态的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够改善作业调度机制的作业调度方法、系统、装置、计算机设备和存储介质。
第一方面,提供一种作业调度方法,该方法包括:
根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度;
在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中;第一目标作业队列的优先级次于当前作业队列;
根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。
在本实施例中,SLURM调度系统将调度失败的高优先级作业及时的转移到低优先级的队列中,能够有效地保证本级队列内低优先级作业被及时调度,避免了由于高优先级作业调度失败导致低优先级作业无法调度处于饥饿状态的问题,同时提高了SLURM调度系统的吞吐量和健壮性。
在其中一个可选的实施例中,该方法还包括:
获取SLURM调度系统中所有待调度作业的优先级;
根据所有待调度作业的优先级,划分多个不同优先级的作业队列;作业队列中包括至少一个待调度作业。
在本实施例中,作业调度系统获取到各个待调度作业的优先级,根据各个待调度作业的优先级确定其对应的作业队列,以在后续作业调度过程中按照作业队列的优先级、作业的优先级进行调度,改善了作业的调度机制。
在其中一个可选的实施例中,该方法还包括:
若当前作业队列中不存在剩余待调度作业,则对第一目标作业队列中的待调度作业进行调度;调度失败的作业的优先级大于第一目标作业队列中原始待调度作业的优先级。
在本实施例中,作业调度系统将等待资源队列内的高优先级作业在多次调度失败的情况下,将其转移到低优先级的队列中,并保持其相应优先级,便于在低优先级队列中优先调度该作业,保证了高优先级作业的调度的优先性。
在其中一个可选的实施例中,该方法还包括:
根据不同优先级的作业队列,确定各作业队列的调度周期;优先级越高的作业队列的调度周期越短。
在本实施例中,作业调度系统在确定各个优先级不同的作业队列时,为每个作业队列设定对应的调度周期,优先级不同的队列调度互不相干,以此来降低一直等待资源的高优先级作业阻碍其他低优先级作业的范围和时间。
在其中一个可选的实施例中,该方法还包括:
若当前作业队列的调度时长大于当前作业队列的调度周期对应的时长,则将当前作业队列中的待调度作业转移至第二目标作业队列中;第二目标作业队列的优先级高于当前作业队列。
在本实施例中,作业调度系统在当前作业队列的调度时长大于当前作业队列的调度周期对应的时长的情况下,将当前作业队列中的待调度作业转移至第二目标作业队列中,使得作业调度系统可以及时地对未被调度的作业进行调整,优化了作业调度系统的作业调度机制,提高了作业调度系统的作业调度吞吐率。
在其中一个可选的实施例中,该方法还包括:
若存在至少两个作业队列的调度时长均大于调度周期对应的时长,则根据所有待调度作业的优先级,重新划分作业队列。
在本实施例中,作业调度系统在存在至少两个作业队列的调度时长均大于调度周期对应的时长的情况下,根据所有待调度作业的优先级,重新划分作业队列,使得作业调度系统可以及时地对未被调度的作业进行调整,优化了作业调度系统的作业调度机制,提高了作业调度系统的作业调度吞吐率。
第二方面,提供一种作业调度系统,该作业调度系统包括多个不同优先级的作业队列;各作业队列中包括与作业队列的优先级对应的至少一个待调度作业;
系统用于执行第一方面提供的任一项的作业调度方法。
第三方面,提供一种作业调度装置,该装置包括:
调度模块,用于根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度;
转移模块,用于在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中;第一目标作业队列的优先级次于当前作业队列;
调度模块,还用于根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。
第四方面,提供一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现上述第一方面任一所述的方法。
第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面任一所述的方法。
上述作业调度方法、系统、装置、计算机设备和存储介质,SLURM调度系统根据各作业队列的优先级、各作业队列中待调度作业的优先级进行调度,在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中,根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。其中,第一目标作业队列的优先级次于当前作业队列。在本方法中,SLURM调度系统将调度失败的高优先级作业及时的转移到低优先级的队列中,能够有效地保证本级队列内低优先级作业被及时调度,避免了由于高优先级作业调度失败导致低优先级作业无法调度处于饥饿状态的问题,同时提高了SLURM调度系统的吞吐量和健壮性。
附图说明
图1为一个实施例中作业调度方法的应用环境图;
图2为一个实施例中作业调度方法的流程示意图;
图3为一个实施例中作业调度方法的流程示意图;
图4为一个实施例中作业调度方法的流程示意图;
图5为一个实施例中作业调度装置的结构框图;
图6为一个实施例中作业调度装置的结构框图;
图7为一个实施例中作业调度装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的作业调度方法,可以应用于如图1所示的应用环境中。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,该服务器中部署作业调度系统,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种作业调度方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施例提供的作业调度系统,作业调度系统包括多个不同优先级的作业队列;各作业队列中包括与作业队列的优先级对应的至少一个待调度作业。
在本实施例中,示例地,作业调度系统可以为SLURM调度系统,SLURM调度系统中包括N个作业队列,优先级由高到低分别为作业队列L1至作业队列Ln,作业调度系统分时轮询调度,作业队列L1至Ln依次设置,按照优先级顺序,调度周期按照比例缩短;每个作业队列内的待调度作业按照优先级排序,较高优先级的作业在前,低优先级的作业在后,较高优先级的作业会被优先调度;如果高优先级的作业队列内的待调度作业没有足够资源,也即,高优先级作业队列中的待调度作业调度失败,那么就将该调度失败的作业放到下一级队列中等待调度,例如将L1队列中的调度失败的作业转移到L2队列。
进一步地,为了保证在调度周期内作业队列中的低优先级作业得到调度,作业调度系统可以设置定时器T,从L2开始到Ln分别取时间间隔为T1至Tn-1可选的,时间间隔设定可以按照2的倍数设定或其他特定规律的值设定,低一层级作业队列中的待调度作业得在定时器Tx内没有得到调度,作业调度系统会将该作业转移到上一层级队列中,来保证作业能够得到及时的调度。
另外,SLURM系统在调度当前作业队列中的待调度作业过程中,将每个调度失败的作业,转移到低一级的优先级队列中,可选地,保持该作业相应的优先级值,便于在低优先级队列中优先调度该作业。
上述作业调度系统在作业调度的过程中,将调度失败的高优先级作业及时的转移到低优先级的队列中,能够有效地保证本级队列内低优先级作业被及时调度,避免了由于高优先级作业调度失败导致低优先级作业无法调度处于饥饿状态的问题,同时提高了SLURM调度系统的吞吐量和健壮性。此外,在将调度失败的作业转移到低优先级的队列时保持其相应优先级,便于在低优先级队列中优先调度该作业,保证了高优先级作业的调度的优先性。并且,低优先级队列被轮询周期会比高优先级轮询时间长,且优先级不同的队列调度互不相干,从而降低一直等待资源的高优先级作业阻碍其他低优先级作业的范围和时间。
下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。需要说明的是,本申请图2-图4实施例提供的作业调度方法,其执行主体为作业调度系统,也可以是作业调度装置,该作业调度装置可以通过软件、硬件或者软硬件结合的方式成为作业调度系统的部分或全部。下述方法实施例中,均以执行主体是作业调度系统为例来进行说明。
在一个实施例中,如图2所示,提供了一种作业调度方法,涉及的是作业调度系统根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度,在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中,根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度的过程,包括以下步骤:
S201、根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度。
在本实施例中,作业调度系统可以为SLURM调度系统,作业调度系统根据自身系统中所确定的所有作业队列的优先级、各个作业队列中各个待调度作业的优先级进行调度,其中,作业队列的优先级排序可以为作业队列L1、L2、。。。、Ln,作业调度系统针对各个作业队列中的待调度作业,为其分配资源实现作业的调度。
S202、在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中。
其中,第一目标作业队列的优先级次于当前作业队列。
在本实施例中,作业调度系统在对当前作业队列中的待调度作业进行调度的过程中,若存在当前待调度作业无法获得资源,也即,当前待调度作业调度失败的情况下,为不影响当前作业队列中其他待调度作业的正常调度,作业调度系统可以将调度失败的作业转移至优先级低于当前作业队列的第一目标作业队列,可选的,第一目标作业队列可以为当前作业队列的下一个优先级的作业队列,也可以是优先级低于当前作业队列的其他作业队列。
S203、根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。
在本实施例中,作业调度系统在将调度失败的作业转移到第一目标作业队列之后,继续根据当前作业队列中的其他剩余待调度作业的优先级进行调度,保证了其他待调度作业的调度的及时性。
上述作业调度方法中,SLURM调度系统根据各作业队列的优先级、各作业队列中待调度作业的优先级进行调度,在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中,根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。其中,第一目标作业队列的优先级次于当前作业队列。在本方法中,SLURM调度系统将调度失败的高优先级作业及时的转移到低优先级的队列中,能够有效地保证本级队列内低优先级作业被及时调度,避免了由于高优先级作业调度失败导致低优先级作业无法调度处于饥饿状态的问题,同时提高了SLURM调度系统的吞吐量和健壮性。
在作业调度系统进行作业调度之前,作业调度系统需要根据所有待调度的作业进行优先级、优先级队列的划分,在其中一个可选的实施例中,如图3所示,该方法还包括:
S301、获取SLURM调度系统中所有待调度作业的优先级。
在本实施例中,作业调度系统获取系统中所有待调度作业的作业信息,例如,作业标识、作业属性等,基于各个待调度作业的作业信息,确定各个待调度作业的优先级。
S302、根据所有待调度作业的优先级,划分多个不同优先级的作业队列;作业队列中包括至少一个待调度作业。
在本实施例中,作业调度系统在获取到所有待调度作业的优先级之后,可以根据所有待调度作业的总数量,划分相应数量的作业队列,例如,系统中有55个待调度作业,作业调度系统可以按照作业队列中待调度作业数量为5、8、11、14、17来确定5个优先级不同的作业队列。或者,作业调度系统也可以根据所有待调度作业的优先级,确定不同的优先级队列,例如,作业优先级为1-2级的位于队列L1,作业优先级为3-4级的位于队列L2,本实施例对此不做限定。
在本实施例中,作业调度系统获取到各个待调度作业的优先级,根据各个待调度作业的优先级确定其对应的作业队列,以在后续作业调度过程中按照作业队列的优先级、作业的优先级进行调度,改善了作业的调度机制。
作业调度系统对当前作业队列中的所有待调度作业都执行相应的操作之后,按照作业队列的优先级,对下一个优先级的作业队列中的待调度作业进行调度,在其中一个可选的实施例中,该方法还包括:
若当前作业队列中不存在剩余待调度作业,则对第一目标作业队列中的待调度作业进行调度;调度失败的作业的优先级大于第一目标作业队列中原始待调度作业的优先级。
在本实施例中,当前作业队列中不存在剩余待调度作业指的是当前作业队列中的待调度作业均分配到的了资源,或者,当前作业队列中调度失败的作业均完成了转移。在这种情况下,当前作业队列中不存在待调度作业,此时,作业调度系统按照各个作业队列的优先级,访问下一个优先级的作业队列,也即当前作业队列对应的目标作业队列,针对目标作业队列中的待调度作业进行调度。需要说明的是,该目标作业队列中包括原始待调度作业和上一个优先级作业队列中转移来的调度失败的作业,为了保证上一个优先级作业队列中转移来的调度失败的作业的优先级,作业调度系统设定调度失败的作业的优先级大于原始待调度作业的优先级。
在本实施例中,作业调度系统将等待资源队列内的高优先级作业在多次调度失败的情况下,将其转移到低优先级的队列中,并保持其相应优先级,便于在低优先级队列中优先调度该作业,保证了高优先级作业的调度的优先性。
适应于上述作业调度机制,作业调度系统还可以为每个作业队列配置其对应的调度周期,在其中一个可选的实施例中,该方法还包括:
根据不同优先级的作业队列,确定各作业队列的调度周期;优先级越高的作业队列的调度周期越短。
在本实施例中,作业调度系统在确定各个优先级不同的作业队列时,为每个作业队列设定对应的调度周期,并初始化定时器,一般来说,优先级越高的作业队列的调度周期越短,也即,低优先级队列被轮询周期比高优先级轮询时间更长,且优先级不同的队列调度互不相干,以此来降低一直等待资源的高优先级作业阻碍其他低优先级作业的范围和时间。
在作业调度过程中,按照各个作业队列对应的调度周期进行作业调度,在按照调度周期调度的过程中,可能出现不同的作业调度情况。
在其中一种场景下,在其中一个可选的实施例中,该方法还包括:
若当前作业队列的调度时长大于当前作业队列的调度周期对应的时长,则将当前作业队列中的待调度作业转移至第二目标作业队列中;第二目标作业队列的优先级高于当前作业队列。
其中,第二目标作业队列一般指的是当前作业队列的上一个优先级队列,当然,第二目标作业队列也可以是其他优先级大于当前作业队列的作业队列。
在本实施例中,作业调度系统在调度过程中,若当前作业队列的调度时长超出当前作业队列的调度周期对应的时长,即,当前作业队列的待调度作业在调度周期内一直未被调度,那么将当前作业队列中的待调度作业转移至上一个优先级队列中,以确保当前队列中的待调度作业可以及时被调度。
在另外一种场景下,在其中一个可选的实施例中,该方法还包括:
若存在至少两个作业队列的调度时长均大于调度周期对应的时长,则根据所有待调度作业的优先级,重新划分作业队列。
在本实施例中,作业调度系统在调度过程中,若存在至少两个作业队列的调度时长超出当前作业队列的调度周期对应的时长,即,至少两个作业队列的待调度作业在调度周期内一直未被调度,那么作业调度系统则根据剩余所有待调度作业的优先级,重新对待调度作业进行排列,并将各个待调度作业转移至对应的优先级作业队列中,以确保当前队列中的待调度作业可以及时被调度。
在本实施例中,作业调度系统在面临不同的场景下,对待调度作业以及作业队列进行相应的操作,使得作业调度系统可以及时地对未被调度的作业进行调整,优化了作业调度系统的作业调度机制,提高了作业调度系统的作业调度吞吐率。
为了更好的说明上述方法,如图4所示,本实施例提供一种XXXX方法,具体包括:
S101、获取SLURM调度系统中所有待调度作业的优先级;
S102、根据所有待调度作业的优先级,划分多个不同优先级的作业队列;
S103、根据不同优先级的作业队列,确定各作业队列的调度周期;
S104、根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度;
S105、在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中;
S106、根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度;
S107、若当前作业队列中不存在剩余待调度作业,则对第一目标作业队列中的待调度作业进行调度;
S108、若当前作业队列的调度时长大于当前作业队列的调度周期对应的时长,则将当前作业队列中的待调度作业转移至第二目标作业队列中;
S109、若存在至少两个作业队列的调度时长均大于调度周期对应的时长,则根据所有待调度作业的优先级,重新划分作业队列。
在本实施例中,SLURM调度系统将调度失败的高优先级作业及时的转移到低优先级的队列中,能够有效地保证本级队列内低优先级作业被及时调度,避免了由于高优先级作业调度失败导致低优先级作业无法调度处于饥饿状态的问题,同时提高了SLURM调度系统的吞吐量和健壮性。
上述实施例提供的作业调度方法,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种作业调度装置,包括:
调度模块01,用于根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度;
转移模块02,用于在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中;第一目标作业队列的优先级次于当前作业队列;
调度模块01,还用于根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。
在其中一个可选的实施例中,如图6所示,该作业调度装置还包括划分模块03;
划分模块03,用于获取SLURM调度系统中所有待调度作业的优先级;根据所有待调度作业的优先级,划分多个不同优先级的作业队列;作业队列中包括至少一个待调度作业。
在其中一个可选的实施例中,调度模块01,还用于若当前作业队列中不存在剩余待调度作业,则对第一目标作业队列中的待调度作业进行调度;调度失败的作业的优先级大于第一目标作业队列中原始待调度作业的优先级。
在其中一个可选的实施例中,如图7所示,该作业调度装置还包括确定模块04;
确定模块03,用于根据不同优先级的作业队列,确定各作业队列的调度周期;优先级越高的作业队列的调度周期越短。
在其中一个可选的实施例中,转移模块02,还用于若当前作业队列的调度时长大于当前作业队列的调度周期对应的时长,则将当前作业队列中的待调度作业转移至第二目标作业队列中;第二目标作业队列的优先级高于当前作业队列。
在其中一个可选的实施例中,划分模块03,还用于若存在至少两个作业队列的调度时长均大于调度周期对应的时长,则根据所有待调度作业的优先级,重新划分作业队列。
关于作业调度装置的具体限定可以参见上文中对于作业调度方法的限定,在此不再赘述。上述作业调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度;
在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中;第一目标作业队列的优先级次于当前作业队列;
根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。
上述实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
根据SLURM调度系统中的各作业队列的优先级、各作业队列中待调度作业的优先级进行调度;
在作业调度过程中,若当前作业队列中存在调度失败的作业,则将调度失败的作业转移至第一目标作业队列中;第一目标作业队列的优先级次于当前作业队列;
根据当前作业队列中剩余待调度作业的优先级,对当前作业队列中的作业进行调度。
上述实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种作业调度方法,其特征在于,所述方法包括:
根据SLURM调度系统中的各作业队列的优先级、各所述作业队列中待调度作业的优先级进行调度;所述SLURM调度系统中包括多个作业队列,各所述作业队列的优先级由高到低排序,各所述作业队列内的各所述待调度作业按照优先级排序,较高优先级的作业在前,低优先级的作业在后,较高优先级的作业会被优先调度;
在作业调度过程中,若当前作业队列中存在调度失败的作业,则将所述调度失败的作业转移至第一目标作业队列中;所述第一目标作业队列的优先级次于所述当前作业队列;
根据所述当前作业队列中剩余待调度作业的优先级,对所述当前作业队列中的作业进行调度;
若所述当前作业队列中不存在剩余待调度作业,则对所述第一目标作业队列中的待调度作业进行调度;所述调度失败的作业的优先级大于所述第一目标作业队列中原始待调度作业的优先级。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述SLURM调度系统中所有待调度作业的优先级;
根据所述所有待调度作业的优先级,划分多个不同优先级的作业队列;所述作业队列中包括至少一个所述待调度作业。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据不同优先级的作业队列,确定各所述作业队列的调度周期;优先级越高的作业队列的调度周期越短。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述当前作业队列的调度时长大于所述当前作业队列的调度周期对应的时长,则将所述当前作业队列中的待调度作业转移至第二目标作业队列中;所述第二目标作业队列的优先级高于所述当前作业队列。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若存在至少两个作业队列的调度时长均大于调度周期对应的时长,则根据所有所述待调度作业的优先级,重新划分作业队列。
6.根据权利要求1所述的方法,其特征在于,所述第一目标作业队列为所述当前作业队列的下一个优先级的作业队列或优先级低于所述当前作业队列的其他作业队列。
7.一种作业调度系统,其特征在于,所述作业调度系统包括多个不同优先级的作业队列;各所述作业队列中包括与所述作业队列的优先级对应的至少一个待调度作业;
所述系统用于执行权利要求1-6中任一项所述的作业调度方法。
8.一种作业调度装置,其特征在于,所述装置包括:
调度模块,用于根据SLURM调度系统中的各作业队列的优先级、各所述作业队列中待调度作业的优先级进行调度;所述SLURM调度系统中包括多个作业队列,各所述作业队列的优先级由高到低排序,各所述作业队列内的各所述待调度作业按照优先级排序,较高优先级的作业在前,低优先级的作业在后,较高优先级的作业会被优先调度;
转移模块,用于在作业调度过程中,若当前作业队列中存在调度失败的作业,则将所述调度失败的作业转移至第一目标作业队列中;所述第一目标作业队列的优先级次于所述当前作业队列;若所述当前作业队列中不存在剩余待调度作业,则对所述第一目标作业队列中的待调度作业进行调度;所述调度失败的作业的优先级大于所述第一目标作业队列中原始待调度作业的优先级;
调度模块,还用于根据所述当前作业队列中剩余待调度作业的优先级,对所述当前作业队列中的作业进行调度。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110869517.4A CN113590289B (zh) | 2021-07-30 | 作业调度方法、系统、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110869517.4A CN113590289B (zh) | 2021-07-30 | 作业调度方法、系统、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590289A CN113590289A (zh) | 2021-11-02 |
CN113590289B true CN113590289B (zh) | 2024-09-06 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423120A (zh) * | 2017-04-13 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 任务调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109117260B (zh) | 一种任务调度方法、装置、设备和介质 | |
CN110249311B (zh) | 云计算系统中针对虚拟机的资源管理 | |
US8943353B2 (en) | Assigning nodes to jobs based on reliability factors | |
CN107018091B (zh) | 资源请求的调度方法和装置 | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
CN111104227B (zh) | 一种K8s平台的资源控制方法、装置及相关组件 | |
US9507633B2 (en) | Scheduling method and system | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN107515781B (zh) | 一种基于多处理器的确定性任务调度及负载均衡系统 | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN112114958A (zh) | 资源隔离方法、分布式平台、计算机设备和存储介质 | |
CN114816709A (zh) | 任务调度方法、装置、服务器及可读存储介质 | |
US11093291B2 (en) | Resource assignment using CDA protocol in distributed processing environment based on task bid and resource cost | |
CN110231981B (zh) | 服务调用方法及装置 | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN113590289B (zh) | 作业调度方法、系统、装置、计算机设备和存储介质 | |
CN117078495A (zh) | 图形处理器的内存分配方法、装置、设备及存储介质 | |
CN111143063A (zh) | 任务的资源预约方法及装置 | |
CN112486638A (zh) | 用于执行处理任务的方法、装置、设备和存储介质 | |
CN113127289B (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN115202842A (zh) | 任务调度方法及装置 | |
CN115658292A (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN113590289A (zh) | 作业调度方法、系统、装置、计算机设备和存储介质 | |
CN114675954A (zh) | 任务调度方法及装置 | |
CN112395063A (zh) | 一种动态多线程调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |