一种基于执行时间预测的任务层级调度方法及装置制造方法及图纸

技术编号:31311535 阅读:16 留言:0更新日期:2021-12-12 21:44
本发明专利技术公开了一种基于执行时间预测的任务层级调度方法及装置,包括:根据用户设定的队列优先级和队列资源限制建立多层调度模型,当计算节点有空闲资源时,从各个叶子队列开始,获取叶子队列中每个任务集合的特征,预测当前任务集合在当前系统负载和叶子队列资源限制的情况下的执行完成所需时间,按照层级模型自底向上计算各个队列的预计完成计算时间。之后从根队列开始自顶向下,根据制定的评分机制对子队列进行打分,然后按照分数进行排序,选取靠前的队列,重复以上操作一直到叶子队列。在选取的叶子队列中,选择预测执行完成时间较短的任务集合进行调度。选择出的任务集合会包含多个任务,预测任务在各个节点上运行完成所需时间。成所需时间。成所需时间。

【技术实现步骤摘要】
一种基于执行时间预测的任务层级调度方法及装置


[0001]本专利技术涉及大数据处理任务调度
,具体涉及一种基于执行时间预测的任务层级调度方法及装置。

技术介绍

[0002]各个存储用户数据的公司都需要对存储的数据进行分析,从而得出决定业务走向的决策。在数据量较少的情况下,传统数据分析工具就能胜任。但是,近几年,随着各种各样数据的增多,一旦数据量达到TB、PB级别时,传统的数据处理工具处理能力优先,此时各个公司会使用大数据分析技术来对数据进行处理即在计算集群上运行不同类型、不同数量的大数据任务比如Spark任务来处理用户数据。当集群资源充足,计算任务数较少时,Spark原先的延迟调度算法能发挥较好的任务调度作用。但是一旦任务数增多时,因为延迟调度算法仅仅针对当前的空闲资源进行调度,具有一定的局部性,如果能对所有任务执行时间有个大体的认识有助于实现全局最优的调度算法,所以本专利提出一种基于执行时间预测的大批量Spark任务层级调度方法。同时在调度过程中还存在着计算集群被多个作业进行使用,如何保证计算资源负载均衡等问题,这些在本专利设计的调度算法中也会被进一步解决。
[0003]现有技术中,直接使用循环调度学习算法神经网络来进行Presto任务调度,但是其忽略了任务调度的响应时间。一般任务要求任务提交后调度器能尽快响应该任务,并将其调度到计算节点上去运行。而使用较为复杂的神经网络可能会造成响应时间较长的情况,从而延长任务完成时间。
[0004]现有技术中,不断按照计算节点剩余CPU、内存等指标计算节点的优先级,从而调度任务到优先级较高的节点上,但是仅仅这些指标来考虑复杂的Spark任务调度还远远不够,针对计算任务还应当考虑数据本地性,任务自身的复杂度等因素。

技术实现思路

