2012年5月29日 星期二

fair scheduler中的comparator

Hadoop中的 fair scheduler在assign task時,
會先對所有的jobs做sort再去挑選哪個job可以assign task,
而在sort中的任兩個elements 比較用的comparator程式碼小複雜, 概念簡述如下:

1. 先比較誰有滿足minshare
    a. 滿足的, 相對assign的優先權較低
    b. 若兩者皆不滿足 --> 誰的越接近滿足minshare比例的, 相對assign的優先權較低
    c. 若兩者皆已滿足minshare --> 誰的weight值越小, 相對assign的優先權較低
2. 若以上都相等, 比較 start time(再不簡述行就比job name)

註:
當 c. 中兩者weight都一樣時, 就是比兩者目前的running tasks數,
在此也就是Hadoop提出之fair scheduler的想法:
1. 先滿足min share
2. 再滿足fair share

[Reference]
Hadoop-0.21.0公平调度器算法分析

沒有留言:

張貼留言