CN114675975B - 一种基于强化学习的作业调度方法、装置及设备 - Google Patents
一种基于强化学习的作业调度方法、装置及设备 Download PDFInfo
- Publication number
- CN114675975B CN114675975B CN202210569531.7A CN202210569531A CN114675975B CN 114675975 B CN114675975 B CN 114675975B CN 202210569531 A CN202210569531 A CN 202210569531A CN 114675975 B CN114675975 B CN 114675975B
- Authority
- CN
- China
- Prior art keywords
- job
- neural network
- deep neural
- scheduling
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种基于强化学习的作业调度方法、装置及设备,管理节点将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;按照作业调度策略和计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数,依据评估参数和针对各作业已设置的预期参数,更新深度神经网络中的模型参数,以使得对作业调度策略进行调整。可见,应用本实施例提供的技术方案能够根据用户配置的预期参数对作业调度策略进行自适应调整,无需用户耗费冗长的时间选择调度策略,使得既能够自适应性调整作业调度策略,又能够提高作业调度效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于强化学习的作业调度方法、装置及设备。
背景技术
随着计算机技术的飞速发展,高性能计算技术应运而生,高性能计算技术的核心是资源管理和作业调度,部署在高性计算能平台的管理节点还部署有为作业提供调度策略的Slurm(Simple Linux Utility for Resource Management)作业调度***,管理节点依据Slurm作业调度***确定的作业执行顺序将作业提交至高性能计算平台的计算节点中。
在实际应用中,Slurm作业调度***拥有默认的调度策略,用户依据各作业的作业优先级、作业负载等属性配置调度策略参数,从而更为合理利用高性能计算平台中计算节点的硬件资源,手动为作业分配与作业相关的计算节点队列,优化已分配作业所属计算机节点队列中各作业的执行顺序。但是,计算节点队列的选择和该Slurm作业调度***的调度策略参数均需要用户手动配置,然而手动配置高度依赖用户经验,无法对配置结果进行量化,这样的作业调度有时不但不能起到优化的作用,甚至会对高性能计算平台的运行带来负面的影响。同时,这些调度策略参数产生的调度结果不明晰,没有调度结果分析报告,用户并不知道现有资源参数配置好后作业队列是否能对高性能计算平台中的硬件资源进行合理的利用及优化,一旦提交新的作业或者Slurm作业调度***发生变化,针对作业的配置参数又需要被重新配置,耗费大量的时间。
发明内容
有鉴于此,本申请提供一种基于强化学习的作业调度方法、装置及设备,以在能够自适应性调整作业调度策略的同时,还能够提高作业调度效率。
第一方面,本申请实施例一种基于强化学习的作业调度方法,该方法应用于服务器集群中的管理节点,所述服务器集群还包括用于运行作业的至少一个计算节点,所述方法包括:
将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;所述作业调度策略用于调度运行所述不同作业,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业;
按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数;
依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
第二方面,本申请实施例提供一种基于强化学习的作业调度装置,该装置应用于服务器集群中的管理节点,所述服务器集群还包括用于运行作业的至少一个计算节点,所述装置包括:
策略和队列得到单元,用于将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;所述作业调度策略用于调度运行所述不同作业,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业;
评估参数确定单元,用于按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数;
策略更新单元,用于依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
由以上技术方案可知,应用本申请实施例,管理节点将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;
按照作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数,依据评估参数和针对各作业已设置的预期参数,更新深度神经网络中的模型参数,以使得对作业调度策略进行调整。可见,应用本实施例提供的技术方案在对不同作业进行调度时,不再需要有经验的工作人员参与配置各作业对应的作业调动策略参数,而是通过将不同作业的作业信息输入到深度神经网络中自动输出作业调度策略和各作业相关联的计算节点队列,且在经评估确定深度神经网络确定的调度策略不合理时,则会通过调整深度神经网络的模型参数更新深度神经网络,以动态调整后续输入作业的作业调度策略。可见,本实施例提供的技术方案是根据用户配置的预期参数对作业调度策略进行自适应调整,无需用户耗费冗长的时间选择调度策略,使得既能够自适应性调整作业调度策略,又能够提高作业调度效率。
附图说明
图1为本申请实施例提供的一种基于强化学习的作业调度方法的流程示意图;
图2为本申请实施例提供的一种基于深度神经网络进行作业调度的示意图;
图3为本申请实施例提供的一种示例性的深度神经网络训练过程的示意图;
图4为本申请实施例提供的一种一种基于强化学习的作业调度装置的结构示意图;
图5为本申请实施例提供的一种电子设备的硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着计算机技术的飞速发展,高性能计算技术应运而生,目前高性能计算平台技术已广泛应用于各大领域,其核心目标就是合理利用高性能计算集群资源完成作业计算任务,部署在高性计算能平台的管理节点还部署有为作业提供调度策略的Slurm作业调度***,管理节点依据Slurm作业调度***确定的作业执行顺序将作业提交至高性能计算平台的计算节点中,不难看出,作业的调度顺序、执行优先级和资源配置都极大程度的影响了该高性能计算平台的性能。
在实际应用中,Slurm作业调度***拥有默认的调度策略,用户需要在前端页面上选择作业相关联的计算节点队列,并依据与作业相关的计算机节点队列中各作业的作业优先级、作业负载等属性设置Slurm作业调度***中是否开启回填、是否抢占等调度策略参数,后台Slurm调度***会根据设置的调度规则执行提交的作业。
但是,计算节点队列的选择和该Slurm作业调度***的调度策略参数均需要用户手动配置,然而手动配置高度依赖用户经验,无法对配置结果进行量化,这样的作业调度有时不但不能起到优化的作用,甚至会对高性能计算平台的运行带来负面的影响。同时,这些调度策略参数产生的调度结果不明晰,没有调度结果分析报告,用户并不知道现有资源参数配置好后作业队列是否能对高性能计算平台中的硬件资源进行合理的利用及优化,一旦提交新的作业或者Slurm作业调度***发生变化,针对作业的配置参数又需要被重新配置,耗费大量的时间。
为了解决上述技术问题,本申请实施例提供了一种基于强化学习的作业调度方法,该方法应用于服务器集群中的管理节点,所述服务器集群还包括用于运行作业的至少一个计算节点,所述方法包括:将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;所述作业调度策略用于调度运行所述不同作业,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业;按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数;依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
基于上述描述可知,应用本实施例提供的技术方案在对不同作业进行调度时,不再需要有经验的工作人员参与配置各作业对应的作业调动策略参数,而是通过将不同作业的作业信息输入到深度神经网络中自动输出作业调度策略和各作业相关联的计算节点队列,且在经评估确定深度神经网络确定的调度策略不合理时,则会通过调整深度神经网络的模型参数更新深度神经网络,以动态调整后续输入作业的作业调度策略,从而使得既能够自适应性调整作业调度策略,又能够提高作业调度效率。
下面以具体实施例对本申请的技术方案进行详细阐述。
图1为本申请根据一示例性实施例示出的一种基于强化学***台,服务器集群还包括用于运行作业的至少一个计算节点。
如图1所示,该基于强化学习的作业调度方法包括如下步骤:
步骤101:将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列。
本实施例中,上述不同作业信息至少包括不同作业属性下的属性数据,如下表1所示。
其中,上表1中的属于一个作业中的每个任务所需使用的CPU数可以理解为:一个作业被划分成多个任务,针对每一个任务,运行该任务所相需要的CPU数量。作业运行在各计算节点时所需使用的GPU数可以理解为:针对每一个作业,运行该作业所需要的计算资源。任务数量可以理解为:将一个作业化分成任务的数量。任务组数可以理解为:在各作业所需要的资源相同,且各作业被配置不同参数的情况下,按照同一任务被提交到计算节点中。运行一个作业时每个计算节点所需使用的内存可以理解为:在提作业时,向管理节点中的作业调度***申请供使用的内存。节点数量可以理解为:针对一个作业需要的节点数量。作业优先级可以理解为:各作业被赋予的优先级。最大运行时间理解为:运行一个作业所需要的最大运行时间。
为了减小深度神经网络处理负担,可以对上述作业属性进行降维处理,作为一个实施例,从作业属性中过滤掉影响不大的属性,示例性的,如剔除掉表1中的job_name和time_limit。基于此,作为另一个实施例,作业信息包括不同作业属性下的属性数据,实现步骤101的实现方式包括:将不同作业属性下的属性数据进行降维处理,得到目标作业数据;将所述目标作业数据输入到深度神经网络。基于上述表1,可以使用PCA(PrincipalComponent Analysis,主成分分析)方法对上述作业属性进行降维处理。
综上分析,作为一个实施例,属性数据包括以下属性中的任一组合:属于一个作业中的每个任务所需使用的CPU数量、作业运行在各计算节点时所需使用的GPU数量、提交作业时申请内存的大小、各作业需要的计算节点数量、各作业被赋予的优先级、任务数量、任务组数、表征需要优先提交作业的标识。
值得一提的是,本申请实施例提供的调度方法,若识别到属性数据包含该标识时,则可以识别该标识,以指示优先将具有该标识的作业设置在属于该计算节点队列中的前列,示例性的,该标识可以为QoS,即标识该QoS属性的作业进入部署在管理节点中的作业调度***后无条件抢占或在属于该作业的计算节点队列中优先排队,仅对无标识QoS的作业进行动态调整,以确保用户紧急任务不受影响。
基于DNN(Deep Neural Network,深度神经网络)技术,由图2所示,用户配置好作业需求的资源参数后,这些作业就是图2中的作业1,……,作业n,将配置好的作业信息如图2中作业1被配置的参数a1,……,参数am;作业2被配置的b1,……,参数bm;……;作业n被配置的参数k1,……,参数km。m为作业参数数量序号,a1表示属于作业1的序号为1的参数,am表示属于作业1的序号为m的参数,b1表示属于作业2的序号为1的参数,bm表示属于作业2的序号为m的参数,k1表示属于作业n的序号为1的参数,km表示属于作业n的序号为m的参数,深度神经网络算法通过迭代学习训练,不断优化训练目标,最终输出各作业相关联的计算节点队列及作业调度策略,并基于输出的各作业相关联的计算节点队列和作业调度策略确定出各作业的执行顺序,如图2中的作业2、作业n,……,作业1。而一个DNN结构必须有一个输入层,一个输出层,输入层和输出层之间的都是隐藏层。其中,隐藏层至少大于2的神经网络称作深度神经网络。针对深度神经网络的训练过程,后续将会进行详细描述,在此不再赘述。
本实施例中的各作业相关联的计算节点队列可以理解为,计算节点被划分为多个计算节点队列,任一计算节点队列被用于运行至少一个作业,换言之,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业。
作业调度策略用于调度运行不同作业,而每一作业均对应属于该作业的作业调度策略。如针对作业a,作业a对应的作业调度策略至少包括开启回填、开启抢占策略,针对作业b,作业b对应的作业调度策略至少包括关闭回填、开启抢占策略。
步骤102,按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数。
作为一个实施例,实现按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业的一种实现方式可以为:按照各作业相关联的计算节点队列,将作业调度策略输入到管理节点中已配置的作业调度***中,得到与该作业相关联的计算节点队列中各作业的执行顺序,按照得到的执行顺序,将作业提交到计算节点中运行。
在调度运行各作业之后,依据各作业的调度运行情况,确定用于评估深度神经网络的评估参数,以确定该深度神经网络输出的作业调度策略是否合适,如果不合适,则执行步骤103,以实现动态调整后续输入作业的作业调度策略。如果合适,则无需动态调整后续输入作业的作业调度策略,这表明,当前步骤101中深度神经网络输出的作业调度策略是合适的。
作为一个实施例,该评估参数可以包括以下值中的任一组合:bsld(averagebounded slowdown,平均总体延迟)、计算节点总功耗、计算节点CPU空闲率。本实施例对此并不限定。
步骤103,依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
本实施例中,预期参数为在资源充足情况下各作业同时运行时的评估参数,相应地,当评估参数选为所有作业的平均总体延迟,预期参数就是在资源充足情况下各作业同时运行时所有作业的的平均总体延,当评估参数选为计算节点总功耗,预期参数就是在资源充足情况下各作业同时运行时的计算节点总功耗,当评估参数选为计算节点CPU空闲率,预期参数就是在资源充足情况下各作业同时运行时的计算节点CPU空闲率。
需要说明的是,本步骤依据所述评估参数和针对所述各作业已设置的预期参数,确定需要更新深度神经网络中的模型参数时,才会更新深度神经网络中的模型参数,这也就是说,后续输入的不同作业的作业信息会输入到调整模型参数后的深度神经网络,以达到对后续输入作业的作业调度策略进行调整的目的。相应地,确定不需要更新深度神经网络中的模型参数时,则表示后续输入作业会输入到原来的深度神经网络中进行处理。
另外,本实施例提供的高性能计算平台可以被广泛应用于医疗、教育、机械、地质等各种领域,针对每一个领域,可根据该领域的作业数据训练出步骤101的已训练好的深度神经网络,应用到具体用户环境之后,可根据本地环境数据投入自适应训练即步骤102~步骤103,随着时间推移,该深度神经网络更加适应不同用户的业务需求和个性习惯。
至此,完成图1所示的描述。
由以上技术方案可以看出,应用本申请实施例,管理节点将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;按照作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数,依据评估参数和针对各作业已设置的预期参数,更新深度神经网络中的模型参数,以使得对作业调度策略进行调整。可见,应用本实施例提供的技术方案在对不同作业进行调度时,不再需要有经验的工作人员参与配置各作业对应的作业调动策略参数,而是通过将不同作业的作业信息输入到深度神经网络中自动输出作业调度策略和各作业相关联的计算节点队列,且在经评估确定深度神经网络确定的调度策略不合理时,则会通过调整深度神经网络的模型参数更新深度神经网络,以动态调整后续输入作业的作业调度策略。可见,本实施例提供的技术方案是根据用户配置的预期参数对作业调度策略进行自适应调整,无需用户耗费冗长的时间选择调度策略,使得既能够自适应性调整作业调度策略,又能够提高作业调度效率。
在完成图1所示的流程图之后,作为一个实施例,评估参数为所有作业的平均延迟时间;预期参数为目标延迟时间;
在步骤103中的更新所述深度神经网络中的模型参数之前,该方法还可以包括:
步骤A,根据所述平均延迟时间和所述目标延迟时间,确定所述平均延迟时间和所述目标延迟时间之间的偏差值;若所述偏差值大于或等于阈值,则执行步骤B。
若评估参数与已设置的预期参数之间的偏差值大于或等于阈值,则表示当前的深度神经网络模型输出的作业调度策略不合适,基于此,需要执行步骤B,以动态调整后续输入作业的作业调度策略;若评估参数与已设置的预期参数之间的偏差值小于阈值,则获取新的不同作业的作业信息,返回执行步骤101。
步骤B,更新所述深度神经网络中的模型参数。
作为又一个实施例,深度神经网络包括节点权重;实现步骤101的实现方式包括:将不同作业的作业信息输入到深度神经网络,以由深度神经网络根据节点权重并经过激活函数softmax确定所述作业调度策略和各作业相关联的计算节点队列;更新深度神经网络中的模型参数包括:更新深度神经网络中的节点权重。
作为一个实施例,通过如下训练方式对深度神经网络进行训练:
步骤C,获取不同样本作业的作业信息作为样本特征属性。
配置好高性能计算平台中所有提交作业的属性,如作业所用资源、是否使用Slurm回填策略等。
步骤D,对预训练的深度神经网络模型配置初始的调度策略,以得到初始化的深度神经网络模型。
设定深度神经网络的初始值如学习速率、迭代次数、节点数目、初始权重等参数。
步骤E,将样本特征属性输入到深度神经网络模型中,得到各样本作业相关联的计算节点队列和各样本作业对应的样本调度策略。
步骤F,按照各样本作业相关联的计算节点队列,利用样本调度策略生成当前状态下各计算节点队列中运行样本作业的执行顺序。
步骤G,按照样本作业的执行顺序,向计算节点提交样本作业,得到评估深度神经网络的评估参数。若评估参数与预期参数之间的偏差值小于阈值,并在经损失函数确定损失值收敛的情况下,输出已经训练好的深度神经网络;若评估参数与预期参数之间的偏差值大于或等于阈值,并在经损失函数确定损失值不收敛的情况下,调整深度神经网络的模型参数,并利用偏差值以及样本作业特征继续对所述深度神经网络模型进行训练。
为了更加容易理解,现举一示例,如图3所示,设由作业1、作业2、……、作业n形成的不同样本作业,获取作业1、作业2、……、作业n各自对应的作业信息作为样本特征属性。图3中DNN强化学***台中的计算节点提交作业1~n,得到评估深度神经网络的评估参数,若评估参数与预期参数之间的偏差值小于阈值,并在经损失函数确定损失值收敛的情况下,则输出已经训练好的深度神经网络;若评估参数与预期参数之间的偏差值大于或等于阈值,并在经损失函数确定损失值不收敛的情况下,则调整深度神经网络的模型参数,并利用偏差值以及样本作业特征继续对所述深度神经网络模型进行训练。
本步骤将偏差值以及样本作业特征属性投入深度神经网络,以Adam优化器优化损失函数,更新网络权重。
作为一个实施例,根据指定损失函数、以及所述平均延迟时间和所述目标延迟时间,确定DNN神经网络中的损失值;若所述损失值不收敛,则执行步骤E。
上述loss function损失函数是用来估量计算所有作业的平均延迟时间与目标延迟时间的不一致程度,它是一个非负实值函数,损失值越小,则表示深度神经网络的鲁棒性就越好。相应地,若损失值越大,则表示深度神经网络的鲁棒性就越差,需要执行步骤E以进一步对深度神经网络进行训练。作为一个实施例,损失函数可以采用:loss =(y x-out x)²,loss表示损失值,y x表示迭代次数为x的作业对应的平均延迟时间,out x表示迭代次数为x的作业对应的目标延迟时间,x表示迭代次数,x为自然数,当最新迭代次数计算的损失值与上一次迭代次数计算的损失值之间的差值小于收敛阈值,则认为最新迭代次数计算的损失值收敛于上一次迭代次数计算的损失值,当最新迭代次数计算的损失值与上一次迭代次数计算的损失值之间的差值大于或等于收敛阈值,则认为最新迭代次数损失值未收敛于上一次迭代次数计算的损失值,该收敛阈值取0.1或0.01。
本实施例中,本步骤中按照样本作业的执行顺序,向计算节点提交样本作业,可以是使用真实的高性能计算平台,即向真实的计算节点提交样本作业,也就是说,利用真实的计算节点训练该深度神经网络。若条件有限,也可以向仿真环境搭建仿真高性能计算平台的计算节点提交样本作业,以在仿真的计算环境中运行这些已提交的作业。至于向仿真环境中的计算节点提交样本作业,还是向真实环境的计算节点提交样本作业,可以依据实际情况而定,本实施例在此并不限定,但为了能够得到效果更好的深度神经网络,则建议采用真实环境的计算节点。
重复步骤E~步骤G,直到迭代次数达到设置的初始值或者平均延迟时间收敛。
作为一个实施例,步骤103之后,还包括输出预测本次调度结果的图表、报告或/和其他描述本次调度过程的文档,以便于用户查看。
图4为本申请根据一示例性实施例示出的一种基于强化学习的作业调度装置400的实施例结构图,如图4所示,该装置应用于服务器集群中的管理节点,所述服务器集群还包括用于运行作业的至少一个计算节点,所述装置包括:
策略和队列得到单元401,用于将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;所述作业调度策略用于调度运行所述不同作业,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业;
评估参数确定单元402,用于按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数;
策略更新单元403,用于依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
在一可选实现方式中,所述作业信息至少包括不同作业属性下的属性数据;
所述策略和队列得到单元包括用于将不同作业的作业信息输入到深度神经网络的信息输入子单元,所述信息输入子单元,具体用于:
将不同作业属性下的属性数据进行降维处理,得到目标作业数据;
将所述目标作业数据输入到深度神经网络。
在一可选实现方式中,所述评估参数为所有作业的平均延迟时间;所述预期参数为目标延迟时间;
该装置还包括:更新模型参数单元,用于:
根据所述平均延迟时间和所述目标延迟时间,确定所述平均延迟时间和所述目标延迟时间之间的偏差值;
若所述偏差值小于或等于阈值,则更新所述深度神经网络中的模型参数。
在一可选实现方式中,所述深度神经网络包括节点权重;
所述策略和队列得到单元,具体用于:将不同作业的作业信息输入到深度神经网络,以由所述深度神经网络根据节点权重并经过激活函数softmax确定所述作业调度策略和各作业相关联的计算节点队列;
所述策略更新单元包括用于更新所述深度神经网络中的模型参数的更新模型参数子单元;
所述更新模型参数子单元,具体用于:更新深度神经网络中的节点权重。
在一可选实现方式中,属性数据包括以下属性中的任一组合:属于一个作业中的每个任务所需使用的CPU数量、作业运行在各计算节点时所需使用的GPU数量、提交作业时申请内存的大小、各作业需要的计算节点数量、各作业被赋予的优先级、任务数量、任务组数、表征需要优先提交作业的标识。
由以上技术方案可见,管理节点将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;按照作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数,依据评估参数和针对各作业已设置的预期参数,更新深度神经网络中的模型参数,以使得对作业调度策略进行调整。可见,应用本实施例提供的技术方案在对不同作业进行调度时,不再需要有经验的工作人员参与配置各作业对应的作业调动策略参数,而是通过将不同作业的作业信息输入到深度神经网络中自动输出作业调度策略和各作业相关联的计算节点队列,且在经评估确定深度神经网络确定的调度策略不合理时,则会通过调整深度神经网络的模型参数更新深度神经网络,以动态调整后续输入作业的作业调度策略。可见,本实施例提供的技术方案是根据用户配置的预期参数对作业调度策略进行自适应调整,无需用户耗费冗长的时间选择调度策略,使得既能够自适应性调整作业调度策略,又能够提高作业调度效率。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
本申请实施例提供的电子设备,从硬件层面而言,硬件架构示意图可以参见图5示。包括:机器可读存储介质和处理器,其中:所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述示例公开的基于强化学习的作业调度操作。
本申请实施例提供的机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现上述示例公开的基于强化学习的作业调度操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
至此,完成图5所示设备的描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种基于强化学习的作业调度方法,其特征在于,该方法应用于服务器集群中的管理节点,所述服务器集群还包括用于运行作业的至少一个计算节点,所述方法包括:
将不同作业的作业信息输入到预先训练好的深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;所述作业调度策略用于调度运行所述不同作业,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业;
按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数;
依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
2.根据权利要求1所述的方法,其特征在于,所述作业信息包括不同作业属性下的属性数据;
所述将不同作业的作业信息输入到深度神经网络包括:
通过PCA算法,对不同作业属性下的属性数据进行线性降维,得到目标作业数据;
将所述目标作业数据输入到深度神经网络。
3.根据权利要求1所述的方法,其特征在于,所述评估参数为所有作业的平均延迟时间;所述预期参数为目标延迟时间;
依据所述评估参数和针对所述各作业已设置的预期参数,确定所述更新所述深度神经网络中的模型参数之前,所述方法还包括:
根据所述平均延迟时间和所述目标延迟时间,确定所述平均延迟时间和所述目标延迟时间之间的偏差值;
若所述偏差值大于或等于阈值,则更新所述深度神经网络中的模型参数。
4.根据权利要求1所述的方法,其特征在于,所述深度神经网络包括节点权重;
所述将不同作业的作业信息输入到深度神经网络,得到作业调度策略和各作业相关联的计算节点队列,具体包括:
将不同作业的作业信息输入到深度神经网络,以由所述深度神经网络根据节点权重并经过激活函数softmax确定所述作业调度策略和各作业相关联的计算节点队列;
所述更新所述深度神经网络中的模型参数包括:更新深度神经网络中的节点权重。
5.根据权利要求 2所述的方法,其特征在于,所述属性数据包括以下属性中的任一组合:
属于一个作业中的每个任务所需使用的CPU数量、作业运行在各计算节点时所需使用的GPU数量、提交作业时申请内存的大小、各作业需要的计算节点数量、各作业被赋予的优先级、任务数量、任务组数、表征需要优先提交作业的标识。
6.一种基于强化学习的作业调度装置,其特征在于,该装置应用于服务器集群中的管理节点,所述服务器集群还包括用于运行作业的至少一个计算节点,所述装置包括:
策略和队列得到单元,用于将不同作业的作业信息输入到预先训练好的深度神经网络,得到作业调度策略和各作业相关联的计算节点队列;所述作业调度策略用于调度运行所述不同作业,任一作业相关联的计算节点队列中的至少一个计算节点用于运行该作业;
评估参数确定单元,用于按照所述作业调度策略和各作业相关联的计算节点队列调度运行各作业,并依据各作业的调度运行情况,确定用于评估所述深度神经网络的评估参数;
策略更新单元,用于依据所述评估参数和针对所述各作业已设置的预期参数,更新所述深度神经网络中的模型参数,以使得对作业调度策略进行调整。
7.根据权利要求6所述的装置,其特征在于,所述作业信息至少包括不同作业属性下的属性数据;
所述策略和队列得到单元包括用于将不同作业的作业信息输入到深度神经网络的信息输入子单元,所述信息输入子单元,具体用于:
将不同作业属性下的属性数据进行降维处理,得到目标作业数据;
将所述目标作业数据输入到深度神经网络。
8.根据权利要求6所述的装置,其特征在于,所述评估参数为所有作业的平均延迟时间;所述预期参数为目标延迟时间;该装置还包括:更新模型参数单元,用于:
根据所述平均延迟时间和所述目标延迟时间,确定所述平均延迟时间和所述目标延迟时间之间的偏差值;
若所述偏差值大于或等于阈值,则更新所述深度神经网络中的模型参数。
9.根据权利要求 6所述的装置,其特征在于,所述深度神经网络包括节点权重;
所述策略和队列得到单元,具体用于:将不同作业的作业信息输入到深度神经网络,以由所述深度神经网络根据节点权重并经过激活函数softmax确定所述作业调度策略和各作业相关联的计算节点队列;
所述策略更新单元包括用于更新所述深度神经网络中的模型参数的更新模型参数子单元;
所述更新模型参数子单元,具体用于:更新深度神经网络中的节点权重。
10.根据权利要求7所述的装置,其特征在于,所述属性数据包括以下属性中的任一组合:
属于一个作业中的每个任务所需使用的CPU数量、作业运行在各计算节点时所需使用的GPU数量、提交作业时申请内存的大小、各作业需要的计算节点数量、各作业被赋予的优先级、任务数量、任务组数、表征需要优先提交作业的标识。
11.一种电子设备,其特征在于,包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求1-5任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210569531.7A CN114675975B (zh) | 2022-05-24 | 2022-05-24 | 一种基于强化学习的作业调度方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210569531.7A CN114675975B (zh) | 2022-05-24 | 2022-05-24 | 一种基于强化学习的作业调度方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114675975A CN114675975A (zh) | 2022-06-28 |
CN114675975B true CN114675975B (zh) | 2022-09-30 |
Family
ID=82080615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210569531.7A Active CN114675975B (zh) | 2022-05-24 | 2022-05-24 | 一种基于强化学习的作业调度方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114675975B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115202992B (zh) * | 2022-09-15 | 2022-11-22 | 中国空气动力研究与发展中心计算空气动力研究所 | 面向slurm调度***的CFD作业收敛性监控方法 |
CN115756822B (zh) * | 2022-10-18 | 2024-03-19 | 超聚变数字技术有限公司 | 高性能计算应用性能调优的方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829541A (zh) * | 2019-01-18 | 2019-05-31 | 上海交通大学 | 基于学习自动机的深度神经网络增量式训练方法及*** |
CN111199272A (zh) * | 2019-12-30 | 2020-05-26 | 同济大学 | 一种面向智能车间的自适应调度方法 |
CN112784954A (zh) * | 2019-11-08 | 2021-05-11 | 华为技术有限公司 | 确定神经网络的方法和装置 |
CN114297914A (zh) * | 2021-12-14 | 2022-04-08 | 重庆邮电大学 | 一种面向大电网可靠性评估的深度神经网络结果可信性保障方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390387B (zh) * | 2018-04-20 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 对深度学习应用所用资源进行评估 |
CN109976909B (zh) * | 2019-03-18 | 2022-11-08 | 中南大学 | 边缘计算网络中基于学习的低延时任务调度方法 |
CN109992000B (zh) * | 2019-04-04 | 2020-07-03 | 北京航空航天大学 | 一种基于分层强化学习的多无人机路径协同规划方法及装置 |
US11775770B2 (en) * | 2019-05-23 | 2023-10-03 | Capital One Services, Llc | Adversarial bootstrapping for multi-turn dialogue model training |
CN110580196B (zh) * | 2019-09-12 | 2021-04-06 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
CN111915142B (zh) * | 2020-07-07 | 2024-04-12 | 广东工业大学 | 一种基于深度强化学习的无人机辅助资源分配方法 |
CN112035251B (zh) * | 2020-07-14 | 2023-09-26 | 中科院计算所西部高等技术研究院 | 基于强化学习作业布局的深度学习训练***及方法 |
CN112911647A (zh) * | 2021-01-20 | 2021-06-04 | 长春工程学院 | 一种基于深度强化学习的计算卸载和资源分配方法 |
CN114489966A (zh) * | 2021-12-24 | 2022-05-13 | 中国电信股份有限公司 | 一种作业调度方法及装置 |
CN114386843A (zh) * | 2022-01-10 | 2022-04-22 | 四川大学 | 一种基于改进深度强化学习算法的柔性车间调度方法 |
-
2022
- 2022-05-24 CN CN202210569531.7A patent/CN114675975B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829541A (zh) * | 2019-01-18 | 2019-05-31 | 上海交通大学 | 基于学习自动机的深度神经网络增量式训练方法及*** |
CN112784954A (zh) * | 2019-11-08 | 2021-05-11 | 华为技术有限公司 | 确定神经网络的方法和装置 |
CN111199272A (zh) * | 2019-12-30 | 2020-05-26 | 同济大学 | 一种面向智能车间的自适应调度方法 |
CN114297914A (zh) * | 2021-12-14 | 2022-04-08 | 重庆邮电大学 | 一种面向大电网可靠性评估的深度神经网络结果可信性保障方法 |
Non-Patent Citations (2)
Title |
---|
《R3L: Connecting Deep Reinforcement Learning To Recurrent Neural Networks For Image Denoising Via Residual Recovery》;Rongkai Zhang et al.;《2021 IEEE International Conference on Image Processing (ICIP)》;20210823;全文 * |
基于深度神经网络的空中目标作战意图识别;周旺旺等;《航空学报》;20180827(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114675975A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114675975B (zh) | 一种基于强化学习的作业调度方法、装置及设备 | |
Hamad et al. | Genetic-based task scheduling algorithm in cloud computing environment | |
CN114756358B (zh) | 一种dag任务调度方法、装置、设备及存储介质 | |
CN109992404A (zh) | 集群计算资源调度方法、装置、设备及介质 | |
US20210312295A1 (en) | Information processing method, information processing device, and information processing program | |
CN113778646B (zh) | 一种基于执行时间预测的任务层级调度方法及装置 | |
CN105975342A (zh) | 基于改进布谷鸟搜索算法的云计算任务调度方法及*** | |
CN110222848A (zh) | 计算机执行的集成模型的确定方法及装置 | |
Petropoulos et al. | A particle swarm optimization algorithm for balancing assembly lines | |
CN110262897B (zh) | 一种基于负载预测的Hadoop计算任务初始分配方法 | |
CN114237869B (zh) | 基于强化学习的Ray双层调度方法、装置和电子设备 | |
CN110221909A (zh) | 一种基于负载预测的Hadoop计算任务推测执行方法 | |
CN114511042A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
CN113887748B (zh) | 在线联邦学习任务分配方法、装置、联邦学习方法及*** | |
WO2020039790A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN115586961A (zh) | 一种ai平台计算资源任务调度方法、装置及介质 | |
Li et al. | A QoS-based scheduling algorithm for instance-intensive workflows in cloud environment | |
US12001174B2 (en) | Determination of task automation using an artificial intelligence model | |
CN116915869A (zh) | 基于云边协同的时延敏感型智能服务快速响应方法 | |
CN106897199A (zh) | 一种基于大数据处理框架共有特征的批作业执行时间预测方法 | |
CN116069473A (zh) | 一种基于深度强化学习的Yarn集群工作流调度方法 | |
Funika et al. | Evaluating the use of policy gradient optimization approach for automatic cloud resource provisioning | |
CN114489966A (zh) | 一种作业调度方法及装置 | |
de Freitas Cunha et al. | An SMDP approach for Reinforcement Learning in HPC cluster schedulers | |
CN114090239A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |