论文部分内容阅读
随着科学技术的快速发展,人类进入了信息爆炸的时代,呈指数型增长的数据量驱动着大数据分析、分布式计算框架、云计算等技术的日益成熟。为了应对多种数据处理需求,Hadoop YARN将资源管理模块构建成一个独立的通用系统YARN,这种结构不仅解决了Hadoop 1.0中的可扩展性差、可靠性低、资源利用率低等问题,还使得Hadoop YARN可以支持多种计算框架。通过对具备多种用途的Hadoop YARN集群上的异构负载分析发现,集群中的任务不成比例的共享着集群的资源,并且短任务数量远远多于长任务,但占比很少的长任务却消耗了集群的大部分资源,这种情况不利于短任务的执行。同时,运行异构负载的集群往往存在着大量“已分配但未使用”的资源碎片,降低了集群的资源利用率。已有的研究工作YARN-mix通过引入分布式调度器将YARN原有的中央式调度器扩展为混合式调度器,将长任务和短任务分开处理,让分布式调度器利用资源碎片。这种改进初步解决了上述问题,但是YARN-mix利用静态时间阈值将任务分类为长任务和短任务的方式也阻碍了集群资源利用率的优化。为了解决上述YARN-mix存在的问题,本课题在具有混合式调度器的资源管理框架的基础上进一步研究优化集群资源利用率的方法。(1)将动态可调的时间阈值作为集群中分类长任务和短任务的划分标准,而不是静态时间阈值。(2)利用具有周期性的历史负载记录和线性回归模型相结合的负载预测技术来预测Hadoop集群在未来时段的负载。(3)结合集群运行时状态和集群负载预测值等因素,利用强化学习方法在线学习生成最佳时间阈值的策略。(4)因为任务在计算框架中能更好的标注自身的资源需求,本课题选择在Hadoop的原生计算框架MapReduce中利用任务执行时间估计模型和(3)中策略决策的时间阈值将集群中的任务分类为长任务和短任务,分别由混合调度器中掌握全局资源视图的中央式调度器和具备扩展性与高效性的分布式调度器调度。基于以上四点,本课题提出了新的集群资源管理框架YARN-P(基于负载预测(Load Prediction)的资源管理框架),进一步的优化了集群的资源利用率,并缩短了负载的执行时间。最后,通过模块实验验证了负载预测技术和任务执行时间估计模型的可用性。通过对比实验,使用SWIM工具再现的自定义负载对YARN,YARN-mix,YARN-P进行了整体性能对比测试,实验结果表明,相对于YARN和YARNmix,YARN-P将集群的CPU平均利用率分别提升了21.48%和3.68%,将集群的内存平均利用率分别提升了34.54%和9.30%,将多种负载的执行时间分别缩短了至少31.02%和9.53%。