论文部分内容阅读
作业调度是影响面向大数据应用分布式计算的MapReduce框架性能的重要因素,成为近年来的研究热点。相互独立的周期性执行批处理作业是MapReduce环境下的重要作业类型。本文研究MapReduce环境下周期性批处理作业调度方法,具有重要的理论意义和应用前景。 依据历史信息使用离线分析技术得到周期性批处理作业的属性;分析MapReduce周期性批处理作业的Map、Reduce等操作的特点;通过合理的假设和抽象,将所考虑问题转化成带调度相关准备时间的泛化两阶段混合流水作业调度问题;考虑Map和Reduce任务读取输入数据的准备时间,以最大完工时间为优化目标,建立该泛化两阶段混合流水作业调度问题的整数规划模型;提出两种面向作业的启发式方法和一种面向任务的启发式方法;进一步提出带改进策略的两种启发式方法;分析得到所提出方法最大完工时间下界。 随机生成150个实例,作业和任务的历史信息来自实际生产集群(Yahoo! M45)。分析和评价算法的参数合理取值;在不同的集群配置(slot数、结点数和输入数据副本数等)和作业数下,对提出的三种方法进行比较;验证所提出改进策略的有效性。实验表明:不同集群配置以及作业数对方法的效果有显著影响;应用改进策略后的方法在多数情况下效果更好。针对结点数与输入数据副本数的一种特殊情况进行实验和分析,发现任务输入数据分布会显著影响提出的改进策略效果。