【论文】略读笔记74-经典-大规模调度冲突预防
📖《A Conflict Prevention Scheduling Strategy for Shared-State Scheduling in Large Scale Cluster》
2016 年 云南大学团队 发表于会议 ICCCS。
🎯需求
- 随着大数据的增长,如今云计算集群的规模正在迅速扩大,以运行复杂的数据并行计算作业。
🚧现状
- 在单体调度架构(如 Hadoop Fair Scheduler)中,提交给集群管理系统的所有作业只有一个调度器。
- 然而,随着集群规模的扩大和更复杂的应用需求,单体调度器的高效调度成为可扩展性的瓶颈。
- 因此,许多调度架构,如 Mesos、YARN、Omega、Sparrow、Apollo和 Borg、Tarcil,都提出了许多方法来克服这一挑战。谷歌目前的集群管理系统 Borg 采用了 Omega 的方法,该方法基于将整个集群状态共享给并行调度器以做出调度决策的概念,实现了高效灵活的调度。
- 在共享状态调度架构中,至少有两个并行调度器负责寻找合适的机器来放置作业任务。这些并行调度器的调度算法需要考虑很多因素,如任务的约束条件、用户指定的偏好等。
- 由于调度员可以灵活选择调度策略,因此没有一种策略将缓解冲突作为调度目标。
- 然而,在这种架构中,由于调度决策是由并行调度员同时做出的,因此冲突是影响调度效率的主要因素。
🛩创新
- 在本文中,我们为调度器提出了一种新的特定调度策略,以尽量避免并行调度器之间的冲突。本文的贡献如下:
- 我们为大型集群中的共享状态调度提出了一种新颖的冲突预防调度策略。据我们所知,这是第一项探索在共享状态调度架构中使用调度策略来减少调度器之间冲突的工作。
- 防止冲突的调度策略有点类似于“二选一”负载均衡技术和 “多选一”方法。我们的策略不是通过探测机器来获取集群机器的负载信息,而是使用类似于单元状态的放置阵列来记录并发调度事务信息,以帮助调度员做出决策。
- 我们重写了 Omega 的模拟器,并在模拟器中实现了提出的冲突预防调度策略。通过一系列实验来评估该方法的有效性。
📊效果
- 我们在 Omega 的模拟器中实施了这种新的策略,即冲突预防调度策略,结果发现它可以减少并行调度器之间的冲突,提高调度器的效率,尤其是显著提高了调度器放置长决策时间作业的效率。
⛳️未来机会
- 我们今后的工作可以把重点放在这些方面:
- 1)即使我们提出了防止冲突的新调度策略,共享状态调度系统中的冲突依然存在。我们认为冲突与资源的使用密切相关,很难完全消除。在防止冲突的调度策略中,我们只是基于避免冲突来选择机器,而没有考虑其他调度目标,如尽量减少放弃任务的数量、选择已经有任务包副本的机器等。我们未来的工作将探索如何将我们的调度策略与Borg的评分机制结合起来。
- 2)此外,在本文中,我们只是重点提出了一个想法,但在实际调度系统中,如何给 m 和 d 赋值还需要进一步研究。
🧠疑问
- 多个调度器并行调度时,如何维护一致性的“放置阵列”?
- 本质上采用了Sparrow的多绑定策略,一次性做出多个决策,然后从中一一尝试。
- 传统方法是失败后再重调度,而本方法是提前重调度。其中的取舍有待考量。
- 希望这篇博客对你有帮助!如果你有任何问题或需要进一步的帮助,请随时提问。
- 如果你喜欢这篇文章,欢迎动动小手给我一个follow或star。
🗺参考文献
- 标题: 【论文】略读笔记74-经典-大规模调度冲突预防
- 作者: Fre5h1nd
- 创建于 : 2024-11-05 10:29:43
- 更新于 : 2024-11-05 10:53:02
- 链接: https://freshwlnd.github.io/2024/11/05/literature/literatureNotes74/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论