文档章节

DRF资源分配算法

纳兰清风
 纳兰清风
发布于 2017/07/25 19:28
字数 680
阅读 243
收藏 0

DRF算法


最近在看yarn的一些东西,看到DRF的时候特别纠结为什么第一个选的是B,查了一些资料,尼玛全是从书上扒下来的,千篇一律,没有任何参考价值。后来从mesos的一篇文章中看到,原来第一个选谁都可以,选A选B的结果是一样的。下面记录下调度器先选择A的调度顺序和资源分配情况是怎样的。

DRF简介

DRF是一种通用的多资源的最大最小公平分配策略,其核心思想是在多环境下一个用户的资源分配应该由用户的主导份额的资源决定。主导份额的资源是在所有已经分配给用户的多种资源中,占据最大份额的一种资源。简而言之,DRF试图最大化所有用户中最小的主导份额。

上面那段话从网上扒的,前面都还好,最后一句绕口令一样的总结也是说蒙了不少人。

算法的完整表述

  1. 初始化系统所拥有的资源总量R
  2. 初始化已经分配出去的资源总量C
  3. 初始化应用的主导份额S
  4. 初始化每个应用所分配到的资源U
  5. 每次选择已经分配给应用的主导资源占这种资源总量的比例最小的那个应用
  6. 更新R,C,S,U的值

可能第五步说的有点绕,举个例子,还是拿书中的例子说把,不过这里我们先选择A进行调度:

调度顺序User A 使用的资源User A主导资源User B使用资源User B主导资源CpuRAM
A(1/9, 4/18)4/18(0,0)01/94/18
B(1/9, 4/18)4/18(3/9,1/18)3/94/95/18
A(2/9, 8/18)8/18(3/9, 1/18)3/95/99/18
B(2/9, 8/18)8/18(6/9, 2/18)6/98/910/18
A(3/9, 12/18)12/18(6/9, 2/18)6/99/914/18

最后是分配了3个A和2个B,可以看到最后资源的使用情况和分配结果和书上是一样的,也就是说第一次调度优先调度谁对结果没有影响。

© 著作权归作者所有

纳兰清风

纳兰清风

粉丝 33
博文 36
码字总数 37100
作品 0
朝阳
程序员
私信 提问
加载中

评论(2)

纳兰清风
纳兰清风 博主

引用来自“如梦似幻梦幻泡影”的评论

经常更新点

@如梦似幻梦幻泡影 ……
如梦似幻梦幻泡影
如梦似幻梦幻泡影
经常更新点
Mesos DRF算法的论文阅读

dominant resource fairness算法是Mesos的灵魂,不同于hadoop基于slot-based实现的fair scheduler和capacity scheduler,学习阅读了一下论文“Dominant Resource Fairness: Fair Allocation......

谈吐鱼
2013/12/12
2.1K
1
Max-min Fair 和 Dominant Resource Fairness 资源分配策略

1. Max-min Fair 分配过程是每次先把资源平分,如果有用户分到多余的资源就拿出来继续给其他的平分,这样保证申请者都可以公平分到资源。举个例子: Max-min Fair策略的不足是只能使用于一种...

searchworld
2017/11/30
0
0
Mesos资源调度器的实现分析

1 mesos DRF介绍 mesos调度器是根据DRF(dominant resource fairness)算法实现的。DRF算法背后的直观想法是在多资源类型的环境下,一个用户的资源分配应该由用户的dominant share(主导份额...

谈吐鱼
2013/12/18
1K
0
颠覆大数据分析之Mesos:集群调度及管理系统

正如前面“Mesos:动机”一节中所述,Mesos的主要目标就是去帮助管理不同框架(或者应用栈)间的集群资源。比如说,有一个业务需要在同一个物理集群上同时运行Hadoop,Storm及Spark。这种情况...

douxn
2015/10/26
217
0
yarn fair资源池drf调度策略作业不执行的问题调查和分析

问题背景 yarn的fair类型资源池,是企业级hadoop用户常用的资源池类型。该资源池默认的队列调度策略是fair,即分配资源时只考虑内存限制。 对一个多个团队混合使用的大集群来说,如果想要在分...

鸿初
2018/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部