DRF资源分配算法


Dominant Resource Fairness 是Mesos默认的资源分配策略
DRF基于“最大—最小”算法设计而成,支持异构环境下多种类型资源的调度。
以公平的方式提供资源,保证每个计算框架可以接受到该框架需要的资源。
Mesos将资源划分为:
* cpus
* gpus
* disk
* mem
* ports
不同的 task 对不同类型的资源有需求,mesos 会根据每一个 task 的需求占集群总资源的比率,为每一个 task 选取一个主导资源,并且计算这个主导资源在集群中所占用的比率,用这个比率给 task 进行优先级排序。每一次新的分配,都会优先选择把资源给当前所占比率最低的那个 task。

比如现在集群一共有 10 cpus & 20 G mem。

task A 的需求为 4 cpu & 1 mem;

task b 的需求为 1 cpu & 4 mem;

所以我们可以看出 A 的主导资源是 cpu,B 的主导资源是 mem。

假设 A 和 B 都有一份正在运行,那么 A 的比率为 4/10=0.25,B 的比率为 4/20=0.2,下一次资源分配,就会优先满足 task B。

Dominant Resource Fairness

DRF

原文地址:https://www.cnblogs.com/syavingcs/p/12095175.html