首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >纱线DRF的解释

纱线DRF的解释
EN

Stack Overflow用户
提问于 2016-09-06 11:13:09
回答 1查看 5.6K关注 0票数 9

我正在阅读第四版的"Hadoop最终指南“,并发现了对纱线的DRF的解释(在第4章,支配资源公平)

假设一个集群总共有100个CPU和10个TB内存。应用程序A请求容器为(2 CPU,300 GB),应用程序B请求容器为(6 CPU,100 GB)。A的请求是集群的2%,3%,所以内存占优势,因为它的比例(3%)大于CPU的(2%)。B的要求是(6%,1%),所以CPU占主导地位。由于B的容器请求在占主导地位的资源中是原来的两倍(6%对3%),在公平共享的情况下,它将被分配到一半多的容器中。

我不明白it will be allocated half as many containers under fair sharing的意思。我猜it在这里是Application BApplication B被分配给应用程序A的容器数量的一半。是对的吗?为什么即使Application B需要更多的资源,也会分配更小的容器?

如有任何建议和对某些解释文件的说明,将不胜感激。提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-07 18:57:54

占优资源计算器是基于优势资源公平(DRF)概念。

要了解DRF,可以参考以下文章:https://people.eecs.berkeley.edu/~alig/papers/drf.pdf

在本文中,请参阅4.1节,其中给出了一个例子。

DRF试图平衡占主导地位的份额(A的内存需求=B的CPU需求)。

解释

Total Resouces Available:100个CPU,10000 GB内存

Requirements of Application A:2个CPU,300 GB内存

Requirements of Application B:6个CPU,100 GB内存

A's dominant resource is Memory (2%的CPU与3%的内存)

B's dominant resource is CPU (6%的CPU与1%的内存)

让我们假设"A“被分配给x容器,而"B”被分配给y容器。

  1. A的所需资源 2×CPU+ 300×GB内存(每个容器2 CPU和300 GB内存)
  2. B所需资源: 6yCPU+ 100 for内存(每个容器有6个CPU和100 GB内存)
  3. 所需经费总额为: 2x + 6y <= 100 CPU 300 x+100 y <= 10000 GB内存
  4. DRF将努力平衡A和B的主要需求。 A的主要需求:300 X/ 10000 GB ( 10000 GB内存中的300倍)B的主要需求: 6y / 100 CPU( 100 CPU中的6y) DRF将试图将:(300 X/ 10000) = (6y / 100)解出上述方程:X= 2y

如果您替换x = 2y并在步骤3中求解方程,您将得到x=20和y=10。

它的意思是:

  • Application A is allocated 20 containers: (40 CPUs, 6000 GB of Memory)
  • Application B is allocated 10 containers: (60 CPUs, 1000 GB of memoty)

你可以看到:

提供Total allocated CPU is: 40 + 60 <= 100 CPU

Total allocated Memory is: 6000 + 1000 <= 10000 GB可用内存

因此,上述解决方案解释了这句话的含义:

代码语言:javascript
复制
Since B’s container requests are twice as big in the dominant resource (6% 
versus 3%), it will be allocated half as many containers under fair sharing.
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39347670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档