我正在阅读第四版的"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 B,Application B被分配给应用程序A的容器数量的一半。是对的吗?为什么即使Application B需要更多的资源,也会分配更小的容器?
如有任何建议和对某些解释文件的说明,将不胜感激。提前谢谢你。
发布于 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容器。
如果您替换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可用内存
因此,上述解决方案解释了这句话的含义:
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.https://stackoverflow.com/questions/39347670
复制相似问题