论文部分内容阅读
随着信息技术的快速发展,数据呈现爆发性的增长。大数据时代已经来到,大数据中蕴藏着大价值,是21世纪的“钻石矿”。MapReduce并行计算框架是主流的大数据处理技术。然而MapReduce的中间数据分区与传输是影响整体性能的主要瓶颈:由于难以提前获得中间数据的分布规律,默认分区策略往往会造成Reducer端的数据分区不均衡,导致Reducer计算任务的负载不均衡;此外,Reducer端需要等待Mapper端任务完成后才能得到中间数据,导致较大的数据传输延迟。以此为背景,本论文对MapReduce并行计算框架的中间数据分区与传输方法进行了研究,以实现数据的均衡分区并降低传输延迟,主要研究内容包括:(1)针对中间数据的分区倾斜问题,提出了一种面向MapReduce的迭代式数据均衡分区策略。将Mapper端要处理的数据块细分,以迭代的方式循环处理;根据已迭代轮次的微分区分配结果决定当前迭代轮次的微分区分配方案,通过不断调整历次迭代分区产生的数据倾斜,逐步实现数据分区的均衡性;并给出了迭代式数据均衡分区机制,包括分区时机、分区准则、分区评估以及基于贪心策略的分区算法。(2)针对中间数据的传输延迟问题,提出了一种面向MapReduce的数据传输流水线优化方法。通过将Mapper端的有效计算、中间数据传输和Reducer端的有效计算划分成若干阶段,以流水线的方式重叠执行,隐藏数据传输导致的延迟开销,提高MapReduce框架的数据处理性能;并给出数据传输流水线优化机制,包括传输时机、合并方式和发送准则。(3)在公开数据集上基于Spark集群与Actor模型分别对迭代式数据均衡分区策略与数据传输流水线优化方法进行了性能评估。基于三组数据集与三种大数据算法,分别评价数据分区策略与传输优化方法中参数对MapReduce整体性能的影响,然后再与其他方法对比。当数据集本身倾斜度高,如BST数据集,运行PageRank算法时迭代式数据均衡分区策略的整体性能比默认分区策略平均提高了19.7%;当算法Shuffle数据规模量大,如Inverted Index算法,计算Konect数据集时数据传输流水线优化方法的整体性能比默认传输框架平均提高了45.9%。