首页 > 代码库 > Fair Scheduler与Capacity Scheduler比较
Fair Scheduler与Capacity Scheduler比较
1、Fair Scheduler
Facebook开发的适合共享环境的调度器,支持多用户多分组管理,每个分组可以配置资源量,也可限制每个用户和每个分组中的并发运行作业数量;每个用户的作业有优先级,优先级越高分配的资源越多。
2、Capacity Scheduler
Yahoo开发的适合共享环境的调度器,支持多用户多队列管理,每个队列可以配置资源量,也可限制每个用户和每个队列的并发运行作业数量,也可限制每个作业使用的内存量;每个用户的作业有优先级,在单个队列中,作业按照先来先服务(实际上是先按照优先级,优先级相同的再按照作业提交时间)的原则进行调度。
3、相同点
[1]均支持多用户多队列,即都适用于多用户共享集群的应用环境
[2]单个队列均支持优先级和FIFO调度方式
[3]均支持资源共享,即某个queue中的资源有剩余时,可共享给其他缺资源的queue
4、不同点
[1]核心调度策略不同。计算能力调度器的调度策略是,先选择资源利用率低的queue,然后在queue中同时考虑FIFO和memory constraint因素;而公平调度器仅考虑公平,而公平是通过作业缺额体现的,调度器每次选择缺额最大的job(queue的资源量,job优先级等仅用于计算作业缺额)
[2]内存约束。计算能力调度器调度job时会考虑作业的内存限制,为了满足某些特殊job的特殊内存需求,可能会为该job分配多个slot;而公平调度器对这种特殊的job无能为力,只能杀掉这种task
本文出自 “擦” 博客,请务必保留此出处http://qishi23.blog.51cto.com/4820716/1599138
Fair Scheduler与Capacity Scheduler比较