延迟调度总结

流式计算的调度复杂性在于需要考虑公平性和数据本地化。

FIFO调度

FIFO是一个简单的调度策略,适合用于作业并发少,或者无作业并发,且作业的map任务数量大,最好是大于等于集群的slot数量。FIFO调度中经典的两个问题

head-of-line

小作业,多作业并发的场景,量化数据本地化的公式为f=\frac{F}{S}S为总的slot,F为map任务需要的slot

sticky slots

大作业,多作业并发,slot数量小于总作业所需的slot数。作业能达到的最大本地化是1-(1-f)^{RL}

延迟调度

适用于大作业、适用于小作业、适用于长作业。延迟调度是一个综合表现比较好的调度策略。注意:大量作业并发也会存在数据本地化偏低的情况。

Hadoop延迟调试

1. 多级延迟调度

2. map任务做延迟调度,reduce任务不做延迟调度

3. 本地化公式:1-e^{-RDK/M}=1-e^{-3*270*1/620}=73%

D:每秒能释放的slot=S/T

 

你可能感兴趣的:(spark,延迟调度总结)