我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Apache Mesos调度机制是什么

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

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Apache Mesos调度机制是什么

本篇内容介绍了“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

Apache Mesos调度机制是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Apache Mesos是什么

这篇文章主要介绍了Apache Mesos是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Apache Mesos 就是这样一种“pre-Kubernetes”平台。Me
2023-06-15

linux任务调度机制指的是什么

本篇内容主要讲解“linux任务调度机制指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux任务调度机制指的是什么”吧!linux的任务调度机制是指系统在某个事件执行的特定命令或程
2023-07-02

Laravel schedule调度的运行机制是什么

这篇文章主要介绍“Laravel schedule调度的运行机制是什么”,在日常操作中,相信很多人在Laravel schedule调度的运行机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Larav
2023-06-29

Laravel中schedule调度的运行机制是什么

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

Python调用机制是什么

这篇文章主要介绍“Python调用机制是什么”,在日常操作中,相信很多人在Python调用机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python调用机制是什么”的疑惑有所帮助!接下来,请跟着小编
2023-06-02

什么是Java回调机制

这篇文章主要讲解了“什么是Java回调机制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是Java回调机制”吧!一、回调回调分为同步回调和异步回调, 假如以买彩票的场景来模拟, 我买彩票
2023-06-20

Apache Hudi灵活的Payload机制是什么

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

Kubernetes调度管理优先级和抢占机制是什么

今天小编给大家分享一下Kubernetes调度管理优先级和抢占机制是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基本介
2023-07-04

云调度是什么意思?

云调度是一种云计算服务,用于自动化工作负载的调度和管理。它可自动执行任务,并根据需求自动扩展或缩减作业。云调度的核心组件包括:作业、触发器、时间表、目标和工作流。它的工作原理包括:触发器激活、作业执行、进度监控和结果处理。云调度用于各种用例,包括批量处理、定期任务、事件处理、工作流编排和DevOps自动化。在选择云调度服务时,需要考虑平台兼容性、功能、可靠性和可用性、定价和支持。
云调度是什么意思?
2024-04-02

Linux I/O调度器是什么

这篇文章主要介绍Linux I/O调度器是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux I/O 调度器是Linux内核中的一个组成部分,用户可以通过调整这个调度器来优化系统性能。Linux I/O 系
2023-06-16

React调度的原理是什么

这篇文章主要介绍“React调度的原理是什么”,在日常操作中,相信很多人在React调度的原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”React调度的原理是什么”的疑惑有所帮助!接下来,请跟着小编
2023-07-02

怎么理解Laravel定时任务调度机制

本篇内容主要讲解“怎么理解Laravel定时任务调度机制”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Laravel定时任务调度机制”吧!1. 基本实现逻辑一个复杂的web系统后台当中,
2023-06-29

go协程调度原理是什么

Go协程调度的原理是基于M:N调度模型。其中,M代表操作系统的线程(Machine),N代表Go语言的协程(Goroutine)。在启动时,Go程序会创建一组操作系统的线程(M),每个线程都维护着一个协程队列。当一个协程需要执行时,调度器会
2023-10-07

java线程调度算法是什么

Java线程调度算法是由Java虚拟机(JVM)负责的。JVM使用了一种抢占式调度算法,即根据线程的优先级来决定该调度哪个线程执行。JVM会根据线程的优先级和其他一些因素,如线程的等待时间、线程的状态等,来确定线程的调度顺序。在Java中,
2023-08-30

golang调度器的用法是什么

Golang调度器是Go编程语言中的一种机制,用于协调并发执行的goroutine。调度器负责在可用的处理器上调度goroutine的执行,并管理它们的执行状态。调度器的使用方式是隐式的,开发者无需手动控制调度器的行为。当程序启动时,调度器
2023-10-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录