> For frameworks in the same role on the other hand we choose to normalize
with the allocated resources

Within a role, the framework's share is evaluated using the *role*'s total
allocation as a denominator. Were you referring to the role's total
allocation when you said "allocated resources"?

I believe this was just to reflect the "total pool" we're sharing within.
For roles, we're sharing the total cluster as a pool. For frameworks within
a role, we're sharing the role's total allocation as a pool amongst the
frameworks. Make sense?

The sort ordering should be the same no matter which denominator you
choose, since everyone gets the same denominator. i.e. 1,2,3 are ordered
the same whether you're evaluating their share as 1/10,2/10,3/10 or
1/100,2/100,3/100, etc.

On Wed, Nov 29, 2017 at 11:03 AM, Benjamin Bannier <
benjamin.bann...@mesosphere.io> wrote:

> Hi,
>
> the DRF flavors we use in our hierarchical allocator slightly differ
> between how we identify the role and the framework most under fair share.
>
> In DRF each actual usage is normalized to some “total”. For roles we use
> the total resources in the cluster (or for quota the total non-revocable
> resources), see e.g., https://github.com/apache/meso
> s/blob/bf507a208da3df360294896f083dd163004324aa/src/master/a
> llocator/mesos/hierarchical.cpp#L521-L524. For frameworks in the same
> role on the other hand we choose to normalize with the allocated resources,
> see e.g., https://github.com/apache/mesos/blob/bf507a208da3df360294896
> f083dd163004324aa/src/master/allocator/mesos/hierarchical.cpp#L551. This
> means that we e.g., need to update the denominators in the framework
> sorters whenever we made an allocation.
>
> These approaches are not equivalent, and I was wondering what the reason
> for the deviating DRF for frameworks was.
>
> It appears to me that by normalizing with the used resources inside a role
> we somehow bias allocations inside a role against frameworks with “unusual”
> usage vectors (relative to other frameworks in the same role). We do not
> seem to document any such intention, and I am also unsure about the
> usefulness for such a bias in a world with large, possibly deeply nested
> role trees. More from an aesthetic point of view, the special treatment for
> frameworks seems in the same role seems to break symmetry (necessitating
> special treatment), and having to update the denominators in framework
> sorters on each allocations also seems to potentially introduce extra churn
> in framework sorter.
>
> Does anybody recall why we use a different DRF flavor for frameworks in
> the same role as opposed to the one used across roles?
>
>
> Cheers,
>
> Benjamin

Reply via email to