CN107391262A - 一种作业调度方法及装置 - Google Patents
一种作业调度方法及装置 Download PDFInfo
- Publication number
- CN107391262A CN107391262A CN201710636998.8A CN201710636998A CN107391262A CN 107391262 A CN107391262 A CN 107391262A CN 201710636998 A CN201710636998 A CN 201710636998A CN 107391262 A CN107391262 A CN 107391262A
- Authority
- CN
- China
- Prior art keywords
- software
- carried out
- priority
- job
- hardware
- 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.)
- Granted
Links
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/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
- 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)
Abstract
本发明提供了一种作业调度方法及装置,涉及计算机技术领域。本发明提供的作业调度方法,采用独立的设置了软件配置阶段和硬件配置阶段,在获取到了未执行作业的作业信息后,先为未执行作业配置了软件,而后,又为未执行作业配置了硬件,最后按照配置的结果,由指定的硬件和指定的软件对未执行作业进行运行,这样用户可以清楚的了解到目前软件和硬件哪个数量不足,进而可以针对性的补充相应的软件和硬件。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种作业调度方法及装置。
背景技术
高性能计算(High performance computing,缩写HPC)指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境。有许多类型的HPC系统,其范围从标准计算机的大型集群,到高度专用的硬件。大多数基于集群的HPC系统使用高性能网络互连,比如那些来自InfiniBand或Myrinet的网络互连。
高性能计算的一个主要问题就是作业分配,或者说作业调度,能够将作业合理的分配给不同的计算资源来执行决定了整个系统的运行效率。
相关技术中,通常是按照先进先出的作业调度方式来为每个作业分配计算资源,即,计算系统先接收到的作业会优先被分配。但发明人发现,相关技术中的作业调度方式仅能满足一般作业调度的需求,仍然需要进行改进。
发明内容
本发明的目的在于提供作业调度方法,以提高分配效率。
第一方面,本发明实施例提供了一种作业调度方法,包括:
获取未执行作业的作业信息;
根据作业信息为未执行作业配置指定的目标软件;
为未执行作业配置指定的目标硬件;
通过驱动目标硬件执行目标软件对未执行作业进行处理。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,步骤根据作业信息为未执行作业配置指定的目标软件包括:
确定处于未分配作业状态的软件;
按照未执行作业的作业优先级由高至低的顺序,依次为指定的未执行作业配置指定的目标软件,并将配置了未执行作业的目标软件的状态设置为已分配作业且未运行状态。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,步骤依次为指定的未执行作业配置指定的目标软件包括:
判断当前作业优先级的未执行作业是否能够在目标软件中运行;
若是,则将当前作业优先级的未执行作业配置给目标软件,并将目标软件的状态设置为已分配作业且未运行状态;并选择下一作业优先级的作业作为当前作业优先级的作业,并重新执行步骤判断当前作业优先级的未执行作业是否能够在目标软件中运行;
若否,则跳过当前作业优先级的未执行作业,选择下一作业优先级的作业作为当前作业优先级的作业,并重新执行步骤判断当前作业优先级的未执行作业是否能够在目标软件中运行。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,按照如下方式计算作业优先级:
根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级包括:
按照加权计算的方式根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级,其中,权值按照如下顺序由大至小排列:第二优先级、第一优先级、软件优先级、接收到未执行作业的时间。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
根据全部未配置软件的作业所占用的目标软件的资源总量和处于未分配作业状态的软件的总量,判断软件数量是否缺少;
若是,则生成软件缺少报警信息。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,还包括:
根据全部未配置硬件的作业所占用的目标硬件的总量和处于未分配作业状态的硬件的总量,判断硬件数量是否缺少;
若是,则生成硬件缺少报警信息。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,步骤获取未执行作业的作业信息包括:
获取用户输入的未执行作业所对应的设定参数,设定参数包括第一优先级、软件种类和并行量;
对设定参数进行验证,若验证通过,则根据软件种类和并行量计算配置未执行作业所需要的软件的资源使用量,作业信息包括资源使用量。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,还包括:
获取处于空闲状态的软件的总量和处于空闲状态的硬件的总量;
根据处于空闲状态的软件的总量和处于空闲状态的硬件的总量,确定配置数量缺陷;
根据配置数量缺陷生成提示信息。
第二方面,本发明实施例还提供了一种作业调度装置,包括:
获取模块,用于获取未执行作业的作业信息;
第一配置模块,用于根据作业信息为未执行作业配置指定的目标软件;
第二配置模块,用于为未执行作业配置指定的目标硬件;
执行模块,用于通过驱动目标硬件执行目标软件对未执行作业进行处理。
本发明实施例提供的作业调度方法,采用独立的设置了软件配置阶段和硬件配置阶段,在获取到了未执行作业的作业信息后,先为未执行作业配置了软件,而后,又为未执行作业配置了硬件,最后按照配置的结果,由指定的硬件和指定的软件对未执行作业进行运行,这样用户可以清楚的了解到目前软件和硬件哪个数量不足,进而可以针对性的补充相应的软件和硬件。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种作业调度方法的基本流程图;
图2示出了本发明实施例所提供的一种作业调度方法的第一个细节流程的流程图;
图3示出了本发明实施例所提供的一种作业调度方法的第二个细节流程的流程图;
图4示出了本发明实施例所提供的一种作业调度装置的基本模块架构图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本申请所提供的方案的使用背景进行简要说明,本申请所提供的方案主要针对于CAE仿真软件进行作业调度时所使用。当前技术中,正版的软件的许可证(License,决定了运行资源的数量)数量是有限的,因此,需要通过合理分配许可证给指定的软件,来提高整体的运行效率。
随着国内软件正版化的进程,越来越多的企事业单位开始使用正版的商业CAE仿真软件,如ANSYS,Abaqus,Fluent,CFX等等.但是正版软件价格昂贵,单套软件的价值从几十万到上百万,尤其是在进行大模型,复杂模型的仿真计算时,往往还需要并行计算,而并行计算的许可证则更加昂贵。这些软件往往安装在高性能计算机集群上运行,而软件许可证的价值有可能比硬件的价值还要高,如何有效地使用这些软件,让其发挥出最大的工作效能,成为高性能计算中一个突出的问题。本申请所提供的方案正是为了解决该问题而产生的。
相关技术中已经出现了关于对作业进行调度的技术方案,其主要工作原理是依据系统接收到作业的时间先后来将作业分配到指定的终端中运行。
当这某个作业提交上去以后,其会与大量其它作业一起等待License许可证,如果有许可证有空闲,系统不能事先预估哪个作业会优先运行,也不能有效地控制其优先级,只能通过作业名称和作业ID和作业输入时间来进行作业停止,作业优先操作。而且,各种软件共享高性能计算机集群硬件资源,如比较昂贵的商业软件,还有免费的开源软件。这种情况下,反而是对软件许可证没有需求的免费开源软件会优先运行,降低了系统整体的使用价值。另外一种情况是,在某一特定的阶段,为了集中研究某一领域问题,如解决共振问题,需要将结构有限元ANSYS软件的作业优先级整体提高,但目前的调度系统无法做到这一点。可见,目前的作业调度方式使用不便。
针对该种情况,本申请提供了一种作业调度方法,如图1所示,包括:
S101,获取未执行作业的作业信息;
S102,根据作业信息为未执行作业配置指定的目标软件;
S103,为未执行作业配置指定的目标硬件;
S104,通过驱动目标硬件执行目标软件对未执行作业进行处理。
其中,本申请所提供的方案的执行主体作业分配系统,下文中简称系统。通常,未执行作业的作业信息是由用户输入到系统中的。本申请所提供的方案中,作业调度主要作用于CAE软件,如ANSYS,Abaqus,Fluent等等。
步骤S101中,未执行作业的作业信息指的是没有分配运行该作业的软件时的作业(此时作业必然处于未运行的状态)。作业信息中通常至少应当携带执行作业所需要占用的资源量和需要使用软件的名称(也可以是标签等可以区分不同软件的标识)。
步骤S102中,为作业配置指定的目标软件指的是,确定运行该作业的软件。一般情况下,未执行的作业和软件均是有多个,步骤S102实现时,需要分别为这多个作业配置软件。通常,某个作业只能由一个软件来运行,也就是该作业只能由指定的软件(即目标软件)来运行,哪个软件属于目标软件可以根据作业信息中所携带的软件名称来确定,通常,用户在将作业信息录入到系统中的时候,便已经将目标软件的信息携带在作业信息中了。
如下表1所示,示出了作业和软件的对应关系。
表1中,每个作业均有与其对应的软件,可以看出,作业A只能有软件A运行,作业B只能由软件B运行,作业C和D可以都由软件C运行。用户所输入的作业信息中可以直接携带了类似的表格。
表1
编号 | 作业标识 | 软件标识 |
1 | 作业A | 软件A |
2 | 作业B | 软件B |
3 | 作业C | 软件C |
4 | 作业D | 软件C |
由于软件是有最大资源使用量(License,即许可证的数量)的限制的,软件在运行作业的时候是需要占用一定数量的资源,因此,为未执行作业配置软件的时候首先要考虑目标软件目前剩余的资源是否足够运行该作业,如果足够,则可以将该目标软件配置给该未执行作业(即确定由目标软件来运行该未执行作业);如果不够,则该未执行作业需要等待该目标软件将其他作业(已经处在运行中的作业)运行结束后,才能够将目标软件为该未执行作业进行配置。
在为未执行作业配置了指定的目标软件之后,步骤S103中,需要为未执行作业配置指定的目标硬件,与配置软件相类似的,需要查看各个硬件的使用情况,可以通过负载均衡或者类似的方式来将运行各个软件的任务交给指定的硬件(即目标硬件)来运行。某些情况下,配置目标硬件的过程也可以是有约束的,比如,某些作业有运行时间的要求,在配置硬件的时候,则需要选择硬件配置足够高的硬件来运行。
在为未执行作业配置完目标软件和目标硬件之后,便可以形成如下表2式的表格。
表2
编号 | 作业标识 | 软件标识 | 硬件标识 |
1 | 作业A | 软件A | 硬件A |
2 | 作业B | 软件B | 硬件C |
3 | 作业C | 软件C | 硬件A |
4 | 作业D | 软件D | 硬件C |
通过表2可以看出,在为作业配置完目标软件和目标硬件后,只需要在指定的时机按照该表格所示出的形式,驱动目标硬件执行目标软件对未执行作业进行处理即可。
上述方案中,通过分了两个步骤为作业进行配置,先进行了软件配置,而后又进行了硬件的配置,使得原本模糊的配置方式变得清晰,用户可以很清楚的知晓当前系统下,作业无法运行是由于软件配置过程(步骤S102)不顺利导致的,还是由于硬件配置过程(步骤S103)不顺利导致的,进而,用户可以针对性的增加软件或者硬件,从而使得系统整体更加合理。
为了提高运行效率,在为未执行作业配置目标软件的时候,除了考虑目标软件是否有足够的资源运行该软件,还应当考虑作业的紧急程度,即可以通过作业优先级的方式来标识作业的紧急程度、重要程度,并按照作业优先级的高低来为每个作业配置软件。
也就是,步骤S102,根据作业信息为未执行作业配置指定的目标软件包括:
步骤S1021,确定处于未分配作业状态的软件;
步骤S1022,按照未执行作业的作业优先级由高至低的顺序,依次为指定的未执行作业配置指定的目标软件,并将配置了未执行作业的目标软件的状态设置为已分配作业且未运行状态。
需要说明的是,处于未分配作业状态的软件指的是有空闲资源(有空闲License的软件),如果某个软件没有空闲资源,则即使将作业配置给该软件,该作业也无法被运行。通过引入了作业优先级,使得在对作业进行分配的时候可以先对重要、紧急的作业分配软件,来保证重要、紧急的作业能够先行完成。
相关技术中,软件仅仅存在两种状态,即已运行状态和未运行状态,但发明人发现,某些情况下,在为作业配置完软件之后,软件并不会立即执行(可能在硬件中排队,也可能是在处于刚刚启动,但未实际运行起来的中间状态),因此,如果为配置完作业,但未在硬件中运行的软件再次分配作业的话,则再次分配的作业只能延时运行了,甚至会出现软件在运行的时候,不清楚该运行哪个作业,从而造成软件崩溃,进而引起整个系统的崩溃。
针对该种问题,本申请所提供的方案中,软件的状态设置为三种,分别是未分配作业的状态、已分配作业且未运行状态(已经将软件配置给指定的作业,但软件尚未被硬件所运行)和正在运行状态(表示软件正在被硬件所运行)。只有处于未分配作业状态的软件才有能力运行未执行作业,因此,作业只能够配置给这些处于未分配作业状态的软件,才能够保证作业能够被有效的处理。
当按照作业优先级的由高至低的顺序为未执行作业配置了目标软件之后,立即将目标软件的状态设置为已分配作业且未运行状态,以免该目标软件再次被分配作业,从而导致软件或系统崩溃。通常,步骤S1022中只为一个作业优先级最高的未执行作业配置目标软件,在步骤S1022执行结束后,返回步骤S1021重新执行,如此,按照S1021-S1022-S1021-S1022这样的方式往复循环式的为配个作业配置软件,以避免给同一个软件同时配置超过其软件许可证资源允许运行的作业数量的问题。
具体的,步骤S1022依次为指定的未执行作业配置指定的目标软件包括:
判断当前作业优先级的未执行作业是否能够在目标软件中运行;
若是,则将当前作业优先级的未执行作业配置给目标软件,并将目标软件的状态设置为已分配作业且未运行状态;并选择下一作业优先级的作业作为当前作业优先级的作业,并重新执行步骤判断当前作业优先级的未执行作业是否能够在目标软件中运行;
若否,则跳过当前作业优先级的未执行作业,选择下一作业优先级的作业作为当前作业优先级的作业,并重新执行步骤判断当前作业优先级的未执行作业是否能够在目标软件中运行。
也就是,在为未执行作业配置目标软件的时候,首先要判断未执行作业是否能够在目标软件中运行,主要是看目标软件当前空闲的资源量能否运行该作业,如果能的话,则可以将该作业配置给目标软件,反之,则不能将该作业配置给目标软件。需要说明的是,从整个系统的角度来看,运行不同作业所占用的软件的资源量是差不多的,因此,一般不会出现优先级较高的作业一直无法被配置的情况。
实际操作中,可以预先建立一个列表,在该列表中,记录了未执行作业的作业信息,在该列表中,可以按照作业优先级由高至低的顺序依次排列各个作业,而后,先为作业优先级最高的作业进行配置软件和配置硬件,完成配置后,便将该作业从列表中去除,之后再为该列表中当前作业优先级最高的作业配置软件和硬件。进而,采用这种按照作业优先级高低,依次为作业配置软件的方式,基本能够保证重要的作业会优先被运行。
具体的影响作业优先级的因素有多个,在计算时,可以按照如下方式计算作业优先级:
根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级。
也就是,影响作业优先级的参量有四个,分别是第一优先级、第二优先级、软件优先级和接收到未执行作业的时间。在使用这四个参量计算作业优先级的时候,可以按照加权计算的方式来计算,即,按照加权计算的方式根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级,其中,权值按照如下顺序由大至小排列:第二优先级、第一优先级、软件优先级、接收到未执行作业的时间。
也就是,管理员所设置第二优先级对作业优先级的影响最大,用户所设置的第一优先级、软件优先级和接收到未执行作业的时间对作业优先级的影响依次降低。在某种情况下,优选的,如果存在第二优先级,则第一优先级的数值清零,也就是,如果第二优先级不为零,则在计算作业优先级的时候,不再考虑第一优先级。或者说,管理员所设置的第二优先级可以覆盖第一优先级。一般情况下,管理员设置第二优先级是根据系统整体需求来确定的,如目前,系统期望解决某个大问题的时候,则有助于解决该大问题的作业的第二优先级都应当被调高,类似的,软件优先级也可以按照此种方式设置。
除了通过设置优先级的方式,来保证重要、紧急的作业能够优先运行,本申请所提供的方案中,还设置了自动告警的功能,下面对实现自动告警功能的过程进行说明。
本申请所提供的方法中,还包括:
根据全部未配置软件的作业所占用的目标软件的资源总量和处于未分配作业状态的软件的总量,判断软件数量是否缺少;
若是,则生成软件缺少报警信息。
即,如果未配置软件过多,同时,处于未分配作业未分配作业状态的软件过少,则说明作业需要排队经过较长的一段时间才能够被运行,此时,则说明软件数量过少,此时应当生成软件缺少报警信息,对用户或管理员进行提示。
类似的,本申请所提供的方案还包括:
根据全部未配置硬件的作业所占用的目标硬件的总量和处于未分配作业状态的硬件的总量,判断硬件数量是否缺少;
若是,则生成硬件缺少报警信息。
也就是,当硬件过少的时候,也应当适应性的进行报警,对用户或管理员进行提示。
除了按照上述两种方式判断软件或硬件是否足够,并进行相应的报警外,还可以依据软件和硬件的使用情况来判断软件或硬件是否缺少,进而,本申请所提供的方法,还包括:
获取处于空闲状态的软件的总量和处于空闲状态的硬件的总量;
根据处于空闲状态的软件的总量和处于空闲状态的硬件的总量,确定配置数量缺陷;
根据配置数量缺陷生成提示信息。
也就是,如果空闲的软件过多,则说明大量软件处于闲置状态,应当减少软件或者增加硬件(还要看当前的作业数量而定)。类似的,如果空闲的硬件过多,则说明大量硬件处于闲置状态,应当增加软件或者减少硬件。
为了提高系统整体的运行效率,避免在为作业分配软件和硬件时出现问题,系统应当在进行分配之前,先对用户所输入的参数进行验证,只有验证通过后才会进行分配,以保证系统的运行稳定。
具体的,步骤S101,获取未执行作业的作业信息包括:
S1011,获取用户输入的未执行作业所对应的设定参数,设定参数包括第一优先级、软件种类和并行量;
S1012,对设定参数进行验证,若验证通过,则根据软件种类和并行量计算配置未执行作业所需要的软件的资源使用量,作业信息包括资源使用量。
具体的验证方式可以有很多,比如,验证并行量是否超过系统能够承受的最大值,或者系统是否有该软件种类等等。由于并行量无法直接被系统所使用,因此,在验证通过后,就根据软件种类和并行量计算资源使用量(需要使用License的数量)。由于用户并不具有足够高的专业性,因此,让用户直接输入并行量,而后,再由系统计算对应的资源使用量更为合理。
下面,以一个具体的实例来说明本方案的实现流程。
步骤1,系统接收用户所提交的作业;
步骤2,系统接收用户对作业所设定的参数,该参数包括作业优先级、种类、并行量等;
步骤3,系统对步骤2中的参数进行验证,如果不成功,则提示用户,并重新执行步骤2;如果成功则保存到未运行作业的列表中;
步骤4,系统依据验证通过作业的种类和并行量,计算运行作业所需要的软件的名称和资源使用量;
步骤5,系统依据未运行作业的列表中的作业优先级、运行作业需要使用的软件的License的名称、使用量,以及每个软件的运行情况和软件优先级,将作业分配到指定的软件,并依据分配的情况对软件的运行情况进行调整;其中,软件的运行情况包括当前不可使用的资源量和当前可使用的资源量;当前不可使用的资源指正在运行作业所占用的资源量和已被作业预约但未使用的资源量;当前可使用的资源量指空闲状态的资源量;上述三个资源量的总和等于软件的总资源量;
步骤6,将已经分配好软件的作业发送至硬件队列进行运行。
其中,管理员和用户均可以设置优先级,这两个优先级均会对作业优先级造成影响,并且,如果管理员设定了优先级,则用户所设定的优先级不再对作业优先级造成影响。同时,管理员还可以对软件的软件优先级进行设定。
与上述方法相对应的,本申请还提供了一种作业调度装置,包括:
获取模块401,用于获取未执行作业的作业信息;
第一配置模块402,用于根据作业信息为未执行作业配置指定的目标软件;
第二配置模块403,用于为未执行作业配置指定的目标硬件;
执行模块404,用于通过驱动目标硬件执行目标软件对未执行作业进行处理。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种作业调度方法,其特征在于,包括:
获取未执行作业的作业信息;
根据作业信息为未执行作业配置指定的目标软件;
为未执行作业配置指定的目标硬件;
通过驱动所述目标硬件执行所述目标软件对未执行作业进行处理。
2.根据权利要求1所述的作业调度方法,其特征在于,步骤根据作业信息为未执行作业配置指定的目标软件包括:
确定处于未分配作业状态的软件;
按照未执行作业的作业优先级由高至低的顺序,依次为指定的未执行作业配置指定的目标软件,并将配置了未执行作业的目标软件的状态设置为已分配作业且未运行状态。
3.根据权利要求2所述的作业调度方法,其特征在于,步骤依次为指定的未执行作业配置指定的目标软件包括:
判断当前作业优先级的未执行作业是否能够在目标软件中运行;
若是,则将当前作业优先级的未执行作业配置给所述目标软件,并将目标软件的状态设置为已分配作业且未运行状态;并选择下一作业优先级的作业作为当前作业优先级的作业,并重新执行步骤所述判断当前作业优先级的未执行作业是否能够在目标软件中运行;
若否,则跳过所述当前作业优先级的未执行作业,选择下一作业优先级的作业作为当前作业优先级的作业,并重新执行步骤所述判断当前作业优先级的未执行作业是否能够在目标软件中运行。
4.根据权利要求3所述的作业调度方法,其特征在于,按照如下方式计算作业优先级:
根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级。
5.根据权利要求4所述的作业调度方法,其特征在于,所述根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级包括:
按照加权计算的方式根据用户设置的第一优先级、管理员设置的第二优先级、未执行作业所对应的软件优先级和接收到未执行作业的时间确定作业优先级,其中,权值按照如下顺序由大至小排列:第二优先级、第一优先级、软件优先级、接收到未执行作业的时间。
6.根据权利要求2所述的作业调度方法,其特征在于,还包括:
根据全部未配置软件的作业所占用的目标软件的资源总量和处于未分配作业状态的软件的总量,判断软件数量是否缺少;
若是,则生成软件缺少报警信息。
7.根据权利要求2所述的作业调度方法,其特征在于,还包括:
根据全部未配置硬件的作业所占用的目标硬件的总量和处于未分配作业状态的硬件的总量,判断硬件数量是否缺少;
若是,则生成硬件缺少报警信息。
8.根据权利要求1所述的作业调度方法,其特征在于,步骤获取未执行作业的作业信息包括:
获取用户输入的未执行作业所对应的设定参数,所述设定参数包括第一优先级、软件种类和并行量;
对设定参数进行验证,若所述验证通过,则根据软件种类和并行量计算配置未执行作业所需要的软件的资源使用量,所述作业信息包括所述资源使用量。
9.根据权利要求1所述的作业调度方法,其特征在于,还包括:
获取处于空闲状态的软件的总量和处于空闲状态的硬件的总量;
根据处于空闲状态的软件的总量和处于空闲状态的硬件的总量,确定配置数量缺陷;
根据配置数量缺陷生成提示信息。
10.一种作业调度装置,其特征在于,包括:
获取模块,用于获取未执行作业的作业信息;
第一配置模块,用于根据作业信息为未执行作业配置指定的目标软件;
第二配置模块,用于为未执行作业配置指定的目标硬件;
执行模块,用于通过驱动所述目标硬件执行所述目标软件对未执行作业进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710636998.8A CN107391262B (zh) | 2017-07-31 | 2017-07-31 | 一种作业调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710636998.8A CN107391262B (zh) | 2017-07-31 | 2017-07-31 | 一种作业调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107391262A true CN107391262A (zh) | 2017-11-24 |
CN107391262B CN107391262B (zh) | 2020-05-15 |
Family
ID=60341327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710636998.8A Active CN107391262B (zh) | 2017-07-31 | 2017-07-31 | 一种作业调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391262B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113670295A (zh) * | 2021-08-17 | 2021-11-19 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN117041353A (zh) * | 2023-10-08 | 2023-11-10 | 北京小米移动软件有限公司 | 任务处理的方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0253970A2 (en) * | 1986-07-25 | 1988-01-27 | International Business Machines Corporation | Multi-channel shared resource processor |
CN1326567A (zh) * | 1998-11-16 | 2001-12-12 | 艾利森电话股份有限公司 | 处理系统调度 |
CN1954289A (zh) * | 2004-06-17 | 2007-04-25 | 国际商业机器公司 | 在计算网格中动态建立应用环境的系统和方法 |
US20100333113A1 (en) * | 2009-06-29 | 2010-12-30 | Sun Microsystems, Inc. | Method and system for heuristics-based task scheduling |
CN103400065A (zh) * | 2013-07-03 | 2013-11-20 | 山东省计算中心 | 一种基于数据统计的License动态预测与调度方法 |
-
2017
- 2017-07-31 CN CN201710636998.8A patent/CN107391262B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0253970A2 (en) * | 1986-07-25 | 1988-01-27 | International Business Machines Corporation | Multi-channel shared resource processor |
CN1326567A (zh) * | 1998-11-16 | 2001-12-12 | 艾利森电话股份有限公司 | 处理系统调度 |
CN1954289A (zh) * | 2004-06-17 | 2007-04-25 | 国际商业机器公司 | 在计算网格中动态建立应用环境的系统和方法 |
US20100333113A1 (en) * | 2009-06-29 | 2010-12-30 | Sun Microsystems, Inc. | Method and system for heuristics-based task scheduling |
CN103400065A (zh) * | 2013-07-03 | 2013-11-20 | 山东省计算中心 | 一种基于数据统计的License动态预测与调度方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113670295A (zh) * | 2021-08-17 | 2021-11-19 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN113670295B (zh) * | 2021-08-17 | 2024-05-24 | 北京百度网讯科技有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
CN117041353A (zh) * | 2023-10-08 | 2023-11-10 | 北京小米移动软件有限公司 | 任务处理的方法、装置、电子设备及存储介质 |
CN117041353B (zh) * | 2023-10-08 | 2024-01-16 | 北京小米移动软件有限公司 | 任务处理的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107391262B (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163474A (zh) | 一种任务分配的方法及设备 | |
US8578381B2 (en) | Apparatus, system and method for rapid resource scheduling in a compute farm | |
CN104601664B (zh) | 一种云计算平台资源管理与虚拟机调度的控制系统 | |
Huang et al. | Cap3: A cloud auto-provisioning framework for parallel processing using on-demand and spot instances | |
Di et al. | Characterizing and modeling cloud applications/jobs on a Google data center | |
US20140108404A1 (en) | License Reconciliation with Multiple License Types and Restrictions | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN107203424A (zh) | 一种在分布式集群中调度深度学习作业的方法和装置 | |
CN106055381A (zh) | 一种创建虚拟机的方法和装置 | |
CN109144710A (zh) | 资源调度方法、装置及计算机可读存储介质 | |
CN105373432B (zh) | 一种基于虚拟资源状态预测的云计算资源调度方法 | |
US20140122348A1 (en) | Optimized License Procurement | |
CN103927231A (zh) | 一种面向数据处理的能耗优化数据集分配方法 | |
CN115543577B (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN104657195B (zh) | 一种资源绑定方法和装置 | |
CN102012891A (zh) | 计算机集群管理方法、装置和系统 | |
CN113807046A (zh) | 一种测试激励优化回归验证方法、系统及介质 | |
CN106339802A (zh) | 任务分配的方法和装置、电子设备 | |
CN110209357A (zh) | 提高ssd大文件写性能的方法、装置、计算机设备及存储介质 | |
CN107391262A (zh) | 一种作业调度方法及装置 | |
CN1783121A (zh) | 用于执行设计自动化的方法和系统 | |
CN110837511A (zh) | 一种数据处理方法、系统及相关设备 | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN101131754A (zh) | 成本约束下的工作流资源数量优化配置系统和方法 | |
Islam et al. | FaCS: Toward a fault-tolerant cloud scheduler leveraging long short-term memory network |
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 |