论文部分内容阅读
Map/Reduce型海量数据处理平台(以下简称“Map/Reduce平台”)是海量数据处理领域的最新技术进展。Map/Reduce平台具有简化的并行编程模型、以数据本地化处理为导向的计算模式以及细粒度的资源分配和回收方式等新特征。作业调度是Map/Reduce平台的核心功能之一。作业调度统一管理和调度Map/Reduce平台中计算资源和存储资源,保证用户作业公平合理地共享Map/Reduce平台资源,提高作业执行效率。既有作业调度策略多针对于Map、Reduce阶段进行独立优化,鲜有考虑Map、Reduce任务间数据依赖关系导致Reduce任务的执行需等待所有Map任务执行结束,增加Reduce任务空闲等待时间,从而降低作业执行效率。本文面向开放Map/Reduce平台,针对现有作业调度策略未考虑Reduce任务空闲等待时间导致作业执行效率低下的问题,开展可抢占式作业调度方法的研究。以作业调度高效性为目标,对可抢占式作业调度策略、Reduce任务计算资源抢占模型和重调度模型等关键问题进行探讨。本文的主要贡献包括:(1)面向Map/Reduce平台设计Master/Slave的可抢占式作业调度架构及任务状态模型。采用Master/Slave架构,保障可抢占式作业调度决策与执行功能分离、调度执行功能分布和便于与既有Map/Reduce平台集成。设计任务状态模型,并定义Reduce任务挂起状态,便于进行任务生命周期的管理;(2)面向Map/Reduce平台设计Reduce任务计算资源抢占模型和Reduce任务重调度模型。依据Map任务剩余执行时间、Reduce任务拷贝剩余处理时间和Map任务完成进度确定Reduce任务资源抢占时机和Reduce任务恢复执行时机,降低Reduce任务挂起、恢复操作的性能开销;(3)实现可抢占式作业调度方法与既有Map/Reduce平台作业调度策略的无缝集成。通过对Reduce任务释放资源进行优先分配和避免对Map任务进行碎片式资源分配的原则,来提升Reduce任务释放资源的利用率,降低Reduce任务挂起和恢复操作对其他Map任务的影响;(4)总结本文的研究成果,实现具有可抢占作业调度功能的Map/Reduce平台Predoop,将本文所提出的Reduce任务资源抢占和重调度模型、Reduce任务挂起和恢复机制以及可抢占式作业调度策略集成其中;(5)对Predoop进行性能测试分析。结果表明,和开源Map/Reduce平台Hadoop相比,Predoop的作业平均周转时间最大降低14.55%,Reduce任务平均等待时间最大降低90.02%。对于作业中所含有的Map任务规模较大的场景,本文所设计的可抢占式作业调度方法具有较大的性能优势。