Hadoop公平调度器算法解析(3)

如果作业的最小共享量(minSlots)大于公平共享量(jobFairShare),则:将最小共享量作为公平共享量赋值给作业。

同时将此作业从集合jobsLeft中删除。

(2)将剩下的slot按权重比例给集合jobsLeft中剩余的作业:

jobFairShare作为公平共享量赋值给作业。

6) 更新缺额

实际计算时,会分开:

7) 资源分配

当系统中产生一个空闲slot时,将此slot分配给缺额最大的作业。

4、新版hadoop中公平调度器的新特性

(1)增加抢占功能:若某个作业在一定时间间隔内获取的资源(sl0t)总小于minShare/2或者fairShare/2,则从多拿资源的作业那抢占(kill task)。

(2)系统中有多个pool时,每个pool可以配置自己的调度方式:FIFO或者fair schduler(以前强制所有pool的调度方式都一样,是要么是FIFO,要么是Fair scheduler)。

(3)支持delay scheduling(见参考文献[5])。当空闲slot没有locality的task可匹配时,调度器会选择延迟一段时间直到选中一个locality的task或者超时,如果超时(该时间内仍没有locality的task),则分配给非locality的task。

5、参考资料

(1)Fair scheduler论文:M. Zaharia, D. Borthakur, J. S. Sarma, K. Elmeleegy, S. Shenker, and I. Stoica, “Job scheduling for multi-user mapreduce clusters,” EECS Department, University of California, Berkeley, Tech. Rep., Apr 2009. 【下载】

(2)Hadoop主页:

(3)Hadoop公平调度指南:

(4)0.21.0版本中fair scheduler设计文档:【下载】

(5)Delay Scheduling: A Simple Technique for Achieving. Locality and Fairness in Cluster Scheduling. Matei Zaharia. University of California, Berkeley,【下载】

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psxzf.html