论文部分内容阅读
随着信息化的逐步深入,大规模的数据处理已经成为很多应用领域的迫切需求。低成本、高性能、使用方便的数据处理技术是与之对应的发展热点。集群环境中的MapReduce大规模数据处理方式,以其明显的优势,被广泛研究和使用。由于采用了自动调度和并行执行任务的方式,集群MapReduce环境中调度相关问题对其性能有重要影响作用,因此具有较高的理论价值和实践指导意义。本文针对MapReduce执行过程的理论分析、连续多个作业的资源分配、并行处理中的数据传输开销和负载均衡等关键问题进行了研究。具体研究内容如下:首先,针对一个MapReduce作业中任务的调度和执行进行了理论分析。根据map和reduce中任务划分的特点,将MapReduce中的任务描述为可划分任务。然后通过分析不同节点间数据传输过程的规律,提出了多源节点的相互独立通信模型。利用可划分任务理论和提出的通信模型,建模了MapReduce的执行过程,并利用线性规划求解了最小化作业执行时间的调度方案。在常见的MapReduce集群环境中进行了任务调度方案求解和执行性能分析,为优化任务调度和数据存储方案提供了指导。其次,针对同一集群上连续多个MapReduce作业的调度优化问题进行了研究。对于以泊松过程到达的多个MapReduce作业,分析了MapReduce作业中的计算过程,建立了节点计算能力和作业计算量之间的匹配关系。然后利用作业计算量分布函数,理论分析得出了优化作业平均计算时间的调度方案。根据理论研究的结论,提出了中值调度算法。模拟实验表明,中值调度算法能够有效减小MapReduce作业的平均计算时间。再次,进行了优化map阶段数据传输问题的研究。针对网络负载高的情况,分析了存储节点在任务执行过程中应该输出的数据量,提出了慈善调度算法;在网络负载相对低的情况下,研究了MapReduce中的数据传输和任务计算过程,提出了更充分地掩盖数据传输过程的数据预取机制。实验表明,慈善调度算法较好地提升了数据本地化率,而数据预取机制有效地掩盖了数据传输时间。最后,研究了reduce任务调度中的负载均衡问题。针对reduce阶段中存在的负载均衡问题,分析了节点间通信的特点,建立了对应的节点通信能力模型,并结合计算能力得到节点能力。然后根据匹配节点能力和任务量的思想,提出了针对reduce任务调度的算法。模拟实验结果表明,所提调度算法取得了良好的负载均衡,减少了执行时间,并能较好地适应节点能力的动态变化。本文针对集群MapReduce环境中的相关调度问题,使用理论分析的方法对任务和作业调度进行了研究,以此为基础分析了MapReduce的特性,设计了多作业调度算法,并提出了优化数据传输开销和负载均衡的调度算法,为后续MapReduce的研究和性能优化提供了平台和参考。