CN112860390A - 作业调度程序、信息处理设备和作业调度方法 - Google Patents
作业调度程序、信息处理设备和作业调度方法 Download PDFInfo
- Publication number
- CN112860390A CN112860390A CN202011215976.2A CN202011215976A CN112860390A CN 112860390 A CN112860390 A CN 112860390A CN 202011215976 A CN202011215976 A CN 202011215976A CN 112860390 A CN112860390 A CN 112860390A
- Authority
- CN
- China
- Prior art keywords
- job
- jobs
- execution
- scheduling
- information
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000010586 diagram Methods 0.000 description 50
- 230000003111 delayed effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及作业调度程序、信息处理设备和作业调度方法。一种用于使计算机执行处理的作业调度程序,处理包括:通过将执行目标的多个作业以优先级的降序进行分组来生成一个或更多个作业组,以及调度关于多个作业的执行定时,使得包括具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于在其他作业组中包括的相应作业的调度,其中调度包括调度特定作业组中包括的相应作业的执行定时,使得特定作业组中包括的所有作业的执行完成时间满足预定条件。
Description
技术领域
本文讨论的实施方式涉及作业调度程序(job scheduling program)、信息处理设备和作业调度方法。
背景技术
例如,向用户提供服务的业务运营商(在下文中,也简称为业务运营商)构建用于提供服务的业务系统。例如,业务运营商操作作业调度器,该作业调度器被配置成确定上述业务系统中的相应作业的执行时间等。
具体地,当输入新作业时,作业调度器基于诸如相应节点中的作业执行状态的信息来指定可以执行新作业的节点。作业调度器指示任何指定的节点执行新作业(例如,请参见PTL 1)。
[引用列表]
[专利文献]
[PTL 1]日本公开特许公报第8-106369号
发明内容
[技术问题]
例如,当输入多个新作业时,作业调度器调度相应作业的执行定时,使得相应作业的执行顺序符合相应作业的优先级。
然而,例如,当用于执行相应作业的节点的数量和相应作业的执行时间改变时,作业调度器无法生成可以有效使用相应节点的资源的调度,并且执行完所有作业的结束定时可能会延迟。
鉴于上述情况,例如,作业调度器调度相应作业的执行定时,使得尽可能有效地使用相应节点的资源。因此,作业调度器可以抑制所有作业的执行结束定时的延迟。
然而,在这种情况下,具有高优先级的作业(例如,较早输入的作业)的执行定时可能被大大延迟,并且可能不满足采用的系统条件。
鉴于以上情况,根据一个方面,本公开内容旨在提供作业调度程序、信息处理设备和作业调度方法,利用该作业调度程序,有效地执行相应的作业,同时抑制了具有高优先级的作业的执行定时的延迟。
[问题的解决方案]
根据实施方式的一方面,使计算机执行处理,所述处理包括:通过将执行目标(execution targets)的多个作业以优先级的降序进行分组来生成一个或更多个作业组;以及调度关于多个作业的执行定时,使得:包括具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于在其他作业组中包括的相应作业的调度,其中,调度包括调度特定作业组中包括的相应作业的执行定时使得特定作业组中包括的所有作业的执行完成时间满足预定条件。
[本发明的有益效果]
根据一方面,有效地执行相应的作业,同时抑制具有高优先级的作业的执行定时的延迟。
附图说明
图1是用于描述信息处理系统10的配置的图;
图2是用于描述相应作业的调度的具体示例的图;
图3是用于描述相应作业的调度的具体示例的图;
图4是用于描述相应作业的调度的具体示例的图;
图5是用于描述信息处理设备1的硬件配置的图;
图6是信息处理设备1的功能框图;
图7是用于描述根据第一实施方式的作业调度处理的概要的流程图;
图8是用于描述根据第一实施方式的作业调度处理的细节的流程图;
图9是用于描述根据第一实施方式的作业调度处理的细节的流程图;
图10是用于描述根据第一实施方式的作业调度处理的细节的流程图;
图11是用于描述根据第一实施方式的作业调度处理的细节的流程图;
图12是用于描述根据第一实施方式的作业调度处理的细节的流程图;
图13是用于描述根据第一实施方式的作业调度处理的细节的流程图;
图14是用于描述作业队列信息132的具体示例的图;
图15是用于描述作业状态信息133的具体示例的图;
图16是用于描述作业组信息134的具体示例的图;
图17A是用于描述作业执行定时的调度的具体示例的图;
图17B是用于描述作业执行定时的调度的具体示例的图;
图17C是用于描述作业执行定时的调度的具体示例的图;
图17D是用于描述作业执行定时的调度的具体示例的图;
图17E是用于描述作业执行定时的调度的具体示例的图;
图17F是用于描述作业执行定时的调度的具体示例的图;
图18是用于描述作业执行定时的调度的具体示例的图;
图19是用于描述调度信息136的具体示例的图;
图20是用于描述作业执行定时的调度的具体示例的图;
图21是用于描述调度信息136的具体示例的图;
图22是用于描述作业执行定时的调度的具体示例的图;
图23是用于描述调度信息136的具体示例的图;
图24是用于描述作业执行定时的调度的具体示例的图;
图25是用于描述调度信息136的具体示例的图;
图26是用于描述作业队列信息132的具体示例的图;
图27是用于描述作业状态信息133的具体示例的图;以及
图28A是用于描述根据第一实施方式的作业调度处理的效果的图;以及
图28B是用于描述根据第一实施方式的作业调度处理的效果的图。
具体实施方式
[信息处理系统的配置]
将首先描述信息处理系统10的配置。图1是用于描述信息处理系统10的配置的图。
信息处理系统10包括信息处理设备1和操作终端2,在信息处理设备1中,调度作业的执行定时的作业调度器进行操作,操作终端2由业务运营商使用以执行所采用的操作。信息处理系统10还包括作业执行设备3,作业执行设备3根据信息处理设备1执行的调度来执行作业。
作业执行设备3是由多个节点(多个物理机器)构成的设备,并且例如是高性能计算(HPC)系统。操作终端2是可以经由网络NW诸如因特网访问信息处理设备1的终端。
在图1所示的示例中,业务运营商经由操作终端2将用于执行相应作业的节点的数量和相应作业的执行时间输入至信息处理设备1。信息处理设备1基于从操作终端2输入的相应信息生成指示相应作业的执行定时的调度的信息(以下也称为调度信息),并将该信息发送至作业执行设备3。此后,作业执行设备3根据从信息处理设备1发送的调度信息执行相应的作业。在下文中,将描述在信息处理设备1中执行的相应作业的调度。
[作业调度的具体示例]
图2至图4是用于描述相应作业的调度的具体示例的图。在图2至图4所示的示例中,纵轴和横轴分别表示时间和节点的标识编号。在图2至图4所示的示例中,相应作业的编号指示相应作业的优先级。
具体地,例如,图2至图4是用于描述优先级为“1”的作业(以下,也称为作业1)、优先级为“2”的作业(以下,也称为作业2)、优先级为“3”的作业(以下,也称为作业3)、优先级为“4”的作业(以下,也称为作业4)和优先级为“5”的作业(以下也称为作业5)的调度。
在图2至图4的示例中,将在用于执行作业1的节点的数量和执行时间分别为“40个(节点)”和“40(分钟)”、用于执行作业2的节点的数量和执行时间分别是“20个(节点)”和“50(分钟)”、用于执行作业3的节点的数量和执行时间分别是“80个(节点)”和“20(分钟)”、用于执行作业4的节点的数量和执行时间分别为“80个(节点)”和“30(分钟)”、用于执行作业5的节点的数量和执行时间分别为“40个(节点)”和“20(分钟)”的情况下提供说明。在下文中,将在具有较低优先级值的作业比其他作业优先执行的情况下提供说明。以下,将在作业执行设备3中分配的作业的数量为100个(节点)的情况下提供说明。
[在0(分钟)处的调度]
首先,将描述在时间为“0(分钟)”的定时处的作业调度。
首先,信息处理设备1(作业调度器)指定作业执行设备3中包括的节点的数量为“100个(节点)”,并且用于执行作业1的节点的数量为“40个(节点)”。为此,信息处理设备1确定可以从开始执行作业1。
接下来,信息处理设备1指定当执行作业1时没有执行作业的节点的数量为“60个(节点)”,并且用于执行作业2的节点的数量为“20个(节点)”。为此,信息处理设备1确定作业2也可以与作业1一起从开始执行。
接下来,信息处理设备1指定当执行作业1和2时没有执行作业的节点的数量为“40个(节点)”,并且用于执行作业3的节点的数量为“80个(节点)”。因此,信息处理设备1确定作业3不与作业1和2一起执行。
因此,如图2所示,例如,信息处理设备1确定在时间为“0(分钟)”时的定时(第一定时)处,使用节点编号从“1”到“40”的40个(节点)执行作业1,并且还使用节点编号从“41”到“60”的20个(节点)来执行作业2。
[在40(分钟)处的调度]
接下来,将描述在时间为“40(分钟)”的定时(作业1的执行结束时的定时)处的作业调度。
信息处理设备1指定在时间为“40(分钟)”的定时处结束作业1的执行时没有执行作业的节点的数量为“60个(节点)”,并且用于执行作业3的节点的数量为“80个(节点)”。
由于这个原因,如图2所示,例如,信息处理设备1确定在时间为“40(分钟)”的定时处不执行作业3。
[在50(分钟)处的调度]
接下来,将描述在时间为“50(分钟)”的定时(作业2的执行结束时的定时)处的作业调度。
信息处理设备1指定在时间为“50(分钟)”的定时处结束作业2的执行时没有执行作业的节点的数量为“100个(节点)”,并且用于执行作业3的节点的数量为“80个(节点)”。
由于这个原因,如图2所示,例如,信息处理设备1确定在时间为“50(分钟)”的定时处使用节点编号从“1”到“80”的80个(节点)来执行作业3。
[在70(分钟)处的调度]
接下来,将描述在时间为“70(分钟)”的定时(作业3的执行结束时的定时)处的作业调度。
信息处理设备1指定在时间为“70(分钟)”的定时处结束作业3的执行时没有执行作业的节点的数量为“100个(节点)”,并且用于执行作业4的节点的数量为“80个(节点)”。
由于这个原因,如图2所示,例如,信息处理设备1确定在时间为“70(分钟)”的定时处使用节点编号从“1”到“80”的80个(节点)来执行作业4。
[在100(分钟)处的调度]
接下来,将描述在时间为“100(分钟)”时的定时(作业4的执行结束的定时)处的作业调度。
信息处理设备1指定在时间为“100(分钟)”的定时处结束作业4的执行时没有执行作业的节点的数量为“100个(节点)”,并且用于执行作业5的节点的数量为“40个(节点)”。
由于这个原因,如图2所示,例如,信息处理设备1确定在时间为“100(分钟)”的定时处使用节点编号从“1”到“40”的40个(节点)来执行作业5。
例如,图2中所示的示例指示相应作业1至5的执行花费了120(分钟)的情况。
例如,当存在没有执行具有高优先级的作业但是可以执行具有低优先级的作业的时隙时,信息处理设备1可以与具有高优先级的作业相比更早地执行具有低优先级的作业。
具体地,例如,在图2所示的示例中,当执行作业1和2时,没有执行作业的节点的数量为“40个(节点)”,并且用于执行作业5的节点的数量为“20个(节点)”。由于这个原因,如图3所示,例如,信息处理设备1可以确定在时间为“0(分钟)”的定时处执行作业1、2和5。
例如,与参照图2描述的情况相比,信息处理设备1可以通过采用图3所示的方法(在下文中,也称为相关技术的方法)来有效地执行相应作业。
然而,在图2或图3所示的示例中,当用于执行相应作业的节点的数量和相应作业的执行时间有很大变化时,信息处理设备1无法生成可以有效使用相应节点的资源的调度,并且所有作业的执行结束定时可能会延迟。
鉴于以上情况,如图4所示,例如,信息处理设备1调度相应作业的执行定时使得尽可能有效地使用相应节点的资源。因此,信息处理设备1可以抑制所有作业的执行结束定时的延迟。
然而,在这种情况下,如图4所示,在某些情况下,可能会大大延迟较早输入的作业1的执行定时,并且可能无法满足采用的系统条件。
鉴于以上情况,根据本实施方式的信息处理设备1通过对执行目标的多个作业以优先级的降序进行分组来生成一个或更多个作业组。信息处理设备1调度关于多个作业的执行定时,使得:包括具有较高优先级的作业的作业组(以下,也称为特定作业组)中包括的相应作业的调度被实现为优先于在其他作业组中包括的相应作业的调度。在这种情况下,信息处理设备1调度关于特定作业组中包括的相应作业的执行定时使得特定作业组中包括的所有作业的执行完成时间满足预定条件。
例如,信息处理设备1在不考虑同一作业组中包括的作业之间的关系中的优先级的情况下进行调度,同时包括具有高优先级的作业的作业组中包括的相应作业优先于其他作业组中包括的相应作业。
因此,信息处理设备1可以调度相应作业的执行定时,使得可以实现既避免具有高优先级的作业的执行定时的延迟,又有效地执行相应的作业。
[信息处理系统的硬件配置]
接下来,将描述信息处理系统10的硬件配置。图5是用于描述信息处理设备1的硬件配置的图。
如图5所示,信息处理设备1包括用作处理器的CPU 101、存储器102、通信装置103和存储介质104。这些部件经由总线105彼此耦接。
存储介质104包括例如程序存储区域(未示出),该程序存储区域存储用于执行调度作业执行定时的处理(以下也称为作业调度处理)的程序110。存储介质104还包括例如存储单元130(在下文中,也称为信息存储区域130),该存储单元130存储在执行作业调度处理时使用的信息。存储介质104可以是例如硬盘驱动器(HDD)或固态驱动器(SSD)。
CPU 101执行从存储介质104加载到存储器102的程序110,以执行作业调度处理。
通信装置103例如经由网络NW与操作终端2进行通信。
[信息处理系统的功能]
接下来,将描述信息处理系统10的功能。图6是信息处理设备1的功能框图。
如图6所示,例如,当诸如CPU 101和存储器102的硬件与程序110有机地相互协作时,信息处理设备1实现包括信息接收单元111、信息管理单元112、作业发送单元113、作业组生成单元114、调度单元115、执行指令单元116、持续时间指定单元117、平均时间计算单元118和作业数量确定单元119的各种功能。
例如,如图6所示,信息处理设备1在信息存储区域130中存储作业信息131、作业队列信息132、作业状态信息133、作业组信息134、作业数量信息135和调度信息136。
信息接收单元111例如接收由业务运营商经由操作终端2输入的作业。信息接收单元111还例如接收由业务运营商经由操作终端2输入的各种信息。具体地,例如,信息接收单元111接收指示用于执行相应作业的节点的数量的信息以及指示相应作业的执行时间的信息(以下,这些也统称为作业信息131)。
信息管理单元112将由信息接收单元111接收到的作业信息131存储在信息存储区域130中。信息管理单元112生成指示由信息接收单元111接收到的作业的优先级(例如,作业至信息处理设备1的输入顺序)的作业队列信息132,并将该信息存储在信息存储区域130中。
信息管理单元112生成指示相应作业的执行状态的作业状态信息133,并将作业状态信息133存储在信息存储区域130中。具体地,例如,当检测到新作业的执行开始时,信息管理单元112生成指示该现象的作业状态信息133,并将该信息存储在信息存储区域130中。例如,当检测到作业的执行结束时,信息管理单元112生成指示该现象的作业状态信息133,并将作业状态信息133存储在信息存储区域130中。
例如,作业发送单元113将由信息接收单元111接收到的作业发送至作业执行设备3。
作业组生成单元114通过将信息接收单元111接收到的相应作业以优先级的降序进行分组来生成一个或更多个作业组。具体地,例如,作业组生成单元114通过将由信息接收单元111接收到的相应作业以输入顺序的降序进行分组来生成一个或更多个作业组。信息管理单元112生成指示由作业组生成单元114生成的一个或更多个作业组的作业组信息134,并将作业组信息134存储在信息存储区域130中。
例如,作业组生成单元114可以通过以下来生成一个或更多个作业组:参考存储在信息存储区域130中的作业队列信息132和作业数量信息135,并且将其信息包括在作业队列信息132中的每个作业分组为与由作业数量信息135指示的数量相同数量的作业的集合。
调度单元115调度由信息接收单元111接收到的相应作业的执行定时,使得:包括在具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于其他作业组中包括的相应作业的调度。
在这种情况下,调度单元115调度特定作业组中包括的相应作业的执行定时,使得:特定作业组中包括的所有作业的执行完成时间满足预定条件。具体地,例如,调度单元115指定其中在相应作业组中包括的所有作业的执行完成时间最早的调度,作为关于相应作业组中包括的相应作业的调度。信息管理单元112生成指示由调度单元115指定的调度的调度信息136,并将调度信息136存储在信息存储区域130中。
执行指令单元116将存储在信息存储区域130中的调度信息136发送至作业执行设备3。
持续时间指定单元117参考存储在信息存储区域130中的作业状态信息133,并且针对执行结束的每个作业,分别指定从在包括相应作业的作业组中的在开始时执行的作业的执行开始时间到相应作业的执行开始时间的持续时间(例如,直到开始相应作业的执行所花费的等待时间)。
平均时间计算单元118参考存储在信息存储区域130中的作业状态信息133,并计算与执行结束的作业之中的满足预定条件的作业相对应的持续时间的平均时间。具体地,例如,平均时间计算单元118计算与执行结束的作业之中的具有高优先级的多个作业(例如,预定数量的作业)相对应的持续时间的平均时间。
作业数量确定单元119更新(重新确定)存储在信息存储区域130中的作业数量信息135,以指示比当前值低的值。
[第一实施方式的概要]
接下来,将描述第一实施方式的概要。图7是用于描述根据第一实施方式的作业调度处理的概要的流程图。
如图7所示,信息处理设备1等待调度开始定时(S1中为否)。例如,调度开始定时可以是作业执行开始时的定时或作业执行结束时的定时。
当调度开始定时到达时(S1中为是),信息处理设备1通过将执行目标的多个作业以优先级的降序进行分组来生成多个作业组(S2)。
此后,信息处理设备1调度关于多个作业的执行定时,使得:包括具有较高优先级的作业的特定作业组中包括的相应作业优先,并且特定作业组中包括的所有作业的执行完成时间也满足预定条件(S3)。
因此,信息处理设备1可以调度相应作业的执行定时,使得可以实现既避免具有高优先级的作业的执行定时的延迟,又有效地执行相应作业(当执行相应作业时,作业执行设备3的资源使用率提高)。
[第一实施方式的细节]
接下来,将描述第一实施方式的细节。图8至图13是用于描述根据第一实施方式的作业调度处理的细节的流程图。图14至图28B是用于描述根据第一实施方式的作业调度处理的细节的图。
[作业管理处理]
首先,将描述在作业调度处理中用于管理作业的处理(以下,也称为作业管理处理)。图8至图10是用于描述作业管理处理的流程图。
如图8所示,信息处理设备1的信息接收单元111进行等待直到接收到从操作终端2发送的作业(S11中为否)。
当接收到作业时(S11中为是),信息处理设备1的作业发送单元113将在S11的处理中接收到的作业发送至作业执行设备3(S12)。
在这种情况下,信息处理设备1的信息管理单元112将与在S11的处理中接收到的作业相对应的作业信息131添加到存储在信息存储区域130中的作业队列信息132(S13)。具体地,例如,信息管理单元112将在S11的处理中接收到的作业信息131与作业一起添加到存储在信息存储区域130中的作业队列信息132中。在下文中,将描述作业队列信息132的具体示例。
[作业队列信息的具体示例(1)]
图14是用于描述作业队列信息132的具体示例的图。
图14所示的作业队列信息132具有设置用于标识作业队列信息132中包括的相应信息的信息的“项目编号”、设置相应作业的名称的“作业名称”、在与相应作业相对应的作业信息131中用于执行相应作业的节点的数量的“节点数量”、以及在与相应作业相对应的作业信息131中设置相应作业的执行时间的“执行时间”作为项目。图14中所示的作业队列信息132具有信息接收单元111在S11的处理中接收到相应作业的时间的“接受时间”作为项目。
具体地,例如,在图14所示的作业队列信息132中,对于“项目编号”为“1”的信息,将“JOB-A2”设置为“作业名称”,将“20个(节点)”设置为“节点数量”,将“20(分钟)”设置为“执行时间”,将“11:12”设置为“接受时间”。
在图14所示的作业队列信息132中,对于“项目编号”为“2”的信息,将“JOB-C5”设置为“作业名称”,将“60个(节点)”设置为“节点数量”,将“20(分钟)”设置为“执行时间”,将“11:15”设置为“接受时间”。
在图14所示的作业队列信息132中,对于“项目编号”为“3”的信息,将“JOB-D1”设置为“作业名称”,将“40个(节点)”设置为“节点数量”,将“30(分钟)”设置为“执行时间”,将“11:16”设置为“接受时间”。省略图14中包括的其他信息的描述。
再次参照图9,信息接收单元111进行等待直到在作业执行设备3中检测到新作业的执行开始(S21中为否)。具体地,例如,信息接收单元111进行等待直到从作业执行设备3接收到指示新作业的执行开始的信息。
当检测到作业执行设备3中新作业的执行开始时(S21中为是),信息管理单元112将与在处理S21中检测到执行开始的作业相对应的信息添加到存储在信息存储区域130中的作业状态信息133(S22)。
在这种情况下,信息处理设备1的信息管理单元112从存储在信息存储区域130中的作业队列信息132中删除与在S21的处理中检测到执行开始的作业相对应的信息(S23)。
如图10中所示,信息接收单元111进行等待直到检测到作业执行设备3中作业执行结束(S31中为否)。具体地,例如,信息接收单元111进行等待直到从作业执行设备3接收到指示作业执行结束的信息。
当检测到作业执行设备3中作业执行结束时(S31中为是),信息管理单元112从存储在信息存储区域130中的作业状态信息133中删除与在处理S31中检测到执行结束的作业相对应的信息(S32)。在下文中,将描述作业状态信息133的具体示例。
[作业状态信息的具体示例(1)]
图15是用于描述作业状态信息133的具体示例的图。
图15中所示的作业状态信息133具有设置用于标识作业状态信息133中包括的相应信息的信息的“项目编号”、设置相应作业(在作业执行设备3中执行的作业)的名称的“作业名称”、设置指示用于执行相应作业的节点的信息的“执行节点”作为项目。图15中所示的作业状态信息133具有设置相应作业的执行开始时间的“执行开始时间”和设置相应作业的预计执行结束时间的“执行结束时间”作为项目。在下文中,将在作业执行设备3中包括的100个(节点)的标识信息分别为N1至N100的情况下提供描述。
具体地,例如,在图15所示的作业状态信息133中,对于“项目编号”为“1”的信息,将“JOB-A4”设置为“作业名称”,将“N1”至“N40”(“N1-N40”)设置为“执行节点”,将“11:40”设置为“执行开始时间”,将“12:00”设置为“执行结束时间”。
在图15所示的作业状态信息133中,对于“项目编号”为“2”的信息,将“JOB-B2”设置为“作业名称”,将“N41”至“N80”(“N41-N80”)设置为“执行节点”,将“11:50”设置为“执行开始时间”,将“12:00”设置为“执行结束时间”。
在图15所示的作业状态信息133中,对于“项目编号”为“3”的信息,将“JOB-A7”设置为“作业名称”,将“N81”至“N100”(“N81-N100”)设置为“执行节点”,将“11:20”设置为“执行开始时间”,将“12:00”设置为“执行结束时间”。
例如,图15中所示的作业状态信息133指示正在作业执行设备3中执行三个作业,并且所有作业的执行预计在12:00结束。
[作业调度处理的主处理]
接下来,将描述作业调度处理的主处理。图11和图12是用于描述作业调度处理的主处理的流程图。
如图11中所示,例如,信息接收单元111进行等待直到执行了S23或S32中的处理(S41中为否)。例如,信息接收单元111进行等待直到在作业执行设备3中新作业的执行开始或者在作业执行设备3中作业的执行结束。
当执行了S23或S32中的处理时(S41中为是),信息处理设备1的作业组生成单元114参考存储在信息存储区域130中的作业队列信息132和作业组信息134,并通过将要执行的作业以优先级的降序进行分组来生成一个或更多个作业组(S42)。具体地,例如,作业组生成单元114生成每个具有与由作业组信息134所指示的数量相同的数量的作业的作业组。
此后,信息管理单元112生成与在S42的处理中生成的一个或更多个作业组相对应的作业组信息134,并将作业组信息134存储在信息存储区域130中(S43)。在下文中,将描述作业组信息134的具体示例。
[作业组信息的具体示例(1)]
图16是用于描述作业组信息134的具体示例的图。
图16中所示的作业组信息134具有设置用于标识作业组信息134中包括的相应作业的信息的“项目编号”、设置相应作业的名称的“作业名称”、设置相应作业组的名称的“作业组名称”作为项目。
具体地,例如,在图14中描述的作业队列信息132中,在“作业名称”中设置的作业名称是按照在“接受时间”中设置的时间的升序排列的“JOB-A2”、“JOB-C5”、“JOB-D1”、“JOB-A8”、“JOB-A6”、“JOB-D5”、“JOB-C3”、“JOB-B3”、“JOB-D9”和“JOB-C2”。
为此,例如,当作业数量信息135指示的值为“3”时,信息管理单元112在“作业名称”中设置“JOB-A2”、“JOB-C5”或“JOB-D1”的信息(“项目编号”为“1”、“2”或“3”的信息)的每个“作业组名称”中设置“G1”。
类似地,信息管理单元112在“JOB-A8”、“JOB-A6”或“JOB-D5”被设置为“作业名称”的信息(“项目编号”为“4”、“5”或“6”的信息)的每个“作业组名称”中设置“G2”,在“JOB-C3”、“JOB-B3”或“JOB-D9”被设置为“作业名称”的信息(“项目编号”为“7”、“8”或“9”的信息)的每个“作业组名称”中设置G3,并且在“JOB-C2”被设置为“作业名称”的信息(“项目编号”为“10”的信息)的“作业组名称”中设置“G4”。
以下,将“作业组名称”为“G1”的作业组也称为作业组G1,将“作业组名称”为“G2”的作业组也称为作业组G2,将“作业组名称”为“G3”的作业组也称为作业组G3,将“作业组名称”为“G4”的作业组也称为作业组G4。
再次参照图11,信息处理设备1的调度单元115参考存储在信息存储区域130中的作业状态信息133,并且指定当前没有执行作业的节点(S44)。
如图12所示,调度单元115指定其信息包括在信息存储区域130中存储的作业组信息134中的一个作业组(S51)。
随后,调度单元115指定在S51的处理中指定的一个作业组中包括的相应作业的执行定时的调度之中所有作业的执行结束时间最早的调度(S52)。在下文中,将描述在S52的处理中指定的调度的具体示例。
[调度的具体示例(1)]
图17A至图17F和图18是用于描述作业执行定时的调度的具体示例的图。图17A至图17F和图18是用于描述在S51的第一处理中指定的作业组是作业组G1的情况的图。
具体地,例如,在图14中描述的作业队列信息132中,“作业名称”为“JOB-A2”的信息(“项目编号”为“1”的信息)的“节点数量”和“执行时间”分别设置为“20个(节点)”和“20(分钟)”。“作业名称”为“JOB-C5”的信息(“项目编号”为“2”的信息)的“节点数量”和“执行时间”分别设置为“60个(节点)”和“20(分钟)”,“作业名称”为“JOB-D1”的信息(“项目编号”为“3”的信息)的“节点数量”和“执行时间”分别设置为“40个(节点)”和“30(分钟)”。
例如,当在开始时执行作业1和作业2时,如图17A和图17B所示,结束所有作业1、作业2和作业3的执行所花费的时间是50(分钟)。例如,当在开始时执行作业2和作业3时,如图17C和图17D所示,结束所有作业1、作业2和作业3的执行所花费的时间是40(分钟)。类似地,例如,当在开始时执行作业1和作业3时,如图17E和图17F所示,结束所有作业1、作业2和作业3的执行所花费的时间是40(分钟)。
为此,如图18所示,例如,调度单元115选择在开始时执行作业2和作业3的调度(结束所有作业的执行所花费的时间最短的调度之一)。
再次参照图12,信息管理单元112根据在S52的处理中指定的调度来更新存储在信息存储区域130中的调度信息136(S53)。在下文中,将描述调度信息136的具体示例。
[调度信息的具体示例(1)]
图19是用于描述调度信息136的具体示例的图。图19是用于描述当在S51的第一处理中指定的作业组是作业组G1时生成的调度信息136的具体示例的图。
图19中所示的调度信息136具有设置用于标识调度信息136中包括的相应信息的信息的“项目编号”、设置相应作业的名称的“作业名称”、设置指示用于执行相应作业的节点的信息的“执行节点”作为项目。图19中所示的调度信息136具有设置相应作业的执行开始时间的“执行开始时间”和设置相应作业的预计执行结束时间的“执行结束时间”。
具体地,例如,图18中描述的调度指示作业1的执行节点为N1至N20,作业1的执行时间为12:20至12:40。图18中描述的调度指示作业2的执行节点为N1至N60,作业2的执行时间为12:00至12:20。图18中描述的调度指示作业3的执行节点为N61至N100,作业3的执行时间为12:00至12:30。
为此,如图19所示,例如,信息管理单元112将“N1”至“N20”(“N1-N20”)设置为“作业名称”为“JOB-A2”的信息(“项目编号”为“1”的信息)的“执行节点”,将“12:20”设置为“执行开始时间”,将“12:40”设置为“执行结束时间”。信息管理单元112将“N1”至“N60”(“N1-N60”)设置为“作业名称”为“JOB-C5”的信息(“项目编号”为“2”的信息)的“执行节点”,将“12:00”设置为“执行开始时间”,将“12:20”设置为“执行结束时间”。信息管理单元112将“N61”至“N100”(“N61-N100”)设置为“作业名称”为“JOB-D1”的信息(“项目编号”为“3”的信息)的“执行节点”,将“12:00”设置为“执行开始时间”,将“12:30”设置为“执行结束时间”。
再次参照图12,当在S51的处理中指定了所有作业组时(S54中为是),信息处理设备1的执行指令单元116将存储在信息存储区域130中的调度信息136发送至作业执行设备3(S55)。
例如,在这种情况下,执行指令单元116确定调度信息136的生成已完成,并且将该信息发送至作业执行设备3。
当在S51的处理中未指定所有作业组时(S54为否),执行指令单元116再次执行S51中的处理及后续步骤。
[调度的具体示例(2)]
接下来,将描述当在S51的第二处理中指定的作业组是作业组G2时选择的调度的具体示例。图20是用于描述作业执行定时的调度的具体示例的图。
具体地,例如,在图14中描述的作业队列信息132中,“作业名称”为“JOB-A8”的信息(“项目编号”为“4”的信息)的“节点数量”和“执行时间”分别设置为“60个(节点)”和“10(分钟)”。“作业名称”为“JOB-A6”的信息(“项目编号”为“5”的信息)的“节点数量”和“执行时间”分别设置为“20个(节点)”和“10(分钟)”,“作业名称”为“JOB-D5”的信息(“项目编号”为“6”的信息)的“节点数量”和“执行时间”分别设置为“40个(节点)”和“10(分钟)”。
在图18所示的示例中,预计在从“时间(分钟)”为“20(分钟)”的定时到“时间(分钟)”为“40(分钟)”的定时的时隙中执行作业1。在图18所示的示例中,预计在从“时间(分钟)”为“0(分钟)”的定时到“时间(分钟)”为“30(分钟)”的定时的时隙中执行作业3。
为此,如图20所示,例如,调度单元115选择其中在“时间(分钟)”为“20(分钟)”的定时与“时间(分钟)”为“30(分钟)”的定时之间(在执行作业1和作业3的时隙中)执行作业6并且在“时间(分钟)”为“30(分钟)”的定时与“时间(分钟)”为“40(分钟)”的定时之间(在执行作业1的时隙中)执行作业4和作业5的调度(结束所有作业的执行所花费的时间最短的调度之一)。
[调度信息的具体示例(2)]
接下来,将描述当在S51的第二处理中指定的作业组是作业组G2时生成的调度信息136的具体示例。图21是用于描述调度信息136的具体示例的图。
图20中描述的调度指示作业4的执行节点为N21至N80,作业4的执行时间为12:30至12:40。图20中描述的调度指示作业5的执行节点为N81至N100,作业5的执行时间为12:30至12:40。图20中描述的调度指示作业6的执行节点为N21至N60,作业6的执行时间为12:20至12:30。
为此,如图21中的下划线所指示的,信息管理单元112将“N21”至“N80”(“N21-N80”)设置为“作业名称”为“JOB-A8”的信息(“项目编号”为“4”的信息)的“执行节点”,将“12:30”设置为“执行开始时间”,将“12:40”设置为“执行结束时间”。信息管理单元112将“N81”至“N100”(“N81-N100”)设置为“作业名称”为“JOB-A6”的信息(“项目编号”为“5”的信息)的“执行节点”,将“12:30”设置为“执行开始时间”,将“12:40”设置为“执行结束时间”。信息管理单元112将“N21”至“N60”(“N21-N60”)设置为“作业名称”为“JOB-D5”的信息(“项目编号”为“6”的信息)的“执行节点”,将“12:20”设置为“执行开始时间”,将“12:30”设置为“执行结束时间”。
[调度的具体示例(3)]
接下来,将描述当在S51的第三处理中指定的作业组是作业组G3时选择的调度的具体示例。图22是用于描述作业执行定时的调度的具体示例的图。
具体地,例如,在图14中描述的作业队列信息132中,将“作业名称”为“JOB-C3”的信息(“项目编号”为“7”的信息)的“节点数量”和“执行时间”分别设置为“100个(节点)”和“10(分钟)”。将“作业名称”为“JOB-B3”的信息(“项目编号”为“8”的信息)的“节点数量”和“执行时间”分别设置为“80个(节点)”和“10(分钟)”,将“作业名称”为“JOB-D9”的信息(“项目编号”为“9”的信息)的“节点数量”和“执行时间”分别设置为“80个(节点)”和“30(分钟)”。
在图20所示的示例中,在“时间(分钟)”为“40(分钟)”的定时处,预计从作业1到作业6的所有作业的执行结束。
为此,如图22所示,例如,调度单元115选择其中在“时间(分钟)”为“40(分钟)”的定时与“时间(分钟)”为“50(分钟)”的定时之间执行作业7、在“时间(分钟)”为“50(分钟)”的定时与“时间(分钟)”为“60(分钟)”的定时之间执行作业8并且在“时间(分钟)”为“60(分钟)”的定时与“时间(分钟)”为“90(分钟)”的定时之间执行作业9的调度(结束所有作业的执行所花费的时间最短的调度之一)。
[调度信息的具体示例(3)]
接下来,将描述当在S51的第三处理中指定的作业组是作业组G3时生成的调度信息的具体示例。图23是用于描述调度信息136的具体示例的图。
图22中描述的调度指示作业7的执行节点为N1至N100,作业7的执行时间为12:40至12:50。图22中描述的调度指示作业8的执行节点为N1至N80,作业8的执行时间为12:50至13:00。图22中描述的调度指示作业9的执行节点为N1至N80,作业9的执行时间为13:00至13:30。
为此,如图23中的下划线所指示的,信息管理单元112将“N1”至“N100”(“N1-N100”)设置为“作业名称”为“JOB-C3”的信息(“项目编号”为“7”的信息)的“执行节点”,将“12:40”设置为“执行开始时间”,将“12:50”设置为“执行结束时间”。信息管理单元112将“N1”至“N80”(“N1-N80”)设置为“作业名称”为“JOB-B3”的信息(“项目编号”为“8”的信息)的“执行节点”,将“12:50”设置为“执行开始时间”,将“13:00”设置为“执行结束时间”。信息管理单元112将“N1”至“N80”(“N1-N80”)设置为“作业名称”为“JOB-D9”的信息(“项目编号”为“9”的信息)的“执行节点”,将“13:00”设置为“执行开始时间”,将“13:30”设置为“执行结束时间”。
[调度的具体示例(4)]
接下来,将描述当在S51的第四处理中指定的作业组是作业组G4时选择的调度的具体示例。图24是用于描述作业执行定时的调度的具体示例的图。
具体地,例如,在图14中描述的作业队列信息132中,“作业名称”为“JOB-C2”的信息(“项目编号”为“10”的信息)的“节点数量”和“执行时间”分别设置为“60个(节点)”和“20(分钟)”。
在图22所示的示例中,在“时间(分钟)”为“90(分钟)”的定时处,预计从作业1到作业9的所有作业的执行结束。
为此,如图24所示,例如,调度单元115选择其中在“时间(分钟)”为“90(分钟)”的定时与“时间(分钟)”为“110(分钟)”的定时之间执行作业10的调度。
[调度信息的具体示例(4)]
接下来,将描述当在S51的第四处理中指定的作业组是作业组G4时生成的调度信息的具体示例。图25是用于描述调度信息136的具体示例的图。
图24中描述的调度指示作业10的执行节点为N1至N60,作业10的执行时间为13:30至13:50。为此,如图25中的下划线所指示的,信息管理单元112将“N1”至“N60”(“N1-N60”)设置为“作业名称”为“JOB-C2”的信息(“项目编号”为“10”的信息)的“执行节点”,将“13:30”设置为“执行开始时间”,将“13:50”设置为“执行结束时间”。
在S55的处理中,执行指令单元116将图25所示的调度信息136发送至作业执行设备3。
因此,信息处理设备1可以使作业执行设备3执行相应作业,以使得实现既避免了具有高优先级的作业(例如,具有较早输入顺序的作业)的执行定时的延迟,又有效地执行了相应作业。
[作业队列信息的具体示例(2)]
接下来,将描述当作业执行设备3根据参照图25描述的调度信息136(由执行指令单元116发送的调度信息136)开始作业执行时作业队列信息132的具体示例。图26是用于描述作业队列信息132的具体示例的图。具体地,例如,图26是用于描述当开始其信息包括在图25所示的调度信息136中的作业之中的作业2和作业3的执行时作业队列信息132的具体示例的图。
在这种情况下,如图26所示,信息管理单元112从参照图14描述的作业队列信息132中包括的信息中删除了与作业2和作业3相对应的信息(“项目编号”为“2”和“3”的信息)(S23)。
例如,如图26中带下划线的部分所示,当输入“作业名称”为“JOB-E1”的作业和“作业名称”为“JOB-E2”的作业同时执行用于创建参照图25描述的调度信息136的作业调度处理时,信息管理单元112添加将“JOB-E1”设置为“作业名称”的信息(“项目编号”为“11”的信息)和将“JOB-E2”设置为“作业名称”的信息(“项目编号”为“12”的信息)(S13)。
[作业状态信息的具体示例(2)]
接下来,将描述当作业执行设备3根据参照图25描述的调度信息136(由执行指令单元116发送的调度信息136)开始作业执行时作业状态信息133的具体示例。图27是用于描述作业状态信息133的具体示例的图。具体地,例如,图27是用于描述当开始其信息包括在图25所示的调度信息136中的作业之中的作业2和作业3的执行时作业状态信息133的具体示例的图。
在这种情况下,如图27所示,信息管理单元112生成作业状态信息133,该作业状态信息133包括与作业2相对应的信息(“项目编号”为“1”的信息)和与作业3相对应的信息(“项目编号”为“2”的信息)(S22)。
在S52中的处理中,信息处理设备1还可以被配置成指定在S51的处理中指定的作业组中包括的相应作业之中的可以在作业执行设备3中同时执行的作业的组合,并且进一步指定在所指定的作业的组合之中的用于执行相应组合中包括的作业的节点的数量最高的组合(以下,也称为特定组合)。信息处理设备1还可以被配置成将其中在指定的特定组合中包括的相应作业被同时执行的调度指定为与在S51的处理中指定的作业组相对应的调度。
例如,当在S52的处理中指定的调度中的所有作业的执行结束时间与在S52的先前处理中指定的调度中的所有作业的执行结束时间相同时,信息处理设备1还可以被配置成中断作业调度处理的主处理,并使用例如相关技术方法来调度剩余的作业。
因此,信息处理设备1可以减轻由执行S52的处理而引起的处理负荷。
[作业数量更新处理]
接下来,将描述在作业调度处理中用于更新作业数量信息135的处理(在下文中,也称为作业数量更新处理)。图13是用于描述作业数量更新处理的流程图。
如图13所示,信息处理设备1的持续时间指定单元117等待作业数量信息更新定时(S61中为否)。例如,作业数量信息更新定时可以是其信息包括在S55的处理中由作业执行设备3发送的调度信息136中的所有作业的执行结束的定时。
当作业数量信息更新定时到达时(S61中为是),持续时间指定单元117参考存储在信息存储区域130中的作业状态信息133,并针对在上次执行作业数量更新处理之后执行结束的每个作业分别指定从包括相应作业的作业组中在开始时执行的作业的执行开始时间到相应作业的执行开始时间的持续时间(S62)。
接下来,信息处理设备1的平均时间计算单元118计算与在上次执行作业数量更新处理之后执行结束的作业之中的具有高优先级的多个作业相对应的持续时间的平均时间(S63)。
具体地,例如,平均时间计算单元118还可以被配置成计算与预定数量的具有高优先级的作业相对应的持续时间的平均时间。例如,平均时间计算单元118还可以被配置成计算与在优先级方面处于顶部起的预定百分比的作业相对应的持续时间的平均时间。
此后,信息处理设备1的作业数量确定单元119确定在S63的处理中计算出的平均时间是否超过特定阈值(S64)。
因此,当确定在S63的处理中计算出的平均时间超过特定阈值时(S64中为是),作业数量确定单元119执行更新,以使得存储在信息存储区域130中的作业数量信息135指示比当前值低的值(S65)。
当确定在S63的处理中计算出的平均时间不超过特定阈值时(S64中为否),作业数量确定单元119不执行S65中的处理。
例如,当确定在具有高优先级的多个作业中一定比例的作业的执行定时不在允许范围内时,信息处理设备1执行调整,以使得相应作业组中包括的作业的数量减少。
因此,信息处理设备1可以稳定地避免具有高优先级的作业的执行定时的延迟。
当确定在S63的处理中计算出的平均时间在与特定阈值不同的另一阈值以下时,作业数量确定单元119也可以被配置成执行更新,使得存储在信息存储区域130中的作业数量信息135指示高于当前值的值(S65)。
如上所述,根据本实施方式的信息处理设备1通过将执行目标的多个作业以优先级的降序进行分组来生成一个或更多个作业组。信息处理设备1调度关于多个作业的执行定时,使得包括具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于其他作业组中包括的相应作业的调度。在这种情况下,信息处理设备1调度关于特定作业组中包括的相应作业的执行定时,使得特定作业组中包括的所有作业的执行完成时间满足预定条件。
例如,信息处理设备1在不考虑同一作业组中包括的作业之间的关系中的优先级的情况下执行调度,同时将包括具有高优先级的作业的作业组中包括的相应作业优先于其他作业组中包括的相应作业。
因此,信息处理设备1可以调度相应作业的执行定时,使得可以实现既避免了具有高优先级的作业的执行定时的延迟,又有效地执行相应作业。
具体地,例如,如图28A所示,与使用相关技术方法(图28B所示)的情况相比,根据本实施方式的信息处理设备1可以将相应作业的执行完成时间提前,并且可以避免具有高优先级的作业(例如,作业1)的执行定时的延迟较长。
Claims (12)
1.一种用于使计算机执行处理的作业调度程序,所述处理包括:
通过将执行目标的多个作业以优先级的降序进行分组来生成一个或更多个作业组;以及
调度关于所述多个作业的执行定时,使得包括具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于在其他作业组中包括的相应作业的调度,
其中,
所述调度包括:调度所述特定作业组中包括的相应作业的执行定时,使得所述特定作业组中包括的所有作业的执行完成时间满足预定条件。
2.根据权利要求1所述的作业调度程序,其中,
所述多个作业在多个节点中执行,并且
所述调度包括:调度关于所述多个作业的执行定时,使得:当执行关于在所述多个作业中包括的特定作业的执行定时的调度时,所述特定作业的执行定时对应于能够使用与用于执行所述特定作业的节点的数量相同数量的节点时的时隙之中的最早的时隙。
3.根据权利要求1所述的作业调度程序,其中,
所述调度包括:通过针对所述一个或更多个作业组中的每个作业组选择在相应作业组中包括的所有作业的执行完成时间最早的调度来调度关于在所述相应作业组中包括的相应作业的执行定时。
4.根据权利要求1所述的作业调度程序,其中,
所述多个作业在多个节点中执行,并且
所述调度包括:
针对所述一个或更多个作业组中的每个作业组,指定在相应作业组中包括的作业之中的能够在所述多个节点中同时执行的作业的组合,
针对所述一个或更多个作业组中的每个作业组,指定所述作业的特定组合之中的用于执行相应组合中包括的作业的节点的数量最高的特定组合,以及
通过针对所述一个或更多个作业组中的每个作业组,选择所指定的特定组合中包括的相应作业被同时执行的调度,来调度关于在所述相应作业组中包括的作业的执行定时。
5.根据权利要求1所述的作业调度程序,其中,
所述生成包括将所述多个作业以优先级的降序分组为预定数量的作业的集合。
6.根据权利要求5所述的作业调度程序,其中,使所述计算机执行还包括以下操作的处理:
在执行所述多个作业之后,针对所述多个作业的每个集合,分别指定从包括所述相应作业的作业组中在开始时执行的作业的执行开始时间到所述相应作业的执行开始时间的持续时间;
计算与所述多个作业之中的满足所述预定条件的作业相对应的持续时间的平均时间;以及
当所计算的平均时间超过第一阈值时,重新确定所述预定数量,使得所述预定数量指示较低的值。
7.根据权利要求6所述的作业调度程序,其中,
所述计算包括计算与所述多个作业之中的具有高优先级的作业相对应的持续时间的平均时间。
8.根据权利要求6所述的作业调度程序,其中,使所述计算机执行还包括以下操作的处理:
当所计算的平均时间在第二阈值以下时,重新确定所述预定数量,使得所述预定数量指示比所述预定数量高的值。
9.一种信息处理设备,其包括:
存储器,以及
处理器,其耦接至所述存储器并且被配置成:
通过将执行目标的多个作业以优先级的降序进行分组来生成一个或更多个作业组,以及
执行用于以下的控制:调度关于所述多个作业的执行定时,使得包括具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于在其他作业组中包括的相应作业的调度,其中,
所述处理器执行用于以下的控制:调度所述特定作业组中包括的相应作业的执行定时,使得所述特定作业组中包括的所有作业的执行完成时间满足预定条件。
10.根据权利要求9所述的信息处理设备,其中,
所述处理器通过针对所述一个或更多个作业组中的每个作业组选择在相应作业组中包括的所有作业的执行完成时间最早的调度来调度关于在所述相应作业组中包括的相应作业的执行定时。
11.一种作业调度方法,包括:
通过将执行目标的多个作业以优先级的降序进行分组来生成一个或更多个作业组;以及
执行用于以下的控制:调度关于所述多个作业的执行定时,使得包括具有较高优先级的作业的特定作业组中包括的相应作业的调度被实现为优先于在其他作业组中包括的相应作业的调度,其中,
所述调度包括:调度所述特定作业组中包括的相应作业的执行定时,使得所述特定作业组中包括的所有作业的执行完成时间满足预定条件。
12.根据权利要求11所述的作业调度方法,其中,
所述调度包括:通过针对所述一个或更多个作业组中的每个作业组选择在相应作业组中包括的所有作业的执行完成时间最早的调度来调度关于在所述相应作业组中包括的相应作业的执行定时。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019204385A JP2021077180A (ja) | 2019-11-12 | 2019-11-12 | ジョブスケジューリングプログラム、情報処理装置及びジョブスケジューリング方法 |
JP2019-204385 | 2019-11-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860390A true CN112860390A (zh) | 2021-05-28 |
Family
ID=73013228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011215976.2A Pending CN112860390A (zh) | 2019-11-12 | 2020-11-04 | 作业调度程序、信息处理设备和作业调度方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11550626B2 (zh) |
EP (1) | EP3822784A1 (zh) |
JP (1) | JP2021077180A (zh) |
CN (1) | CN112860390A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946430A (zh) * | 2021-12-20 | 2022-01-18 | 北京并行科技股份有限公司 | 一种作业调度方法、计算设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202850B (zh) * | 2022-09-09 | 2022-12-20 | 国家超级计算天津中心 | 作业调度方法、装置、电子设备和存储介质 |
GB2624514A (en) * | 2022-09-23 | 2024-05-22 | Samsung Electronics Co Ltd | Method for optimising usage of a processing unit for executing machine learning models |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190943A1 (en) * | 2005-02-22 | 2006-08-24 | Northrop Grumman Corporation | System and a method for scheduling tasks |
US20090083746A1 (en) * | 2007-09-21 | 2009-03-26 | Fujitsu Limited | Method for job management of computer system |
CN108762896A (zh) * | 2018-03-26 | 2018-11-06 | 福建星瑞格软件有限公司 | 一种基于Hadoop集群任务调度方法及计算机设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2581451B2 (ja) * | 1994-06-03 | 1997-02-12 | 日本電気株式会社 | タスクスケジューリング方法 |
JP3221249B2 (ja) | 1994-10-04 | 2001-10-22 | 富士ゼロックス株式会社 | 出力装置およびジョブ管理装置 |
US10353774B2 (en) * | 2015-10-30 | 2019-07-16 | International Business Machines Corporation | Utilizing storage unit latency data in a dispersed storage network |
US20130074088A1 (en) * | 2011-09-19 | 2013-03-21 | Timothy John Purcell | Scheduling and management of compute tasks with different execution priority levels |
EP3121716A1 (en) * | 2015-07-21 | 2017-01-25 | Robert Bosch Gmbh | Method and apparatus for hosting a multitasking guest on a host system |
US9842000B2 (en) * | 2015-09-18 | 2017-12-12 | Salesforce.Com, Inc. | Managing processing of long tail task sequences in a stream processing framework |
GB2545435B (en) * | 2015-12-15 | 2019-10-30 | Advanced Risc Mach Ltd | Data processing systems |
US10095597B2 (en) * | 2016-01-13 | 2018-10-09 | International Business Machines Corporation | Managing a set of wear-leveling data using a set of thread events |
US20170213171A1 (en) * | 2016-01-21 | 2017-07-27 | Accenture Global Solutions Limited | Intelligent scheduling and work item allocation |
US10545796B2 (en) * | 2017-05-04 | 2020-01-28 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a scheduler with preemptive termination of existing workloads to free resources for high priority items |
US11113101B2 (en) * | 2017-06-05 | 2021-09-07 | Marvell Asia Pte, Ltd. | Method and apparatus for scheduling arbitration among a plurality of service requestors |
US11100604B2 (en) * | 2019-01-31 | 2021-08-24 | Advanced Micro Devices, Inc. | Multiple application cooperative frame-based GPU scheduling |
US11366689B2 (en) * | 2019-02-26 | 2022-06-21 | Nxp Usa, Inc. | Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units |
-
2019
- 2019-11-12 JP JP2019204385A patent/JP2021077180A/ja active Pending
-
2020
- 2020-10-19 US US17/073,489 patent/US11550626B2/en active Active
- 2020-10-22 EP EP20203310.6A patent/EP3822784A1/en not_active Withdrawn
- 2020-11-04 CN CN202011215976.2A patent/CN112860390A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190943A1 (en) * | 2005-02-22 | 2006-08-24 | Northrop Grumman Corporation | System and a method for scheduling tasks |
US20090083746A1 (en) * | 2007-09-21 | 2009-03-26 | Fujitsu Limited | Method for job management of computer system |
CN108762896A (zh) * | 2018-03-26 | 2018-11-06 | 福建星瑞格软件有限公司 | 一种基于Hadoop集群任务调度方法及计算机设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946430A (zh) * | 2021-12-20 | 2022-01-18 | 北京并行科技股份有限公司 | 一种作业调度方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210141667A1 (en) | 2021-05-13 |
JP2021077180A (ja) | 2021-05-20 |
US11550626B2 (en) | 2023-01-10 |
EP3822784A1 (en) | 2021-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860390A (zh) | 作业调度程序、信息处理设备和作业调度方法 | |
KR102207050B1 (ko) | 분산 컴퓨터 시스템에 전력 할당의 변화가 있을 때 중단될 수 있고 중단될 수 없는 작업들을 관리하는 방법들 및 장치 | |
US7076781B2 (en) | Resource reservation for large-scale job scheduling | |
US9575691B2 (en) | Scheduling user requests in a distributed resource system having a plurality of schedulers and coordinators | |
US9430283B2 (en) | Information processing apparatus and job scheduling method | |
CN103309738A (zh) | 用户作业调度方法及装置 | |
CN107193655B (zh) | 一种基于效用函数的面向大数据处理的公平资源调度方法 | |
CN114371926B (zh) | 一种精细化资源分配方法、装置、电子设备及介质 | |
US20140282588A1 (en) | System and scheduling method | |
CN113051064B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN111143045A (zh) | 智能家居操作系统的任务调度方法及装置、存储介质 | |
CN113342497A (zh) | 任务调度方法、装置、终端设备及计算机存储介质 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN102567120B (zh) | 一种节点调度优先级确定方法及装置 | |
KR101335038B1 (ko) | 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘 | |
CN107589985B (zh) | 一种面向大数据平台的两阶段作业调度方法及系统 | |
CN111143063A (zh) | 任务的资源预约方法及装置 | |
EP3935502A1 (en) | Virtual machines scheduling | |
US10866837B2 (en) | Distributed job framework and task queue | |
US11275621B2 (en) | Device and method for selecting tasks and/or processor cores to execute processing jobs that run a machine | |
US20210374652A1 (en) | Storage medium, job scheduling device, and job scheduling method | |
JP2015153011A (ja) | ジョブ実行計画装置 | |
US20210365871A1 (en) | Information processing apparatus and job scheduling method | |
CN113760494A (zh) | 任务调度方法和装置 | |
CN116848508A (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 |