码迷,mamicode.com
首页 > 系统相关 > 详细

Yarn的资源调度与erlang进程调度二三事

时间:2015-04-03 23:58:13      阅读:419      评论:0      收藏:0      [点我收藏+]

标签:erlang进程调度   yarn   资源调度   

Yarn资源调度器

1、Capacity scheduler

         设计目的:以队列为单位划分资源,旨在让分布式集群资源被多用户共享,被多application共享,不同队列间可以动态迁移资源,避免资源被单个应用或单个用户独占,提高集群资源吞吐量和利用率。

技术分享

        核心思想:传统多个独立集群各占一组机器资源以备不时之需,拥有各自的管理开销,这通常导致比较差的资源利用率和极大的管理开销,capacityscheduler通过一种弹性组织方式为各队列资源构建一个共同基金,然后根据他们对资源需求,跨资源队列来共享资源,即一个队列中空闲的资源可以被另一个“忙碌”的队列使用。

       特性:

       (1)资源容量保证

           从某种角度说,队列实现了一种资源的划分,所有的应用都会被指定到特定的队列,这些应用所能使用到的资源受到队列所拥有资源的限制,理员可以配置soft limits 或者optional hard limits来限制队列所拥有的资源。

       (2)层次化的队列

          层次化的队列支持在一个组织内子队列的优先共享资源,从而提供了更多的控制和预测的能力。

2、Fair Scheduler与Capacity Scheduler不同之处

      a、资源公平共享:在每个队列中,Fair Scheduler可选择按照FIFO、Fair或DRF策略为应用程序分配资源。Fair策略即平均分配,默认情况下,每个队列采用该方式分配资源

     b、支持资源抢占:当某个队列中有剩余资源时,调度器会将这些资源共享给其他队列,而当该队列中有新的应用程序提交时,调度器要为它回收资源。为了尽可能降低不必要的计算浪费,调度器采用了先等待再强制回收的策略,即如果等待一段时间后尚有未归还的资源,则会进行资源抢占;从那些超额使用资源的队列中杀死一部分任务,进而释放资源

    c、负载均衡:Fair Scheduler提供了一个基于任务数的负载均衡机制,该机制尽可能将系统中的任务均匀分配到各个节点上。此外,用户也可以根据自己的需求设计负载均衡机制

    d、调度策略灵活配置:Fiar Scheduler允许管理员为每个队列单独设置调度策略(当前支持FIFO、Fair或DRF三种)

    e、提高小应用程序响应时间:由于采用了最大最小公平算法,小作业可以快速获取资源并运行完成

 

Erlang进程调度

      Erlang进程调度是抢占式调度,即为保证进程间的公平调度,给每个进程分配一定数量的reduce,每调度一次reduce减1,当reduce数量减到0时将不会被调度,在调度过程中一旦cpu时间片到,Erlang调度器不管当前进程是否执行完,会强行将cpu从该进程分离出来供下一个被调度到的进程使用。

Yarn的资源调度与erlang进程调度二三事

标签:erlang进程调度   yarn   资源调度   

原文地址:http://blog.csdn.net/zcc_0015/article/details/44860211

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!