论文部分内容阅读
随着大数据受到越来越广泛的重视,大数据中蕴含的丰富价值愈加受到各行各业的青睐。通过对大数据进行分析,研究人员可以从中提取到传统数据规模下难以获得的信息。并且由于云计算技术的应用,越来越多的企业和科研机构倾向于使用大数据分析平台完成数据分析工作。大数据分析平台以存储、运算和展现为目的,允许使用者在云端运行事先编写的分析任务,或者使用云端提供的服务。计算任务的执行往往需要其他任务的输出作为输入,可以将其抽象为有向无环图(Directed Acyclic Graph,DAG)表示。为了充分利用平台的计算资源,为用户提供高速、可靠的计算服务,大数据分析平台需要根据拥有的计算资源和任务所需资源,对用户提交的DAG任务进行调度。基于以上背景,本文针对大数据云计算背景下的任务调度机制展开了研究。本文首先从任务调度的调度依据出发,结合增量学习,对任务执行时间预测进行了探索,然后基于强化学习算法,对静态与动态调度场景下的任务调度进行了建模,提出了基于异步优势动作评价算法的任务调度模型,最后将算法模型应用于实际工程中,构建了大数据任务调度平台。本文的主要工作如下:(1)基于集成增量学习的任务时间预测模型:进行任务调度需要任务在各个节点上的执行时间作为调度依据,而任务执行所需要的时间在实际执行前是未知的。因此本文提出了一种基于集成增量学习的任务时间预测模型。模型可以对已执行任务的特征以及任务执行环境进行建模,通过增量式训练优化模型效果。模型使用集成学习算法,融合了梯度提升决策树模型和神经网络模型,形成了最终的任务时间预测模型。(2)基于异步优势动作评价的任务调度算法:任务在被调度时只需考虑任务本身的情况以及各个计算节点的负载情况。该调度过程可以被抽象为一个马尔科夫决策过程。因此,本文将强化学习算法应用于DAG任务调度中,对调度过程进行了建模,分析了DQN算法和策略梯度算法的优势与不足,然后结合两者优势,建立了基于异步优势动作评价算法的静态任务调度算法,并将算法其扩展到动态调度场景。(3)大数据任务调度平台:为了给大数据分析平台提供任务管理和调度服务,本文基于云计算的方式,结合任务时间预测模型和任务调度算法,构建了大数据任务调度平台,将本文研究的理论模型应用于实际工程中。大数据任务调度平台作为大数据分析平台的子系统,包括了任务管理模块、任务执行时间预测模块和任务调度模块,除任务调度外,平台还提供了任务的保存、加载、修改、执行等功能。本文基于异构的云计算环境,针对多种任务类型集群配置展开了实验。实验表明任务时间预测模型能够较为准确地预测任务执行时间,并且增量学习的方式在保证模型的准确性的基础上,同时降低了模型训练时间。集成后的预测模型相比单一模型得到了性能的提升。同时,基于异步优势动作评价的任务调度算法具有较好的收敛性,相比传统的启发式算法以及普通的DQN和策略梯度算法,能够得到更好的调度效果。同时,大数据任务调度平台的开发使得大数据任务执行时能够充分利用系统资源,对研究算法和解决工程问题具有着很高的价值与意义。