摘要

传统MapReduce在处理倾斜数据时会造成负载不均衡,降低MapReduce框架的执行效率。虽然利用贪心算法分区减轻了MapReduce应用中的数据倾斜,但是忽略了Reduce异构性,因为MapReduce的计算环境通常是异构的,即使中间数据没有倾斜,由于计算能力不同,任务在不同节点上的执行时间也是不同的。为了避免异构性导致Reduce性能下降的问题,提出一种在异构环境下动态平滑加权轮询调度算法。该算法根据节点的计算能力和数据本地性这两个因素选取Reduce计算节点来提高Reduce任务执行效率,还进一步将优化后的框架用于并行图像处理。实验结果表明,动态平滑加权轮询调度算法减少了Reduce跨节点传输的网络带宽,同时也减少了Reduce任务的执行时间。