文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Apache Mesos调度机制是什么

2024-04-02 19:55

关注

本篇内容介绍了“Apache Mesos调度机制是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1. 前言

调度器是Mesos的核心部件,主要负责将各个slave上资源分配给各个framework,常见的调度机制有FIFO,Fair  Scheduler,Capacity  Scheduler,Quincy,Condor等。Mesos为了支持多framework接入,采用了双层调度机制,首先,由mesos中的 allocator将资源分配给framework,然后又由framework自己的调度器将资源分配给任务。

2. Mesos调度机制

Mesos中的调度机制被称为“Resource  Offer”,采用了基于资源量的调度机制,这不同于Hadoop中的基于slot的机制。在mesos中,slave直接将资源量(CPU和内存)汇报 给master,由master将资源量按照某种机制分配给framework,其中,“某种机制”是“Dominant Resource  Fairness(DRF)”

对于类似mesos采用双层调度框架的系统,在设计时,需要解决以下问题:“Mesos在不知道各个framework资源需求的情况下,如何满足 其需求?”,更具体一些,“Mesos在不知道framework中哪些数据存放在哪些节点情况下,如何做到数据locality?”为了解决该问 题,mesos提供了“reject offer”机制,允许framework暂时拒绝不满足其资源需求的slave,在此,mesos采用了类似于Hadoop中的“delay scheduling“调度机制。

在mesos中,作业调度是一个分布式的过程,当出现失败情况时,需要表现出一定的高效性和鲁棒性。为此,mesos提供了以下机制:

(1)filters机制。  每次调度过程,mesos-master需要与framework-scheduler进行通信,如果有些framework总是拒绝slave,那么由 于额外的通信开销会使得调度性能低效。为此避免不必要的通信,mesos提供了filters机制,允许framework只接收“剩余资源量大于L的 slave”或者“只接收node列表中的slave”。

(2)rescinds机制。如果某个framework在一定的时间内没有为分配的资源返回对应的任务,则mesos会回收其资源量,并将这些资源分配给其他framework。

3. Dominant Resource Fairness(DRF)

DRF是一种支持多资源的max-min fair  资源分配机制,其中max表示max{CPU,mem},而min表示min{user1,user2,…}=min{max{CPU1,mem1},  max{CPU2,mem2}, …},其中user代表mesos中的framework,算法伪代码如下图所示:

Apache Mesos调度机制是什么

举例说明,假设系统中共有9 CPUs 和18 GB  RAM,有两个user(framework)分别运行了两种任务,分别需要的资源量为<1 CPU, 4 GB> 和 <3  CPUs, 1  GB>。对于用户A,每个task要消耗总CPU的1/9和总内存的2/9,因而A的支配性资源为内存;对于用户B,每个task要消耗总CPU的 1/3和总内存的1/18,因而B的支配性资源为CPU。DRF将均衡所有用户的支配性资源,即:A获取的资源量为:<3 CPUs,12  GB>,可运行3个task;而B获取的资源量为<6 CPUs,  2GB>,可运行2个task,这样分配,每个用户获取了相同比例的支配性资源,即:A获取了2/3的RAMs,B获取了2/3的CPUs。

DRF算法的一个可能的调度序列如下图所示:

Apache Mesos调度机制是什么

DRF的好处是可满足四个特性,即:Sharing incentive,Strategy-proofness,Envy-freeness和Pareto efficiency

4. Mesos调度问题

Mesos中的DRF调度算法过分的追求公平,没有考虑到实际的应用需求。在实际生产线上,往往需要类似于Hadoop中Capacity  Scheduler的调度机制,将所有资源分成若干个queue,每个queue分配一定量的资源,每个user有一定的资源使用上限;更使用的调度策略 是应该支持每个queue可单独定制自己的调度器策略,如:FIFO,Priority等。

由于Mesos采用了双层调度机制,在实际调度时,将面临设计决策问题:***层和第二层调度器分别实现哪几个调度机制,即:将大部分调度机制放到***层调度器,还是***层调度器仅支持简单的资源分配(分配比例由管理员指定)?

Mesos采用了Resource Offer机制(不同于Hadoop中的基于slot的调度机制),这种调度机制面临着资源碎片问题,即:每个节点上的资源不可能全部被分配完,剩下的一点可能不足以让任何任务运行,这样,便产生了类似于操作系统中的内存碎片问题。

“Apache Mesos调度机制是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