[论文解读] Task-Cloning Algorithms in a MapReduce Cluster with Competitive Performance Bounds
该论文提出了一种名为 SRPTMS+C 的新型在线任务克隆算法,用于 MapReduce 集群,通过利用最短剩余处理时间(SRPT)原则,最小化加权作业流时间。该算法实现了 (1+ε)-速度 o(1/ε²)-竞争比,并相较于 Mantri 基线方案将加权与非加权作业流时间减少了近 25%,在尊重 MapReduce 的阶段优先约束的前提下,优于现有基于启发式的方案,同时提供了形式化的性能边界。
Job scheduling for a MapReduce cluster has been an active research topic in recent years. However, measurement traces from real-world production environment show that the duration of tasks within a job vary widely. The overall elapsed time of a job, i.e. the so-called flowtime, is often dictated by one or few slowly-running tasks within a job, generally referred as the "stragglers". The cause of stragglers include tasks running on partially/intermittently failing machines or the existence of some localized resource bottleneck(s) within a MapReduce cluster. To tackle this online job scheduling challenge, we adopt the task cloning approach and design the corresponding scheduling algorithms which aim at minimizing the weighted sum of job flowtimes in a MapReduce cluster based on the Shortest Remaining Processing Time scheduler (SRPT). To be more specific, we first design a 2-competitive offline algorithm when the variance of task-duration is negligible. We then extend this offline algorithm to yield the so-called SRPTMS+C algorithm for the online case and show that SRPTMS+C is $(1+ε)-speed$ $o(\frac{1}{ε^2})-competitive$ in reducing the weighted sum of job flowtimes within a cluster. Both of the algorithms explicitly consider the precedence constraints between the two phases within the MapReduce framework. We also demonstrate via trace-driven simulations that SRPTMS+C can significantly reduce the weighted/unweighted sum of job flowtimes by cutting down the elapsed time of small jobs substantially. In particular, SRPTMS+C beats the Microsoft Mantri scheme by nearly 25% according to this metric.
研究动机与目标
- 为解决 MapReduce 集群中的慢启动问题,即缓慢的任务显著增加作业完成时间。
- 设计一种调度算法,以最小化加权作业流时间总和,同时考虑 Map 与 Reduce 阶段之间的依赖关系。
- 为在任务持续时间信息有限的在线作业调度中提供性能保证(竞争边界)。
- 通过仅使用任务持续时间的一阶与二阶矩,而非完整分布,降低对完整持续时间分布的依赖。
- 在可证明的效率与更低的系统监控开销下,超越基于启发式的推测性执行方案(如 Mantri)
提出的方法
- 将作业调度问题建模为随机优化问题,以在 Map 与 Reduce 阶段之间存在依赖关系的前提下,最小化加权作业流时间。
- 在任务持续时间方差可忽略的假设下,设计一种离线 2-竞争比算法,灵感源自 SRPT 调度器。
- 通过 SRPTMS+C 算法将离线算法扩展至在线场景,利用资源增强((1+ε)-速度)以突破理论下限。
- 应用势函数分析,推导出 SRPTMS+C 在在线场景下的 o(1/ε²)-竞争比上界。
- 通过基于有效工作负载估计来启动任务的备份副本,实现任务克隆,优先处理剩余处理时间较短的任务。
- 在真实世界作业 trace 上进行 trace 驱动的仿真,评估性能,比较 SRPTMS+C 与 SCA 及 Mantri 在不同集群规模和参数设置下的表现。
实验结果
研究问题
- RQ1能否设计一种任务克隆算法,在 MapReduce 集群中实现最小化加权作业流时间的可证明竞争性能边界?
- RQ2尊重 Map-Reduce 阶段优先关系相较于忽略此类约束,能否提升调度效率?
- RQ3仅使用任务持续时间的一阶与二阶矩而非完整分布,对算法性能有何影响?
- RQ4SRPTMS+C 算法相较于基于启发式的方案(如 Mantri)在流时间减少与系统开销方面表现如何?
- RQ5何种参数设置(ε, r)能最优平衡 SRPTMS+C 算法中的流时间减少与资源利用率?
主要发现
- 在 trace 驱动的仿真中,SRPTMS+C 相较于 Mantri 基线方案,将加权作业流时间总和减少了近 25%。
- 该算法在在线调度中实现了 (1+ε)-速度 o(1/ε²)-竞争比,提供了形式化的性能保证。
- 对于小型作业,超过 50% 在 SRPTMS+C 下 100 秒内完成,而 SCA 和 Mantri 分别为 46% 和 44%。
- 对于大型作业,SRPTMS+C 下 90% 在 1000 秒内完成,优于 SCA(88%)与 Mantri(86%)。
- 当任务持续时间方差可忽略时,离线算法实现了 2-竞争比,并具备高概率的完成时间边界。
- 即使在 8K 台机器的规模下,该算法仍能实现与 12K 台机器集群相当的流时间性能,表明其具备高效的资源利用率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。