CN116662014A - 一种任务分配方法、装置、设备及介质 - Google Patents
一种任务分配方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116662014A CN116662014A CN202310789454.0A CN202310789454A CN116662014A CN 116662014 A CN116662014 A CN 116662014A CN 202310789454 A CN202310789454 A CN 202310789454A CN 116662014 A CN116662014 A CN 116662014A
- Authority
- CN
- China
- Prior art keywords
- resources
- node
- idle
- task
- subtasks
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003062 neural network model Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
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/505—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 load
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Multi Processors (AREA)
Abstract
本发明涉及计算机技术领域,尤其涉及一种任务分配方法、装置、设备及介质。所述方法包括:定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。本发明的方案提高任务执行效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种任务分配方法、装置、设备及介质。
背景技术
随着社会信息化及数据挖掘飞速发展,人类对大数据的计算及处理能力的要求越来越高,包括政府机构、金融机构、国防科技、科学研究、互联网企业等需求高性能计算机,大规模集群中复杂任务的计算需求迅猛增长。在大规模集群应用场景中,各个节点的运行状态及负载信息影响着整个集群的业务处理情况,因而对复杂任务到各个节点的分配策略显得尤为重要,而如何保证在各个节点各自业务正常运行情况下,在负载不超过风险阈值前提下,又能够满足对分配到的复杂任务模块的处理,是当前迫切需要解决的问题。
目前,现有大规模集群任务分配策略相关技术中大多数都是先获取各节点服务器的空闲资源,将任务按权重分配到各节点服务器。这种任务分配方式在大规模集群系统业务处理中,系统资源在运行各个业务系统存在波动情况下,运行分配任务时,受业务资源波动影响,会导致资源超过系统风险阈值,导致业务失败或者运行分配任务失败,严重情况下,可能会因为负载较高而宕机。
发明内容
有鉴于此,有必要针对以上技术问题,提供一种任务分配方法、装置、设备及介质。
根据本发明的第一方面,提供了一种任务分配方法,所述方法包括:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
在一些实施例中,所述定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量的步骤,包括:
在各个节点部署资源数据采集程序以将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集;
将采集的各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源输入到预先训练的长短期神经网络模型,以得到下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述资源数据采集程序根据如下规则计算CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源:
分别采集CPU资源、内存资源、网络资源、磁盘资源的当前使用值;
分别将CPU资源、内存资源、网络资源、磁盘资源对应的预设使用阈值与对应的当前使用值的差值作为CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述子任务在各节点上的单位运行时间与空闲资源关系表示为:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
在一些实施例中,所述根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间的步骤,包括:
将下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源分别作为CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源代入公式一以得到子任务的单位运行时间Ti t;
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源;
根据下述公式二得到每个节点的运行时间;
其中,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
根据下述公式三确定待分配任务的总运行时间;
T=max{Si}(i=1,2..n) 公式三;
其中,T表示总运行时间,max{·}表示取最大值,n表示集群中节点的总数。
在一些实施例中,所述基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量的步骤,包括:
建立所有节点上的子任务总和等于子任务总数第一约束条件;
建立待分配任务的总运行时间最小的第二约束条件;
基于所述第一约束条件和所述第二约束条件确定每个节点分配到的子任务个数。
在一些实施例中,所述方法应用于大规模集群。
根据本发明的第二方面,提供了一种任务分配装置,所述装置包括:
预测模块,用于定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
划分模块,用于响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
时间确定模块,用于根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
求取模块,用于基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
根据本发明的第三方面,还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的任务分配方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的任务分配方法。
上述一种任务分配方法,可以对集群中各个节点未来进行空闲资源预测,根据预测的空闲资源确定子任务在各节点的执行时间以及总运行时间,基于总运行时间最短和子任务数量的约束将待分配任务合理分配到各个节点,从而保证业务系统及任务同时高效运行,增强系统稳定性,提高任务执行效率。
此外,本发明还提供了一种任务分配装置、一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种任务分配方法的流程图;
图2为本发明另一个实施例提供的应用于大规模集群的任务分配方法的实现架构示意图;
图3为本发明另一个实施例提供的一种任务分配装置的结构示意图;
图4为本发明另一个实施例中电子设备的内部结构图;
图5为本发明另一个实施例中计算机可读存储介质结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种任务分配方法100,具体来说,所述方法包括以下步骤:
步骤101,定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
步骤102,响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
步骤103,根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
步骤104,基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
上述一种任务分配方法,可以对集群中各个节点未来进行空闲资源预测,根据预测的空闲资源确定子任务在各节点的执行时间以及总运行时间,基于总运行时间最短和子任务数量的约束将待分配任务合理分配到各个节点,从而保证业务系统及任务同时高效运行,增强系统稳定性,提高任务执行效率。
在一些实施例中,前述步骤101,定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量,包括:
在各个节点部署资源数据采集程序以将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集;
将采集的各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源输入到预先训练的长短期神经网络模型,以得到下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述资源数据采集程序根据如下规则计算CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源:
分别采集CPU资源、内存资源、网络资源、磁盘资源的当前使用值;
分别将CPU资源、内存资源、网络资源、磁盘资源对应的预设使用阈值与对应的当前使用值的差值作为CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
在一些实施例中,所述子任务在各节点上的单位运行时间与空闲资源关系表示为:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
在一些实施例中,前述步骤103,根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间,包括:
将下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源分别作为CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源代入公式一以得到子任务的单位运行时间Ti t;
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源;
根据下述公式二得到每个节点的运行时间;
其中,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
根据下述公式三确定待分配任务的总运行时间;
其中,T表示总运行时间,max{·}表示取最大值,n表示集群中节点的总数。
在一些实施例中,前述步骤104,基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量,包括:
建立所有节点上的子任务总和等于子任务总数第一约束条件;
建立待分配任务的总运行时间最小的第二约束条件;
基于所述第一约束条件和所述第二约束条件确定每个节点分配到的子任务个数。
在一些实施例中,所述方法应用于大规模集群。
在又一个实施例中,为了便于理解本发明的方案,下面请结合图2所示,下面以将本发明方法应用于大规模集群为例,假设集群中有n个节点,具体包括在每个节点部署资源数据采集模块,在任务管理服务器部署任务模型构建模块、空闲资源预测模块、任务分配策略模块,本实施例提供了应用于该场景的一种任务分配方法,下面将详细说明四个模块各自的功能:
任务模型构建模块,该模块位于管理端服务器,该模块包括任务模型库的构造,以及任务模型库的使用,其中任务模型库的构造,任务划分成若干子任务单元,计算每个子任务单元在各节点分配到资源(CPU、内存、网络IO、磁盘IO)对子任务单元执行时间的影响因子,即CPU、内存、网络IO、磁盘IO资源越多,任务执行时间越短;另外模型库的使用,模型库构造完成后,新增加的任务,可根据模型库,得到分解任务单元以及获取各节点任务单元的执行时间与分配资源(CPU、内存、网络IO、磁盘IO)关系;
资源数据采集模块,该模块位于节点服务器,主要负责采集节点性能指标,主要包括CPU利用率、内存利用、磁盘IO、网络IO、系统负载等信息,将采集到的数据按时间发送到管理端服务器。
资源空闲预测模块,该模块位于管理端服务器,首先定义各节点CPU利用率、内存利用率、磁盘IO、网络IO这些资源的安全使用阈值,再通过收集各节点服务器的这些资源的空闲资源数据(安全使用阈值减去使用值)作为样本数据,采用长短期神经网络模型对这些样本数据进行训练,对下一时间段的节点系统空闲资源进行预测,获取该时间段内CPU利用率、内存利用率、网络IO、磁盘IO的空闲情况。
任务分配策略模块,该模块利用任务模型构建模块,获取各个子任务单元运行所需的时间与节点资源分配之间的关系,再根据负载预测模块提供的下一时间段的各个节点的空闲资源,对任务单元进行分配,使得所有任务能够在最短时间内执行完成。
基于以上四个模块实现任务分配的具体实施方式如下:
首先进行任务模型构建,任务模型构建中主要是任务模型库的构建,其中任务模型中,需要对任务分解成若干个子任务单元,每个子任务单元执行时间与集群各个节点资源分配相关,其关系如公式一:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
根据上述关系,将任务平均分发到各个节点,统计任务执行时间,计算参数值,得到任务单元执行时间与空闲资源关系的具体模型。
然后,在各个节点部署资源数据采集程序,将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集,其空闲资源的计算方法则是先定义各资源的安全使用阈值(资源安全使用上限),然后用安全阈值减去当前值即为空闲值,比如CPU利用率安全阈值定义为80%,当前使用率20%,则空闲值为60%。将采集到的数据上传给管理端服务器。
其次,管理端服务器,在接收到各个节点发送的时序数据后,启动空闲资源预测分析程序,不断接收各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源历史数据,将数据作为样本数据,采用长短期神经网络模型进行训练,不断预测下一时刻的系统空闲资源值
最后,根据任务模型库,将要执行的任务分解成若干子任务,然后根据各节点空闲资源的预测值,将任务分配给各个节点,使得任务的总运行时间最短,其中单个节点运行时间表示为公式二:
Si=Ni·Ti t 公式二;
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
为求解参数任务的总运行时间最短,则分配策略如下:
Ni参数确定后表示任务分配策略已经确定,按照任务分配策略将任务分配到各个节点执行,能够满足既不影响各节点当前业务的运行,又能满足任务在最短时间内完成,从而提高任务的执行效率。
本实施例的一种任务分配方法,能够预测各个节点下一时间的系统空闲资源,并将复杂任务智能化分配到负载较低的节点,能够充分利用集群有效资源,有效的缩短任务执行时间,降低服务器宕机风险,增强系统稳定性,提高任务执行效率。
在一些实施例中,请参照图3所示,本发明还提供了一种任务分配装置200,所述装置包括:
预测模块201,用于定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
划分模块202,用于响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
时间确定模块203,用于根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
求取模块204,用于基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
上述一种任务分配装置,可以对集群中各个节点未来进行空闲资源预测,根据预测的空闲资源确定子任务在各节点的执行时间以及总运行时间,基于总运行时间最短和子任务数量的约束将待分配任务合理分配到各个节点,从而保证业务系统及任务同时高效运行,增强系统稳定性,提高任务执行效率。
需要说明的是,关于任务分配装置的具体限定可以参见上文中对任务分配方法的限定,在此不再赘述。上述任务分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种电子设备,该电子设备可以是服务器,其内部结构图请参照图4所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的任务分配方法,具体来说,所述方法包括以下步骤:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
根据本发明的又一方面,提供了一种计算机可读存储介质,请参照图5所示,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的任务分配方法,具体来说,包括执行以下步骤:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种任务分配方法,其特征在于,所述方法包括:
定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
2.根据权利要求1所述的任务分配方法,其特征在于,所述定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量的步骤,包括:
在各个节点部署资源数据采集程序以将CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源按时间序列进行采集;
将采集的各节点的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源输入到预先训练的长短期神经网络模型,以得到下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
3.根据权利要求2所述的任务分配方法,其特征在于,所述资源数据采集程序根据如下规则计算CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源:
分别采集CPU资源、内存资源、网络资源、磁盘资源的当前使用值;
分别将CPU资源、内存资源、网络资源、磁盘资源对应的预设使用阈值与对应的当前使用值的差值作为CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源。
4.根据权利要求2所述的任务分配方法,其特征在于,所述子任务在各节点上的单位运行时间与空闲资源关系表示为:
其中,i表示节点,Ti表示子任务在i节点运行所需时间,Ri(CPU)、Ri(Mem)、Ri(Net)、Ri(Disk)分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源,k为固定值,ci、mi、ni、di分别表示CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源对任务运行时间的影响因子。
5.根据权利要求4所述的任务分配方法,其特征在于,所述根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间的步骤,包括:
将下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源分别作为CPU剩余资源、内存剩余资源、网络剩余资源、磁盘剩余资源代入公式一以得到子任务的单位运行时间Ti t;
其中, 表示下一周期的CPU空闲资源、内存空闲资源、网络空闲资源、磁盘空闲资源;
根据下述公式二得到每个节点的运行时间;
Si=Ni·Ti t 公式二;
其中,Ni表示i节点分配到的子任务个数,Ti表示子任务在i节点运行所需时间,Si表示i节点的运行时间;
根据下述公式三确定待分配任务的总运行时间;
T=max{Si}(i=1,2..n) 公式三;
其中,T表示总运行时间,max{·}表示取最大值,n表示集群中节点的总数。
6.根据权利要求5所述的任务分配方法,其特征在于,所述基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量的步骤,包括:
建立所有节点上的子任务总和等于子任务总数第一约束条件;
建立待分配任务的总运行时间最小的第二约束条件;
基于所述第一约束条件和所述第二约束条件确定每个节点分配到的子任务个数。
7.根据权利要求1-6任意一项所述的任务分配方法,其特征在于,所述方法应用于大规模集群。
8.一种任务分配装置,其特征在于,所述装置包括:
预测模块,用于定时采集集群中各节点的性能数据,并基于所述性能数据预测每个节点的下一周期空闲资源量;
划分模块,用于响应于接收到待分配任务,则基于预先构建的任务模型将所述待分配任务划分成多个子任务,并确定子任务在各节点上的单位运行时间与空闲资源关系;
时间确定模块,用于根据接收到待分配任务时刻所在周期对应的下一周期空闲资源量和所述子任务在各节点上的单位运行时间与空闲资源关系确定每个节点的运行时间以及待分配任务的总运行时间;
求取模块,用于基于所述总运行时间最短和所有节点的子任务总数建立约束条件,并利用约束条件求取每个节点分配的子任务数量。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789454.0A CN116662014A (zh) | 2023-06-30 | 2023-06-30 | 一种任务分配方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310789454.0A CN116662014A (zh) | 2023-06-30 | 2023-06-30 | 一种任务分配方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116662014A true CN116662014A (zh) | 2023-08-29 |
Family
ID=87715299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310789454.0A Pending CN116662014A (zh) | 2023-06-30 | 2023-06-30 | 一种任务分配方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116662014A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421107A (zh) * | 2023-12-14 | 2024-01-19 | 江西飞尚科技有限公司 | 监测平台调度方法、系统、可读存储介质及计算机 |
-
2023
- 2023-06-30 CN CN202310789454.0A patent/CN116662014A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421107A (zh) * | 2023-12-14 | 2024-01-19 | 江西飞尚科技有限公司 | 监测平台调度方法、系统、可读存储介质及计算机 |
CN117421107B (zh) * | 2023-12-14 | 2024-03-08 | 江西飞尚科技有限公司 | 监测平台调度方法、系统、可读存储介质及计算机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khaleq et al. | Intelligent autoscaling of microservices in the cloud for real-time applications | |
CN110321223B (zh) | Coflow协同作业流调度感知的数据流划分方法与装置 | |
CN113434253B (zh) | 集群资源调度方法、装置、设备及存储介质 | |
Minarolli et al. | Tackling uncertainty in long-term predictions for host overload and underload detection in cloud computing | |
CN106155802B (zh) | 任务调度方法、装置及控制节点 | |
CN111225050B (zh) | 云计算资源分配方法及装置 | |
CN107911399B (zh) | 一种基于负载预测的弹性伸缩方法及系统 | |
CN109460301B (zh) | 一种流数据负载的弹性资源配置方法及系统 | |
CN112689007B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN111752706B (zh) | 资源配置方法、装置及存储介质 | |
CN113268350A (zh) | 基于云的服务构建的资源分配方法、装置、计算机设备 | |
CN116662014A (zh) | 一种任务分配方法、装置、设备及介质 | |
CN111966449A (zh) | 一种虚拟机备份管理方法、系统、终端及存储介质 | |
CN112540749A (zh) | 微服务划分方法、装置、计算机设备和可读存储介质 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
Hussain et al. | Resource allocation of industry 4.0 micro-service applications across serverless fog federation | |
CN112232594A (zh) | 一种多星应急观测任务规划方法、装置和计算机设备 | |
Jiang et al. | Effective data management strategy and RDD weight cache replacement strategy in Spark | |
CN113158435A (zh) | 基于集成学习的复杂系统仿真运行时间预测方法与设备 | |
CN117972367A (zh) | 一种数据存储预测方法、数据存储子系统及智能计算平台 | |
Guo | Ant colony optimization computing resource allocation algorithm based on cloud computing environment | |
CN118301002A (zh) | 需求自适应预测的边缘dpu算力协同优化卸载方法 | |
CN117687784A (zh) | 一种基于机器学习的Docker容器智能动态调配方法及装置 | |
CN110909921A (zh) | 中长期风电电量预测方法、装置、计算机设备及存储介质 | |
CN111158901A (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 |