DRF

Mesos资源调度器的实现分析

末鹿安然 提交于 2019-11-27 13:07:50
<h3>1 mesos DRF介绍</h3> <p>mesos调度器是根据DRF(dominant resource fairness)算法实现的。DRF算法背后的直观想法是在多资源类型的环境下,一个用户的资源分配应该由用户的dominant share(主导份额的资源)决定,dominant share是在所有已经分配给用户的多种资源中,占据最大份额的一种资源。</p> <p>mesos使用resource offers的方式实现各个框架之间的资源分配。Resource offer是多个slave节点上的一组空闲资源。Master根据调度策略来决定提供多少资源给每一个framework,通过以Resource offer的形式发送给发送给框架,然后框架响应Resource offer,确认Resource offer中已使用的资源和返回剩余的空闲资源。</p> <p>mesos的资源分配器是一个分层的加权max-min fairness的实现。通过抽象了一个role概念,将framework按照role进行分组。那么资源分配就可以分为两层:首先是在各个框架群组间通过加权的DRF算法进行排序;其次在框架群组内部,对各个framework使用加权DRF算法进行排序。然后按照最终的排序结果,从小到大对各个框架进行Resource Offer。如下图所示。</p> <p><a href=

Mesos DRF算法的论文阅读

大憨熊 提交于 2019-11-27 00:10:20
<p>dominant resource fairness算法是Mesos的灵魂,不同于hadoop基于slot-based实现的fair scheduler和capacity scheduler,学习阅读了一下论文“Dominant Resource Fairness: Fair Allocation of Multiple Resource Types”,顺便简单地翻译了一下。以下是论文翻译地正文。</p> <p>------------------------------------------------------------------------------</p> <p>我们考虑在一个包括多种资源类型的系统的公平资源分配问题,其中不同用户对资源有不同的需求。为了解决这个问题,我们提出了Dominant Resource Fairness(DRF),一种针对不同资源类型的max-min fairness。首先DRF激励用户去共享资源,如果资源是在用户之间被平均地切分,会保证没有用户会拿到更多资源。其次,DRF 是strategy-proof,用户不能通过欺骗来获取更多地资源分配。然后,RDF是envy-free(非嫉妒),没有一个用户会与其他用户交换资源分配。最后,RDF分配是Pareto efficient