Hadoop 中作业调度算法的研究与改进
摘 要
近年来,随着 MapReduce 分布式计算框架的提出,一场席卷全
球的变革正在互联网领域内悄然发生。作为 MapReduce 的开源实现,
Hadoop 分布式系统得到了国内外各大互联网公司的广泛应用。多用
户共享式集群环境是 Hadoop 系统应用的典型场景。其中, Hadoop
系统下作业调度器性能的优劣,即能否在保证作业调度过程公平性的
同时最大限度的提升共享集群的整体吞吐效率,是决定 Hadoop 系统
能否充分发挥分布式计算优势的关键。
目前 Hadoop 下已有的各种作业调度器无一例外的都是基于各种
队列进行作业调度的。其本质是一种“基于队列”的贪心算法,即在
不了解共享集群全局信息的情况下,就“草率”的以实现作业任务“本
地性执行”最大化为目的进行作业任务调度。共享集群的整体吞吐效
率往往在片面追求任务执行本地性的过程中被消耗。本文为了克服
“基于队列”贪心算法的弊端,在 Hadoop 下的作业调度器中引入了
“最小代价流图”的思想,提出了“基于最小代价流”的作业调度算
法,并针对在多用户共享式集群环境下作业调度过程如何进行“流图”
建模的问题,进行了系统、详细的理论研究。本文还在理论建模基础
上实现了一个 Hadoop 分布式系统下的、“基于最小代价流”的作业
调度器。
通过与 Hadoop 下已有作业调度器进行比较实验,本文验证了在
多用户共享式集群环境下,“基于最小代价流”的作业调度算法在保
证作业调度过程公平性的同时,对于提升共享集群整体吞吐效率方面
性能的有效性。
关键词:作业调度器,MapReduce,基于队列,Hadoop,最小代
价流
I
评论0