集群调度器的演进

Firmament.io这片paper详细总结了目前调度的几大分类:

  1. a. 集中式调度器:代表k8s、Hadoop 、HPC 调度器。
    优势:调度器可以感知全局信息,因此可以基于此开发不同的调度算法来避免因为作业竞争而产生作业干扰。因为可以获取集群全局信息因此可以设计优先级抢占算法。
    劣势:1. 针对不同类型的作业都采用了同一种调度算法; 2.调度器对作业处理的顺序是一个问题,需要一个良好的作业优先级定义,否则可能产生队头阻塞与作业挤压的问题。
  2. b. 两级调度器:代表mesos。
    优势:可以针对不同的作业设计不同的调度算法。
    劣势:Mesos的scheduler的资源是resource manager主动offer的,所以不同类型的scheduler只具有局部的资源利用信息,因此全局设计优先级抢占就比较难实现;同样因为无法得到全局资源信息,因此不能设计调度算法避免作业干扰。
  3. c. 共享状态调度器:代表google Omaga、Microsoft Apollo。
    优势:共享状态调度器去掉了二级调度当中的ResourceManager,所有的scheduler都有一份集群状态的副本,通过事务提交的方式更新集群的状态。
    劣势:在资源竞争强烈的情况下,由于通过事务的方式维护集群的状态,因此更在这种情形下开销更大。
  4. d. 全分布式调度器:
    与共享状态调度器不同,全分布式调度器中每个类型的作业不是固定发送给某种调度器,而是可以发送给任意一个调度器
    ,因此更加的去中心化。设计的目标是利用最少的信息做出快速的决策,从而可以大幅度提高调度器的吞吐量。 (是如何做到这一点的?)
    劣势:由于去中心化,因此很难进行严格意义上的优先级调度。
  5. e. 混合式调度架构:
    结合中心化调度器与分布式调度器,因此兼具了二者的优点。大幅提高吞吐的同时,可以获取全局信息进行优先级与避免作业干扰调度。单目前还没有实际的应用。

当前主流调度框架的特性

参考

  • Apollo: Scalable and Coordinated Scheduling for Cloud-Scale Computing
  • Firmament: Fast, Centralized Cluster Scheduling at Scale
  • Omega: flexible, scalable schedulers for large compute clusters
  • http://www.firmament.io/blog/scheduler-architectures.html

没有人比我更懂集群调度器---之流行集群调度器综述相关推荐

  1. 月旦评 之 DevOps招贤令2019 - 没有人比我们更懂DevOps

    公元164-182年间,汝南平舆的许氏兄弟于每月初一品评人物,褒贬时政,被称为"月旦评".所谓"子治世之能臣,乱世之奸雄也"这句许邵评价曹操的话也是来自于&qu ...

  2. 读完这45篇论文,“没人比我更懂AI了”

    作者 | 黄海广 转载自机器学习爱好者(ID:ai-start-com) 导读:AI领域的发展会是IT中最快的.我们所看到的那些黑科技,其后无不堆积了大量论文,而且都是最新.最前沿的论文.从某种角度来 ...

  3. python编辑器_没有人比它更懂少儿编程,慧编程Python'吮指编辑器'

    咳咳! 大家好,我是偶尔写文章的康康老师. 今天跟大家介绍的是慧编程家的,睡在Scratch上铺的兄弟--慧编程Python编辑器. 这是一款集才华和颜值为一体的'吮指'编辑器! 忘记肯德基,你的手指 ...

  4. 硬件趣学python编程_没有人比我更懂编程,慧编程'吮指编辑器',简单快乐学python...

    咳咳! 大家好,我是偶尔写文章的康康老师. 今天跟大家介绍的是慧编程家的,睡在Scratch上铺的兄弟--慧编程Python编辑器. 这是一款集才华和颜值为一体的'吮指'编辑器! 忘记肯德基,你的手指 ...

  5. Adobe:没有人比我更懂P图

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 杨净 萧箫 发自 凹非寺 量子位 报道 | 公众号 ...

  6. 没有人比我更懂牛排……吧?

    图源:pixabay 不知不觉已是辛丑牛年,这个春节,相信大伙的餐桌上肯定少不了和牛相关的食物. 咳咳,A5级和牛这种顶级食材岂是小编这种打工人买得起的.不过说到牛排,不禁让我想起了第一次在家煎牛排时 ...

  7. 刷完这50个标准库模块:没人比我更懂Python了

    最新整理:60个标准库模块 python强大,主要是因为包多,且不说第三方包,单是标准库就让人望而生畏了. 在整理标准库的过程中,查阅了大量资料,以及官方文档,发现很多中文资料都有一个共同的特点--机 ...

  8. 360周鸿祎:没有人比我更懂互联网安全

    360是一款争议颇大的软件,即使杀毒小能手,也是广告推送机-- 2017年肆虐的勒索病毒就被360有效的遏制,有网友笑称:"小流氓终究不是大流氓的对手!" 互联网安全一直是引人关注 ...

  9. java创建子类对象的步骤_一顿Spring骚操作:我敢说没有人比我更懂Java对象的创建!

    一.开篇一问 一个Spring Bean是Java对象吗?那么一个对象是Spring Bean吗? 带着这个问题我们一起来回顾Spring的生命周期流程,彻底了解一个类在Spring中究竟做了那些操作 ...

最新文章

  1. 论强化学习的根本缺陷
  2. 找到所有小于N的素数
  3. Redis集群读写分离架构搭建以及主从数据连通验证(附加集群口令认证以及Redis端口6379释放)
  4. DOS命令大全(转)
  5. 天天鉴宝联手网易智企,开创直播鉴定服务电商平台
  6. ubuntu创建新用户并设置sudo权限
  7. C#期中考试题人事系统篇
  8. 教你编写一个机器学习代码也能使用的单元测试
  9. MapReduce操作时Error:The method setInputPaths(JobConf, String) in the type FileInputFormat is not
  10. 【内网渗透】找到内网关键节点
  11. 还在用背单词App?使用Python开发英语单词自测工具,助你逆袭单词王!
  12. 零基础如何入门数据分析师?
  13. 火山PC-64位炫彩界面库调用试水-加载资源文件(UI教程)
  14. 谁能辨我是雄雌?轩墨宝宝个人资料,轩墨宝宝CP照!
  15. c# - Owin Katana
  16. ajax把参数放body里,ajax请求-jquery发送ajax请求,参数怎么放到http请求的body里面...
  17. 得力计算机怎么用二进制,如何将得力计算器 DL-1529 调到保留两位小数点?
  18. 数据结构实训——运动会分数统计
  19. php下载源文件绕开下载地址,Fengcms 最新版v1.24任意文件下载(绕过过滤)
  20. Android native和h5混合开发几种常见的hybrid通信方式

热门文章

  1. k8s 部署pod到指定node
  2. C# GroupBy 用法
  3. 不规则三角网(TIN)
  4. 04-积极的环境改变人(哈佛幸福课-全部英文)
  5. 面试题:一头牛重800公斤,一座桥承重700公斤,牛应该怎么过桥
  6. 模块-E18-D80NK红外避障传感器
  7. android外星人游戏,外星人部队游戏
  8. [笔记] GPGPU-SIM的使用说明(一)
  9. 邮件服务中550、553和禁止中继错误原因和解决方法
  10. 记《三言二拍》读后感