[0005]本专利技术提供的一种基于执行时间预测的任务层级调度方法,旨在解决现有技术中在调度过程中还存在着计算集群被多个作业进行使用,如何保证计算资源负载均衡等问题。
[0006]为实现上述目的,本专利技术采用以下技术方案:
[0007]本专利技术的一种基于执行时间预测的任务层级调度方法,包括以下步骤:
[0008]创建任务调度模型,所述任务调度模型包括叶子队列,所述叶子队列包括多个任务集合;
[0009]获取每个任务集合的特征向量,并根据所述特征向量和预先构建的时间预测模型预测所述每个任务集合执行完成所需时间,以得到各子队列的执行时间;
[0010]根据预设的评分机制对所述各子队列进行评分,选取评分高的子队列且所述子队列中执行时间短的任务集合进行调度。
[0011]作为优选,所述构建时间预测模型的步骤包括:
[0012]根据集成学习方法将多个基学习器组合成一个新的基学习器;
[0013]利用回归算法将所述新的基学习器的输出作为次学习器的输入,以构建时间预测模型,所述集成学习中包括所述新的基学习器和所述次学习器。
[0014]作为优选,所述根据预设的评分机制对各子队列进行评分,选取评分高的子队列且所述子队列中执行时间最短的任务集合进行调度,包括:
[0015]所述任务调度模型还包括根队列和非叶子队列,其中所述根队列和所述非叶子队列以及所述叶子队列为树状结构;
[0016]根据预设的评分机制对各子队列进行评分,从所述根队列开始从顶向下遍历选取评分高的子队列;
[0017]从所述子队列中选出执行时间最短的任务集合进行调度。
[0018]作为优选,所述从所述子队列中选出执行时间最短的任务集合进行调度,之后还包括:
[0019]所述任务集合还包括多个任务,根据所述时间预测模型预测每个任务在确定的计算节点上的执行时间;
[0020]设定目标优化函数min(y+load),当所述目标优化函数收敛时,根据网络节点拓扑图选择与最近的节点进行调度,其中y为所述任务集合中最长执行时间,load为集群负载均衡量化指标。
[0021]一种基于执行时间预测的任务层级调度装置,包括:
[0022]创建模块:用于创建任务调度模型,所述任务调度模型包括叶子队列,所述叶子队列包括多个任务集合;
[0023]预测模块:用于获取叶子队列中每个任务集合的特征向量,并根据所述特征向量和预先构建的时间预测模型预测所述每个任务集合执行完成所需时间,以得到各子队列的执行时间;
[0024]调度模块:用于根据预设的评分机制对所述各子队列进行评分,选取评分高的子队列且所述子队列中执行时间短的任务集合进行调度。
[0025]作为优选,所述预测模块包括:
[0026]组合单元:用于根据集成学习方法将多个基学习器组合成一个新的基学习器;
[0027]构建单元:用于利用回归算法将所述新的基学习器的输出作为次学习器的输入,以构建时间预测模型,所述集成学习中包括所述新的基学习器和所述次学习器。
[0028]作为优选,所述调度模块包括:
[0029]第一调度单元:所述任务调度模型还包括根队列和非叶子队列,其中所述根队列和所述非叶子队列以及所述叶子队列为树状结构;用于根据预设的评分机制对各子队列进行评分,从所述根队列开始从顶向下遍历选取评分高的子队列;
[0030]第二调度单元:用于从所述子队列中选出执行时间最短的任务集合进行调度。
[0031]作为优选,所述调度模块还包括:
[0032]第三调度单元:所述任务集合还包括多个任务,根据所述时间预测模型预测每个任务在确定的计算节点上的执行时间,所述节点为处理任务的载体;
[0033]第四调度单元:用于设定目标优化函数min(y+load),当所述目标优化函数收敛
时,根据网络节点拓扑图选择与最近的节点进行任务调度,其中y为所述任务集合中最长执行时间,load为集群负载均衡量化指标。
[0034]一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上述中任一项所述的一种基于执行时间预测的任务层级调度方法。
[0035]一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述中任一项所述的一种基于执行时间预测的任务层级调度方法。
[0036]本专利技术具有如下有益效果:
[0037]机器学习算法在预测方面具有较快的速度和较小的误差,本申请寻求在Spark任务调度中引入机器学习方法来预测任务执行时间,并以此为依据来调度任务,同时为了达到让任务执行时间短并且实现集群的负载均衡,使用改进后的混合群智能算法寻找最优的任务调度方案。任务是任务调度模型中的最小单元,从最小单元放入到确定的计算节点中开始模拟预测执行时间,到任务集合,到叶子队列再到非叶子队列最后到根队列,能细化预测执行时间,更准确;然后在调度中,从根队列开始,选取得分高的且执行时间短的子队列,再到任务集合,具体到任务,进行调度,优先选择执行时间短的任务先调度,让执行时间短的任务集合尽本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于执行时间预测的任务层级调度方法,其特征在于,包括以下步骤:创建任务调度模型,所述任务调度模型包括叶子队列,所述叶子队列包括多个任务集合;获取每个任务集合的特征向量,并根据所述特征向量和预先构建的时间预测模型预测所述每个任务集合执行完成所需时间,以得到各子队列的执行时间;根据预设的评分机制对所述各子队列进行评分,选取评分高的子队列且所述子队列中执行时间短的任务集合进行调度。2.根据权利要求1所述的一种基于执行时间预测的任务层级调度方法,其特征在于,所述构建时间预测模型的步骤包括:根据集成学习方法将多个基学习器组合成一个新的基学习器;利用回归算法将所述新的基学习器的输出作为次学习器的输入,以构建时间预测模型,所述集成学习中包括所述新的基学习器和所述次学习器。3.根据权利要求1所述的一种基于执行时间预测的任务层级调度方法,其特征在于,所述根据预设的评分机制对所述各子队列进行评分,选取评分高的子队列且所述子队列中执行时间短的任务集合进行调度,包括:所述任务调度模型还包括根队列和非叶子队列,其中所述根队列和所述非叶子队列以及所述叶子队列为树状结构;根据预设的评分机制对各子队列进行评分,从所述根队列开始从顶向下遍历选取评分高的子队列;从所述子队列中选出执行时间最短的任务集合进行调度。4.根据权利要求3所述的一种基于执行时间预测的任务层级调度方法,其特征在于,所述从所述子队列中选出执行时间最短的任务集合进行调度,之后还包括:所述任务集合还包括多个任务,根据所述时间预测模型预测每个任务在确定的计算节点上的执行时间,所述节点为处理任务的载体;设定目标优化函数min(y+load),当所述目标优化函数收敛时,根据网络节点拓扑图选择与最近的节点进行任务调度,其中y为所述任务集合中最长执行时间,load为集群负载均衡量化指标。5.一种基于执行时间预测的任务层级调度装置,其特征在于,包括:创建模块:用于创建任务调度模型,所述任务调度模型包括叶子队列,所述叶子队列包括多个任务集合;预测模块:用于获取叶子队列中每个任务集...

【专利技术属性】
技术研发人员:陈健陈天祥
申请(专利权)人:物产中大公用环境投资有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1