[ 
https://issues.apache.org/jira/browse/MESOS-4923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guangya Liu updated MESOS-4923:
-------------------------------
    Description: 
The current logic of roleSorter is that when it do role sorter, the resources 
in it will include both regular resources and revocable resources, and this may 
not accurate for some cases, take the following case as an instance:

1) framework1 and framework2. 
2) framework1 got 1 reserved cpu and 9 revocable cpu. cpu(r1):1;cpu(*){REV}:9
3) framework2 got 9 reserved cpus: cpu(r1):9

When allocator allocate resources in next cycle, framework2 will be handled 
first as it has less SCALAR resources than framework1, but this may not be 
right for some cases as framework1 is using only 1 reserved resources and other 
resources are revocable which can be easily got evicted.

A proposal here is treat revocable resources as a separate pool when 
considering fairness, this can be achieved by introducing a new sorter for 
revocable resources so as to distinguish the sorter for regular resources and 
revocable resources. To the built in allocator, the logic would be as this:
1) Quota Role Sorter
2) non-revocable Role Sorter
3) Revocable Role Sorter

  was:
The current logic of roleSorter is that when it do role sorter, the resources 
in it will include both regular resources and revocable resources, and this may 
not accurate for some cases, take the following case as an instance:

1) framework1 and framework2. 
2) framework1 got 1 reserved cpu and 9 revocable cpu. cpu(r1):1;cpu(*){REV}:9
3) framework2 got 9 reserved cpus: cpu(r1):9

When allocator allocate resources in next cycle, framework2 will be handled 
first as it has less SCALAR resources than framework1, but this may not be 
right for some cases as framework1 is using only 1 reserved resources and other 
resources are revocable which can be easily got evicted.

A proposal here is introducing a new sorter for revocable resources so as to 
distinguish the sorter for regular resources and revocable resources. To the 
built in allocator, the logic would be as this:
1) Quota Role Sorter
2) non-revocable Role Sorter
3) Revocable Role Sorter


> Treat revocable resources as a separate pool when considering fairness
> ----------------------------------------------------------------------
>
>                 Key: MESOS-4923
>                 URL: https://issues.apache.org/jira/browse/MESOS-4923
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Guangya Liu
>            Assignee: Klaus Ma
>
> The current logic of roleSorter is that when it do role sorter, the resources 
> in it will include both regular resources and revocable resources, and this 
> may not accurate for some cases, take the following case as an instance:
> 1) framework1 and framework2. 
> 2) framework1 got 1 reserved cpu and 9 revocable cpu. cpu(r1):1;cpu(*){REV}:9
> 3) framework2 got 9 reserved cpus: cpu(r1):9
> When allocator allocate resources in next cycle, framework2 will be handled 
> first as it has less SCALAR resources than framework1, but this may not be 
> right for some cases as framework1 is using only 1 reserved resources and 
> other resources are revocable which can be easily got evicted.
> A proposal here is treat revocable resources as a separate pool when 
> considering fairness, this can be achieved by introducing a new sorter for 
> revocable resources so as to distinguish the sorter for regular resources and 
> revocable resources. To the built in allocator, the logic would be as this:
> 1) Quota Role Sorter
> 2) non-revocable Role Sorter
> 3) Revocable Role Sorter



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to