Skip to main content
QUICK REVIEW

[论文解读] OS4M: Achieving Global Load Balance of MapReduce Workload by Scheduling at the Operation Level

Liya Fan, Bo Gao|arXiv (Cornell University)|Jun 16, 2014
Cloud Computing and Resource Management参考文献 25被引用 4
一句话总结

OS4M 通过分析 Map 操作统计并动态优化 Reduce 操作分配,在 MapReduce 中实现细粒度、操作级别的调度,以达成全局负载均衡。通过将 Reduce 拷贝阶段与 Map 任务解耦,并基于负载进行 Reduce 阶段的流水线处理,OS4M 相较于基线 Hadoop 将作业完成时间减少了高达 42%。

ABSTRACT

The efficiency of MapReduce is closely related to its load balance. Existing works on MapReduce load balance focus on coarse-grained scheduling. This study concerns fine-grained scheduling on MapReduce operations, with each operation representing one invocation of the Map or Reduce function. By default, MapReduce adopts the hash-based method to schedule Reduce operations, which often leads to poor load balance. In addition, the copy phase of Reduce tasks overlaps with Map tasks, which significantly hinders the progress of Map tasks due to I/O contention. Moreover, the three phases of Reduce tasks run in sequence, while consuming different resources, thereby under-utilizing resources. To overcome these problems, we introduce a set of mechanisms named OS4M (Operation Scheduling for MapReduce) to improve MapReduce's performance. OS4M achieves load balance by collecting statistics of all Map operations, and calculates a globally optimal schedule to distribute Reduce operations. With OS4M, the copy phase of Reduce tasks no longer overlaps with Map tasks, and the three phases of Reduce tasks are pipelined based on their operation loads. OS4M has been transparently incorporated into MapReduce. Evaluations on standard benchmarks show that OS4M's job duration can be shortened by up to 42%, compared with a baseline of Hadoop.

研究动机与目标

  • 解决由于粗粒度调度和基于哈希的 Reduce 分配导致的 MapReduce 中负载不均问题。
  • 缓解 Map 和 Reduce 拷贝阶段重叠引发的 I/O 竞争。
  • 通过基于操作级别负载的流水线化处理 Reduce 任务的三个顺序阶段,提高资源利用率。
  • 通过集中式、基于统计的单个 Map 和 Reduce 操作调度,实现全局负载均衡。
  • 在不修改底层框架的前提下,实现与 Hadoop 的透明集成。

提出的方法

  • 收集所有 Map 操作的运行时统计信息,以估算其执行负载和数据量。
  • 使用负载感知启发式算法,计算 Reduce 操作的全局最优调度,以在节点间均衡工作负载。
  • 将 Reduce 拷贝阶段与 Map 任务执行解耦,以消除 I/O 竞争,并允许并发进行。
  • 重构 Reduce 阶段的流水线,使其基于操作级别负载,在重叠阶段运行 Map、Shuffle 和 Reduce 阶段。
  • 将 OS4M 作为透明层集成到 Hadoop 中,无需对应用程序或核心框架进行任何修改。
  • 使用操作级别调度,根据实时负载和数据本地性动态将 Reduce 任务分配给节点。

实验结果

研究问题

  • RQ1操作级别调度是否能显著改善 MapReduce 工作负载中的全局负载均衡?
  • RQ2将 Reduce 拷贝与 Map 执行解耦在多大程度上能减少 I/O 竞争并提高整体吞吐量?
  • RQ3基于操作级别负载指标的 Reduce 任务三阶段流水线化在多大程度上有效?
  • RQ4用基于统计数据的全局优化策略替代基于哈希的调度,能带来多大的性能提升?
  • RQ5OS4M 是否能无需应用级修改,透明地集成到现有 Hadoop 部署中?

主要发现

  • 与基线 Hadoop 实现相比,OS4M 在标准 Hadoop 基准测试中将作业完成时间最多减少了 42%。
  • 消除 Map 和 Reduce 拷贝阶段之间的 I/O 竞争带来了显著的性能提升,尤其在 I/O 密集型工作负载中表现明显。
  • 基于操作级别负载的 Reduce 任务三阶段流水线化,显著提升了资源利用率并减少了空闲时间。
  • 使用全局统计信息进行调度,改善了节点间的负载均衡,降低了任务完成时间的方差。
  • OS4M 在不修改用户应用程序或 Hadoop 核心框架的前提下实现了性能提升。
  • 该方法在多种工作负载中均表现出一致的性能增益,证实了操作级别调度在大规模数据处理中的有效性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。