CN111338791A - 集群队列资源的调度方法、装置、设备及存储介质 - Google Patents
集群队列资源的调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111338791A CN111338791A CN202010089180.0A CN202010089180A CN111338791A CN 111338791 A CN111338791 A CN 111338791A CN 202010089180 A CN202010089180 A CN 202010089180A CN 111338791 A CN111338791 A CN 111338791A
- Authority
- CN
- China
- Prior art keywords
- subtask
- queue
- processed
- time
- parameters
- 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
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
Abstract
本发明提供一种集群队列资源的调度方法、装置、设备及存储介质,即通过确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。本发明减少了任务完成时间,提高了资源调度效率。
Description
技术领域
本发明涉及任务调度技术领域,尤其涉及一种集群队列资源的调度方法、装置、设备及计算机可读存储介质。
背景技术
在现有的集群系统中,一般为每一个业务用户设置一个队列,并为每个队列预先固定分配相应的处理资源,包括cpu和内存,而某些业务逻辑的任务对于一些计算任务的完成要求较高,但是上述计算任务的进度可能由于一些原因(如集群环境问题,前置作业失败等)会发生延时,不能及时调整队列的处理资源,容易出现任务堆积,从而导致该计算任务无法在规定时间内完成,降低了集群队列资源的调度效率。因此,如何解决现有集群队列资源的调度效率低下,成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种集群队列资源的调度方法、装置、设备及计算机可读存储介质,旨在解决现有集群队列资源的调度效率低下的技术问题。
为实现上述目的,本发明提供一种集群队列资源的调度方法,其特征在于,所述集群队列资源的调度方法应用于集群系统,所述集群队列资源的调度方法包括以下步骤:
确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;
将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;
将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。
可选地,所述将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间的步骤之前,还包括:
在预设模型训练数据中确定所述待处理子任务对应的待训练模型以及模型训练数据;
获取所述模型训练数据中的系统资源训练参数、队列相关训练参数以及任务相关训练参数,作为所述待训练模型中的自变量参数;
获取所述模型训练数据中的目标子任务预计时间,作为所述待训练模型中的因变量参数;
根据线性回归公式、所述自变量参数以及所述因变量参数,将所述待训练模型训练生成所述线性回归模型。
可选地,所述根据线性回归公式、所述自变量参数以及所述因变量参数,将所述待训练模型训练生成所述线性回归模型的步骤具体包括:
将所述自变量参数以及所述因变量参数输入至所述线性回归公式,以得到训练后的初始回归参数,其中,所述线性回归公式为:
y=b0+b1X1+b2X2+…+bnXn,X1、X2、Xn为自变量参数,y为因变量参数,b0、b1、bn为初始回归参数;
根据最小二乘估计算法,对所述初始回归参数进行调整,生成目标回归参数;
根据所述目标回归参数以及所述待训练模型,生成所述线性回归模型。
可选地,所述将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间的步骤具体包括:
获取预设周期内的系统资源参数、队列相关参数以及任务相关参数,并通过所述线性回归模型计算所述预设周期内所述待处理子任务对应的多个子任务预计时间;
所述将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度的步骤具体包括:
将所述多个子任务预计时间分别与所述标准时间进行比对;
若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源。
可选地,所述将若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源的步骤具体包括:
若超过预设个数的子任务预计时间高于所述标准时间,则获取所述预设个数的子任务预计时间与所述标准时间的平均时间差值;
根据预设资源调度表以及所述平均时间差值,确定所述待处理子任务对应的待增加资源,并根据所述待增加资源增加所述待处理子任务的队列资源以及系统资源。
可选地,所述将所述多个子任务预计时间分别与所述标准时间进行比对的步骤之前,还包括:
获取所述待处理子任务在预设周期内的多个历史任务完成时间,并计算所述多个历史任务完成时间的平均值,作为所述标准时间。
可选地,所述将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度的步骤之后,还包括:
根据调度后的资源参数以及所述线性回归模型,确定所述待处理子任务的当前子任务预计时间,并启动定时器,对调度后的待处理子任务的执行时间进行监测;
在检测到所述执行时间达到所述当前子任务预计时间时,检测所述待处理子任务是否执行成功;
若所述待处理子任务执行成功,则释放所述待处理子任务占用的队列资源与系统资源。
此外,为实现上述目的,本发明还提供一种集群队列资源的调度装置,所述集群队列资源的调度装置应用于集群系统,所述集群队列资源的调度装置包括:
资源参数获取模块,用于确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;
预计时间计算模块,用于将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;
任务资源调度模块,用于将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。
此外,为实现上述目的,本发明还提供一种集群队列资源的调度设备,所述集群队列资源的调度设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的集群队列资源的调度程序,其中所述集群队列资源的调度程序被所述处理器执行时,实现如上述的集群队列资源的调度方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有集群队列资源的调度程序,其中所述集群队列资源的调度程序被处理器执行时,实现如上述的集群队列资源的调度方法的步骤。
本发明提供一种集群队列资源的调度方法,所述集群队列资源的调度方法应用于集群系统,所述集群队列资源的调度方法通过确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。通过上述方式,本发明通过预先训练的线性回归模型,并结合所述集群系统对应的系统资源参数、待处理子任务队列对应的队列相关参数以及待处理子任务对应任务相关参数,确定所述待处理子任务对应的子任务预计时间,并将该子任务预计时间与资源合理时待处理子任务完成任务的标准时间进行比对,从而确定待处理子任务的当前资源是否合理,并根据比对结果进行资源调度,减少了任务完成时间,提高了资源调度效率,解决了现有集群队列资源的调度效率低下的技术问题。
附图说明
图1为本发明实施例方案中涉及的集群队列资源的调度设备的硬件结构示意图;
图2为本发明集群队列资源的调度方法第一实施例的流程示意图;
图3为本发明集群队列资源的调度方法第二实施例的流程示意图;
图4为本发明集群队列资源的调度方法第三实施例的流程示意图;
图5为本发明集群队列资源的调度装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的集群队列资源的调度方法主要应用于集群队列资源的调度设备,该集群队列资源的调度设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的集群队列资源的调度设备的硬件结构示意图。本发明实施例中,集群队列资源的调度设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对集群队列资源的调度设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及集群队列资源的调度程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的集群队列资源的调度程序,并执行本发明实施例提供的集群队列资源的调度方法。
本发明实施例提供了一种集群队列资源的调度方法。
参照图2,图2为本发明集群队列资源的调度方法第一实施例的流程示意图。
本实施例中,所述集群队列资源的调度方法应用于集群系统,所述集群队列资源的调度方法包括以下步骤:
步骤S10,确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;
现有集群系统中,计算任务的进度可能由于一些原因(如集群环境问题,前置作业失败等)会发生延时,不能及时调整队列的处理资源,容易出现任务堆积,从而导致该计算任务无法在规定时间内完成,降低了集群队列资源的调度效率。为了解决上述技术问题,通过本实施例中,通过预先训练的线性回归模型,并结合所述集群系统对应的系统资源参数、待处理子任务队列对应的队列相关参数以及待处理子任务对应任务相关参数,确定所述待处理子任务对应的子任务预计时间,并将该子任务预计时间与资源合理时待处理子任务完成任务的标准时间进行比对,从而确定待处理子任务的当前资源是否合理,并根据比对结果进行资源调度,减少了任务完成时间,提高了资源调度效率。具体地,集群系统中包括主控节点和普通节点,其中,主控节点负责将用户提交的计算任务拆分成多个小任务,提交到多个cpu上执行,负责记录计算任务的开始时间和完成时间等信息。集群系统为每一个用户设置一个队列,并为该队列分配相应的资源,包括cpu和内存。实时确定所述集群系统中的各个待处理子任务队列,以及所述待处理子任务队列中的各个待处理子任务。然后获取所述集群系统中的系统资源参数,如系统当前剩余可用的cpu数目以及系统当前剩余可用的内存数目,所述待处理子任务队列的队列相关参数,如用户当前可提交的最大任务数量,即每个队列配置有最大可提交的任务数量,根据当前队列已提交的任务数量,可以计算出当前用户可提交的最大任务数量;队列当前剩余的可用的cpu数目;队列的优先级,即集群系统处理队列的优先级;对队列中任务的调度策略,调度策略包括先进先出、公平调度以及容量调度等,所述待处理子任务的任务相关参数,如任务类型:即处理任务的计算引擎类型,包括采用高速内存处理方法的计算引擎和采用硬盘处理的计算引擎;任务语言:即任务的代码编写语言,比如java、phyton或c语言;任务的输入数据集大小;任务的执行参数:包括任务拆分成子任务的数目、java中申请堆的大小以及多个任务的并行度。
在本步骤中,集群系统为Yarn系统,Yarn是一个资源调度平台,包括以下模块:
1、ResourceManager(简称RM)是一个全局的资源管理器,负责整个系统的资源管理和分配。
2、ApplicationManager(简称AM)用户提交的每个应用程序均包含1个AM,并负责与RM协调获取资源,将得到的任务近一步分配给内部的任务,与Nodemanager通信启动或停止任务,监控所有任务状态。
3、Nodemanager,是每个计算节点上的资源和任务管理器,会定时向RM汇报本节点的资源使用情况,如CPU,内存等。另外接收并处理来自AM的containner的启动/停止等要求。
4、Container,是属于真正执行计算任务的地方,属于yarn的抽象资源,封装了某个计算节点的多维资源,如CPU,磁盘,网络等,当AM向RM申请资源时,RM为AM返回的资源便是Container表示的。Yarn会为每个任务分配一个Container,且该任务只能使用该Container中描述的资源。
在本步骤中,Yarn中的ApplicationManager和Nodemanager以日志的形式存储有上述队列数据和任务数据,Yarn中的ResourceManager也以日志的形式存储上述集群系统资源数据。
由Kafka通过采集Yarn的日志来获取本步骤中所需要的队列数据、任务数据以及集群系统资源数据。Kafka是一个分布式发布、消息订阅系统,属于消息中间件,包含以下模块:
1.Broker,即kafka的服务器节点。Broker存储topic的数据。
2.Topic,每条发布到kafka集群的消息都有一个类别,这个类别就是topic,可以理解为主题。
3.Producer,消息的生产者、发布者,是一种角色概念,该角色将消息发布到kafka的topic中。
4.Consumer,消息的消费者,也是一中角色概念,从broker中读取数据,并存储到本地磁盘上。
在本步骤中,在Kafka中创建一个Yarn的Broker节点,在该Yarn broker节点中创建topic,该topic用来搜集Yarn的记录了上述任务数据、队列数据以及集群系统数据的日志信息。需要说明的是,Yarn支持通过log4j Appender将产生的日志发送到kafka,在yarn的相关配置文件中进行配置指定的kafka消费端地址和topic,即可完成将yarn产生的日志实时发送到Kafka中,实现Kafka对Yarn的日志信息的搜集。
此外,Kafka通过将收集到集群系统Yarn的日志信息实时存储到Hbase中。Hbase是构建在hdfs上的高可靠性、高性能、面向列存储、可伸缩的分布式存储系统,包括以下模块:
1.HMaster:HBase集群的管理服务,主要用来管理用户对Table的增删改查操作,管理HRegionserver的负载均衡,调整Region分布,Region拆分合并迁移等。
2.HRegionserver:Hbase集群的核心模块,管理一系列HMaster分配的HRegion对象,响应用户的I/O请求,向HDFS读写数据。
3.HRegion:每个Region对象对应Table中的一个Region,是Table水平拆分的结果,每个HRegion由多个HStore组成;
4.HStore:是Hbase的存储的核心,也就是真正存region数据的地方。一个region由多个store组成,store包括内存中的memstore和位于磁盘的storefile,当memstore到达一定阈值会写入磁盘storefile中,storefile以HFile格式保存在HDFS上。
5.HLog:存储在HDFS上,数据在写入memstore之前会先写入HLog中。HLog的主要作用是放置主机宕机时,当写入到memstore中的数据丢失,用于数据恢复。
Kafka与HBase交互主要是将kafka收集到的数据实时插入HBase中,通过java程序调用kafka,Hbase API实现:
1.每10s拉取一次kafka中的yarn日志消费数据。
2.将读取到的数据拆分成key:value格式,并进行格式化处理,如日期格式。
3.开启访问HBase,并将处理好的数据插入到设计好的表中。
需要说明的是,实际环境中yarn、kafka以及Hbas这些服务所在物理机器的指定端口之间可以互相访问,进一步地,为了尽可能减少网络传输服务,本实施例中将yarn、kafka以及Hbas所在的物理机器设置在同一网段,同一个交换机。
步骤S20,将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;
本实施例中,按照预设的周期,对于每一个当前已提交到集群系统队列中的任务,按照预设周期采集所述的队列、任务、集群系统资源的实时信息,将该实时信息输入线性回归模型,得到对任务的剩余完成时间的预测。即在获取系统资源参数、队列相关参数以及任务相关参数之后,将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,即预先训练完成的线性回归模型。通过所述线性回归模型,对所述待处理子任务完成剩余任务的时间进行预算,得到所述待处理子任务对应的子任务预计时间。
进一步地,步骤S20之前,包括:
在预设模型训练数据中确定所述待处理子任务对应的待训练模型以及模型训练数据;
获取所述模型训练数据中的系统资源训练参数、队列相关训练参数以及任务相关训练参数,作为所述待训练模型中的自变量参数;
获取所述模型训练数据中的目标子任务预计时间,作为所述待训练模型中的因变量参数;
根据线性回归公式、所述自变量参数以及所述因变量参数,将所述待训练模型训练生成所述线性回归模型。
其中,将所述自变量参数以及所述因变量参数输入至所述线性回归公式,以得到训练后的初始回归参数,其中,所述线性回归公式为:
y=b0+b1X1+b2X2+…+bnXn,X1、X2、Xn为自变量参数,y为因变量参数,b0、b1、bn为初始回归参数;
根据最小二乘估计算法,对所述初始回归参数进行调整,生成目标回归参数;
根据所述目标回归参数以及所述待训练模型,生成所述线性回归模型。
本实施例中,预先收集训练数据并将其输入线性回归模型进行训练;首先,收集系统资源、队列参数以及任务参数三个方面的数据输入线性回归模型,作为自变量,其中,上述队列和集群系统资源相关信息是按照预设周期进行采集,例如每隔30秒采集一次,上述任务相关信息是在任务创建时采集而得。然后,收集所述模型训练数据中的目标子任务预计时间,即任务当前剩余执行时间作为线性回归模型的因变量。最后,将自变量与因变量中收集的数据输入线性回归模型,线性回归模型的公式如下所示,其中,y为因变量,x1~xn为自变量:
y=b0+b1X1+b2X2+…+bnXn;
线性回归模型中基于上述线性回归公式,初步得到回归参数b0、b1、b2……bn的估计值,然后采用最小二乘估计算法对回归参数b0、b1、b2……bn进行逐步调整,提升模型精度。
步骤S30,将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。
本实施例中,通过线性回归模型得到所述子任务预计时间后,将所述子任务预计时间与预先设计的标准时间进行比对。其中,所述标准时间为所述待处理子任务在资源合理时,完成任务的时间。然后根据比对结果,如子任务预计时间大于所述标准时间,即表示所述待处理子任务的资源合理,无需调度,若子任务预计时间小于所述标准时间,即表示所述待处理子任务的资源不足,可为其增加资源。具体实施例中,对于某一个已经提交到队列中的任务,根据预设周期连续多次估计其剩余完成时间,从而得到对其整体执行时间的预测值,若这连续多次的预测值均高于历史平均水平,则为该任务增加队列资源,即为该队列增加cpu数目。其中,增加cpu数目的同时,自动按比例增加相应的内存资源,并可以同时通过邮件通知管理用户。
本实施例提供一种集群队列资源的调度方法,所述集群队列资源的调度方法应用于集群系统,所述集群队列资源的调度方法通过确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。通过上述方式,本发明通过预先训练的线性回归模型,并结合所述集群系统对应的系统资源参数、待处理子任务队列对应的队列相关参数以及待处理子任务对应任务相关参数,确定所述待处理子任务对应的子任务预计时间,并将该子任务预计时间与资源合理时待处理子任务完成任务的标准时间进行比对,从而确定待处理子任务的当前资源是否合理,并根据比对结果进行资源调度,减少了任务完成时间,提高了资源调度效率,解决了现有集群队列资源的调度效率低下的技术问题。
参照图3,图3为本发明集群队列资源的调度方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S20具体包括:
步骤S21,获取预设周期内的系统资源参数、队列相关参数以及任务相关参数,并通过所述线性回归模型计算所述预设周期内所述待处理子任务对应的多个子任务预计时间;
本实施例中,为了减少时间预算误差,按照预设周期计算多个子任务预计时间,从而得到对其整体执行时间的预测值。若连续多次的子任务预计时间均高于标准时间,则应当为该任务增加队列资源。具体地,对于每一个当前已提交到集群系统队列中的任务,按照预设周期采集所述队列、任务、集群系统资源的实时信息,即系统实时资源参数、队列实时相关参数以及任务实时相关参数,将该实时信息输入线性回归模型,得到所述待处理子任务的对应的各个剩余完成时间的预测,即多个子任务预计时间。
进一步地,所述步骤S30具体包括:
步骤S31,将所述多个子任务预计时间分别与所述标准时间进行比对;
步骤S32,若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源。
本实施例中,将所述多个子任务预计时间分别与所述标准时间进行比对,以判断所述待处理子任务是否连续多次的子任务预计时间均高于标准时间。其中,获取所述待处理子任务在预设周期内的多个历史任务完成时间,并计算所述多个历史任务完成时间的平均值,作为所述标准时间。在高于所述标准时间的子任务预计时间的个数超过预设个数时,即表示所述待处理子任务的整体执行时间的预测值高于合理时间,应该增加所述待处理子任务的资源。
进一步地,所述将若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源的步骤具体包括:
若超过预设个数的子任务预计时间高于所述标准时间,则获取所述预设个数的子任务预计时间与所述标准时间的平均时间差值;
根据预设资源调度表以及所述平均时间差值,确定所述待处理子任务对应的待增加资源,并根据所述待增加资源增加所述待处理子任务的队列资源以及系统资源。
本实施例中,若超过预设个数的子任务预计时间高于所述标准时间,即表示所述待处理子任务整体执行时间超时,需要为其增加资源。获取所述待处理子任务的多个子任务预计时间的平均值,并计算所述平均值与所述标准时间的差值,作为平均时间差。为了便于资源调度,预先根据待处理子任务的任务实际处理时间与标准时间的差值,设置对应的资源调度关系。所述资源调度表可为根据大数据分析,自动设置,也可以根据实际需要人为设置。在确定所述待处理子任务需要增加的资源后,优先确定所述待处理子任务所属待处理任务队列中的队列最大资源数,并判断所述待处理子任务的待增加的资源是否超过所述最大资源数,若不超过,则判断队列剩余资源是否满足待增加的资源的分配,若不满足,则从所属集群系统中的系统资源进行调度。
参照图4,图4为本发明集群队列资源的调度方法第三实施例的流程示意图。
基于上述图3所示实施例,本实施例中,所述步骤S30之后,还包括:
步骤S40,根据调度后的资源参数以及所述线性回归模型,确定所述待处理子任务的当前子任务预计时间,并启动定时器,对调度后的待处理子任务的执行时间进行监测;
步骤S50,在检测到所述执行时间达到所述当前子任务预计时间时,检测所述待处理子任务是否执行成功;
步骤S60,若所述待处理子任务执行成功,则释放所述待处理子任务占用的队列资源与系统资源。
本实施例中,为了提高资源利用率,为待处理子任务增加资源后,启动一个定时器,对所述待处理子任务的任务执行情况进行监测。并根据监测结果对任务资源进行释放以及回收。即获取调度后的实时资源参数,并将所述实时资源参数输入至所述线性回归模型,从而确定所述待处理子任务的当前子任务预计时间。并当定时器达到当前子任务预计时间时,检测该任务是否执行完毕。若该任务执行完毕,回收增加的队列资源,若该任务未执行完毕,不回收增加的队列资源。
此外,本发明实施例还提供一种集群队列资源的调度装置。
参照图5,图5为本发明集群队列资源的调度装置第一实施例的功能模块示意图。
本实施例中,所述集群队列资源的调度装置应用于集群系统,所述集群队列资源的调度装置包括:
资源参数获取模块10,用于确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;
预计时间计算模块20,用于将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;
任务资源调度模块30,用于将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。
进一步地,所述集群队列资源的调度装置还包括模型训练模块,所述模型训练模块用于:
在预设模型训练数据中确定所述待处理子任务对应的待训练模型以及模型训练数据;
获取所述模型训练数据中的系统资源训练参数、队列相关训练参数以及任务相关训练参数,作为所述待训练模型中的自变量参数;
获取所述模型训练数据中的目标子任务预计时间,作为所述待训练模型中的因变量参数;
根据线性回归公式、所述自变量参数以及所述因变量参数,将所述待训练模型训练生成所述线性回归模型。
进一步地,所述模型训练模块还用于:
将所述自变量参数以及所述因变量参数输入至所述线性回归公式,以得到训练后的初始回归参数,其中,所述线性回归公式为:
y=b0+b1X1+b2X2+…+bnXn,X1、X2、Xn为自变量参数,y为因变量参数,b0、b1、bn为初始回归参数;
根据最小二乘估计算法,对所述初始回归参数进行调整,生成目标回归参数;
根据所述目标回归参数以及所述待训练模型,生成所述线性回归模型。
进一步地,所述资源参数获取模块10还用于:
获取预设周期内的系统资源参数、队列相关参数以及任务相关参数,并通过所述线性回归模型计算所述预设周期内所述待处理子任务对应的多个子任务预计时间;
进一步地,所述任务资源调度模块30还用于:
将所述多个子任务预计时间分别与所述标准时间进行比对;
若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源。
进一步地,所述任务资源调度模块30还用于:
若超过预设个数的子任务预计时间高于所述标准时间,则获取所述预设个数的子任务预计时间与所述标准时间的平均时间差值;
根据预设资源调度表以及所述平均时间差值,确定所述待处理子任务对应的待增加资源,并根据所述待增加资源增加所述待处理子任务的队列资源以及系统资源。
进一步地,所述预计时间计算模块20还用于:
获取所述待处理子任务在预设周期内的多个历史任务完成时间,并计算所述多个历史任务完成时间的平均值,作为所述标准时间。
进一步地,所述集群队列资源的调度装置还包括资源回收模块,所述资源回收模块用于:
根据调度后的资源参数以及所述线性回归模型,确定所述待处理子任务的当前子任务预计时间,并启动定时器,对调度后的待处理子任务的执行时间进行监测;
在检测到所述执行时间达到所述当前子任务预计时间时,检测所述待处理子任务是否执行成功;
若所述待处理子任务执行成功,则释放所述待处理子任务占用的队列资源与系统资源。
其中,上述集群队列资源的调度装置中各个模块与上述集群队列资源的调度方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有集群队列资源的调度程序,其中所述集群队列资源的调度程序被处理器执行时,实现如上述的集群队列资源的调度方法的步骤。
其中,集群队列资源的调度程序被执行时所实现的方法可参照本发明集群队列资源的调度方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种集群队列资源的调度方法,其特征在于,所述集群队列资源的调度方法应用于集群系统,所述集群队列资源的调度方法包括以下步骤:
确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;
将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;
将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。
2.如权利要求1所述的集群队列资源的调度方法,其特征在于,所述将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间的步骤之前,还包括:
在预设模型训练数据中确定所述待处理子任务对应的待训练模型以及模型训练数据;
获取所述模型训练数据中的系统资源训练参数、队列相关训练参数以及任务相关训练参数,作为所述待训练模型中的自变量参数;
获取所述模型训练数据中的目标子任务预计时间,作为所述待训练模型中的因变量参数;
根据线性回归公式、所述自变量参数以及所述因变量参数,将所述待训练模型训练生成所述线性回归模型。
3.如权利要求2所述的集群队列资源的调度方法,其特征在于,所述根据线性回归公式、所述自变量参数以及所述因变量参数,将所述待训练模型训练生成所述线性回归模型的步骤具体包括:
将所述自变量参数以及所述因变量参数输入至所述线性回归公式,以得到训练后的初始回归参数,其中,所述线性回归公式为:
y=b0+b1X1+b2X2+…+bnXn,X1、X2、Xn为自变量参数,y为因变量参数,b0、b1、bn为初始回归参数;
根据最小二乘估计算法,对所述初始回归参数进行调整,生成目标回归参数;
根据所述目标回归参数以及所述待训练模型,生成所述线性回归模型。
4.如权利要求1所述的集群队列资源的调度方法,其特征在于,所述将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间的步骤具体包括:
获取预设周期内的系统资源参数、队列相关参数以及任务相关参数,并通过所述线性回归模型计算所述预设周期内所述待处理子任务对应的多个子任务预计时间;
所述将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度的步骤具体包括:
将所述多个子任务预计时间分别与所述标准时间进行比对;
若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源。
5.如权利要求4所述的集群队列资源的调度方法,其特征在于,所述将若超过预设个数的子任务预计时间高于所述标准时间,则增加所述待处理子任务的队列资源以及系统资源的步骤具体包括:
若超过预设个数的子任务预计时间高于所述标准时间,则获取所述预设个数的子任务预计时间与所述标准时间的平均时间差值;
根据预设资源调度表以及所述平均时间差值,确定所述待处理子任务对应的待增加资源,并根据所述待增加资源增加所述待处理子任务的队列资源以及系统资源。
6.如权利要求4所述的集群队列资源的调度方法,其特征在于,所述将所述多个子任务预计时间分别与所述标准时间进行比对的步骤之前,还包括:
获取所述待处理子任务在预设周期内的多个历史任务完成时间,并计算所述多个历史任务完成时间的平均值,作为所述标准时间。
7.如权利要求1至6任意一项所述的集群队列资源的调度方法,其特征在于,所述将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度的步骤之后,还包括:
根据调度后的资源参数以及所述线性回归模型,确定所述待处理子任务的当前子任务预计时间,并启动定时器,对调度后的待处理子任务的执行时间进行监测;
在检测到所述执行时间达到所述当前子任务预计时间时,检测所述待处理子任务是否执行成功;
若所述待处理子任务执行成功,则释放所述待处理子任务占用的队列资源与系统资源。
8.一种集群队列资源的调度装置,其特征在于,所述集群队列资源的调度装置应用于集群系统,所述集群队列资源的调度装置包括:
资源参数获取模块,用于确定所述集群系统中的各个待处理子任务队列以及所述待处理子任务队列中的各个待处理子任务,并获取所述集群系统的系统资源参数、所述待处理子任务队列的队列相关参数以及所述待处理子任务的任务相关参数;
预计时间计算模块,用于将所述系统资源参数、队列相关参数以及任务相关参数输入至预设线性回归模型,并通过所述线性回归模型获取所述待处理子任务对应的子任务预计时间;
任务资源调度模块,用于将所述子任务预计时间与预设标准时间进行比对,并根据所述子任务预计时间与所述标准时间的比对结果,对所述待处理子任务的队列资源以及系统资源进行调度。
9.一种集群队列资源的调度设备,其特征在于,所述集群队列资源的调度设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的集群队列资源的调度程序,其中所述集群队列资源的调度程序被所述处理器执行时,实现如权利要求1至7中任一项所述的集群队列资源的调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有集群队列资源的调度程序,其中所述集群队列资源的调度程序被处理器执行时,实现如权利要求1至7中任一项所述的集群队列资源的调度方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089180.0A CN111338791A (zh) | 2020-02-12 | 2020-02-12 | 集群队列资源的调度方法、装置、设备及存储介质 |
PCT/CN2020/093185 WO2021159638A1 (zh) | 2020-02-12 | 2020-05-29 | 集群队列资源的调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089180.0A CN111338791A (zh) | 2020-02-12 | 2020-02-12 | 集群队列资源的调度方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111338791A true CN111338791A (zh) | 2020-06-26 |
Family
ID=71181543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010089180.0A Pending CN111338791A (zh) | 2020-02-12 | 2020-02-12 | 集群队列资源的调度方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111338791A (zh) |
WO (1) | WO2021159638A1 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880922A (zh) * | 2020-08-07 | 2020-11-03 | 北京达佳互联信息技术有限公司 | 并发任务的处理方法、装置及设备 |
CN111970326A (zh) * | 2020-07-22 | 2020-11-20 | 深圳市欢太科技有限公司 | 集群流量平衡方法、装置、存储介质及终端 |
CN112130979A (zh) * | 2020-09-29 | 2020-12-25 | 展讯通信(上海)有限公司 | 调度任务及训练神经网络模型的方法、装置、终端和介质 |
CN112463341A (zh) * | 2020-12-11 | 2021-03-09 | 奇瑞汽车股份有限公司 | 基于高性能计算集群hpc的cae作业运行时间预测方法及装置 |
CN112948113A (zh) * | 2021-03-01 | 2021-06-11 | 上海微盟企业发展有限公司 | 一种集群资源管理调度方法、装置、设备及可读存储介质 |
CN113190341A (zh) * | 2021-05-31 | 2021-07-30 | 内蒙古豆蔻网络科技有限公司 | 一种服务器资源调度方法及系统 |
CN113204692A (zh) * | 2021-05-27 | 2021-08-03 | 北京深演智能科技股份有限公司 | 数据处理任务执行进度的监测方法及装置 |
WO2022057940A1 (zh) * | 2020-09-21 | 2022-03-24 | 中国移动通信有限公司研究院 | 一种计算节点资源信息更新方法、节点和存储介质 |
CN117076555A (zh) * | 2023-05-08 | 2023-11-17 | 芜湖本初子午信息技术有限公司 | 一种基于计算的分布式任务管理系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102831012A (zh) * | 2011-06-16 | 2012-12-19 | 日立(中国)研究开发有限公司 | 多节点分布式系统中的任务调度装置和任务调度方法 |
CN102521056B (zh) * | 2011-12-28 | 2013-08-14 | 用友软件股份有限公司 | 任务分配装置和任务分配方法 |
US9262216B2 (en) * | 2012-02-14 | 2016-02-16 | Microsoft Technologies Licensing, LLC | Computing cluster with latency control |
CN103729246B (zh) * | 2013-12-31 | 2017-05-03 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法和装置 |
-
2020
- 2020-02-12 CN CN202010089180.0A patent/CN111338791A/zh active Pending
- 2020-05-29 WO PCT/CN2020/093185 patent/WO2021159638A1/zh active Application Filing
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970326A (zh) * | 2020-07-22 | 2020-11-20 | 深圳市欢太科技有限公司 | 集群流量平衡方法、装置、存储介质及终端 |
CN111970326B (zh) * | 2020-07-22 | 2023-06-09 | 深圳市欢太科技有限公司 | 集群流量平衡方法、装置、存储介质及终端 |
CN111880922A (zh) * | 2020-08-07 | 2020-11-03 | 北京达佳互联信息技术有限公司 | 并发任务的处理方法、装置及设备 |
WO2022057940A1 (zh) * | 2020-09-21 | 2022-03-24 | 中国移动通信有限公司研究院 | 一种计算节点资源信息更新方法、节点和存储介质 |
CN112130979A (zh) * | 2020-09-29 | 2020-12-25 | 展讯通信(上海)有限公司 | 调度任务及训练神经网络模型的方法、装置、终端和介质 |
CN112130979B (zh) * | 2020-09-29 | 2022-08-09 | 展讯通信(上海)有限公司 | 调度任务及训练神经网络模型的方法、装置、终端和介质 |
CN112463341A (zh) * | 2020-12-11 | 2021-03-09 | 奇瑞汽车股份有限公司 | 基于高性能计算集群hpc的cae作业运行时间预测方法及装置 |
CN112948113A (zh) * | 2021-03-01 | 2021-06-11 | 上海微盟企业发展有限公司 | 一种集群资源管理调度方法、装置、设备及可读存储介质 |
CN113204692A (zh) * | 2021-05-27 | 2021-08-03 | 北京深演智能科技股份有限公司 | 数据处理任务执行进度的监测方法及装置 |
CN113190341A (zh) * | 2021-05-31 | 2021-07-30 | 内蒙古豆蔻网络科技有限公司 | 一种服务器资源调度方法及系统 |
CN117076555A (zh) * | 2023-05-08 | 2023-11-17 | 芜湖本初子午信息技术有限公司 | 一种基于计算的分布式任务管理系统及方法 |
CN117076555B (zh) * | 2023-05-08 | 2024-03-22 | 深圳市优友网络科技有限公司 | 一种基于计算的分布式任务管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021159638A1 (zh) | 2021-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338791A (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
US8752059B2 (en) | Computer data processing capacity planning using dependency relationships from a configuration management database | |
EP2503733B1 (en) | Data collecting method, data collecting apparatus and network management device | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN106557369A (zh) | 一种多线程的管理方法及系统 | |
CN109947532B (zh) | 一种教育云平台中的大数据任务调度方法 | |
CN111427675B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN112579304A (zh) | 基于分布式平台的资源调度方法、装置、设备及介质 | |
CN112286671B (zh) | 一种容器化批处理作业调度方法、装置和计算机设备 | |
CN110716800B (zh) | 任务调度方法及装置、存储介质及电子设备 | |
CN115543624A (zh) | 异构算力编排调度方法、系统、设备及存储介质 | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
Hung et al. | Task scheduling for optimizing recovery time in cloud computing | |
CN114327894A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
CN112948109B (zh) | 一种ai计算集群的配额弹性调度方法、装置及介质 | |
CN108268313A (zh) | 数据处理的方法和装置 | |
CN115981871A (zh) | 一种gpu资源调度方法、装置、设备及存储介质 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
CN111538575B (zh) | 一种资源调度系统、方法、装置、设备及介质 | |
CN113485810A (zh) | 一种任务的调度执行方法、装置、设备及存储介质 | |
CN114237858A (zh) | 一种基于多集群网络的任务调度方法及系统 | |
CN113515355A (zh) | 资源调度方法、装置、服务器及计算机可读存储介质 | |
Chen et al. | Task scheduling in real-time industrial scenarios |
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 |