在 Hadoop 的 Terasort 实现中,有一个名为 TeraScheduler 的调度程序。通读代码后,调度程序基本上执行以下操作:
- 选择 split 次数最少的宿主
- 对于该主机,选择主机数量最少的固定数量的拆分,并将它们“固定”在该主机上执行。 “未选择的”拆分将从该主机中删除。
- 对所有主机重复。
我不明白这个时间表背后的基本原理。它如何比默认调度程序执行得更好(无论如何,默认调度程序是什么)?有没有论文解释它的好处?
最佳答案
好处有两个: (1)尽可能使排序本地化。 (2) 跨机器平均分配工作
两者都旨在提高性能。
关于sorting - Hadoop 中的 Terasort 调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648990/