论文部分内容阅读
共享MapReduce集群允许集群资源复用且能够降低运维成本,已经被越来越多的公司采用。而在共享MapReduce集群环境中,作业调度器是保证各种作业QoS的关键技术所在。当前各种MapReduce调度器在限时作业和高资源需求作业等方面支持力度远远不够,主要体现在:限时作业难以在现有解决方案中达到期望的QoS,同时,高资源需求作业会抢占共享集群中其他用户的资源,造成严重的不公平。为了解决这些问题,本文研究了共享MapReduce环境中多Qos作业调度机制,提出了一系列限时作业调度和高资源需求作业调度技术,并将这些技术集成到现有调度器中。本文的工作主要体现在以下几个方面:
(1)提出了自适应限时作业调度机制。该技术解决了当前限时调度器未解决的两个问题:自动预测任务执行时间和同时兼顾MapReduce两个阶段的资源分配模型。对于第一个问题,我们提出了基于采样的任务预调度(Task Forward Scheduling,TFS)机制,这种机制能够通过启动特殊的reduce task提前预测reducetask运行时间;对于第二个问题,我们提出了近似均匀最小并行度资源(Approximately Uniform Minimum Degree of parallelism,AUMD)分配模型,该模型能让限时作业使用尽可能少的资源在规定的时间内完成,进而使得系统支持更多的并发限时作业。经测试,该调度技术与现有调度策略比较,在资源利用率和误差率两方面更优,其中,最大误差率至少降低45%,平均误差至少降低30%。
(2)提出了最少节点资源预留调度机制。当前MapReduce调度器要么没有考虑内存资源,要么基于内存的调度策略会严重降低集群资源利用率,为了在MapReduce调度时融入内存资源因素,同时尽可能提升资源利用率,我们提出了最少节点资源预留(Minimum Nodes Reserving Resource,MiNR2)调度机制,该机制相比现有的最多节点资源预留(Maximum Nodes Reserving Resource,MaNR2)调度机制,能明显提高系统资源利用率,进而提高系统整体吞吐率。经测试,MiNR2比MaNR2性能提高约10.1%。
(3)提出了多QoS双层调度框架。该调度框架可以在保证现有MapReduce调度器语义和修改尽可能少的代码前提下,将我们提出的限时作业调度机制和资源预留调度机制集成到现有的MapReduce调度器中。