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

Jie Yu updated MESOS-2818:
--------------------------
    Description: 
Resource estimator obviously need this information to calculate, say the usage 
slack. Now the question is how. There are two approaches:

1) Pass in the allocated resources for each executor through the 
'oversubscribable()' interface.

2) Let containerizer return total resources allocated for each container when 
'usages()' are invoked.

I would suggest to take route (1) for several reasons:

1) Eventually, we'll need to pass in slave's total resources to the resource 
estimator (so that RE can calculate allocation slack). There is no way that we 
can get that from containerizer. The slave's total resources keep changing due 
to dynamic reservation. So we cannot pass in the slave total resources during 
initialization.

2) The current implementation of usages() might skip some containers if it 
fails to get statistics for that container (not an error). This will cause 
in-complete information to the RE.

3) We may want to calculate 'unallocated = total - allocated' so that we can 
send allocation slack as well. Getting 'total' and 'allocated' from two 
different components might result in inconsistent value. Remember that 'total' 
keeps changing due to dynamic reservation.

  was:
Resource estimator obviously need this information to calculate, say the usage 
slack. Now the question is how. There are two approaches:

1) Pass in the allocated resources for each executor through the 
'oversubscribable()' interface.

2) Let containerizer return total resources allocated for each container when 
'usages()' are invoked.

I would suggest to take route (1) for several reasons:

1) Eventually, we'll need to pass in slave's total resources to the resource 
estimator (so that RE can calculate allocation slack). There is no way that we 
can get that from containerizer. The slave's total resources keep changing due 
to dynamic reservation. So we cannot pass in the slave total resources during 
initialization.

2) The current implementation of usages() might skip some containers if it 
fails to get statistics for that container (not an error). This will cause 
in-complete information to the RE.


> Pass 'allocated' resources for each executor to the resource estimator.
> -----------------------------------------------------------------------
>
>                 Key: MESOS-2818
>                 URL: https://issues.apache.org/jira/browse/MESOS-2818
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Jie Yu
>            Assignee: Jie Yu
>
> Resource estimator obviously need this information to calculate, say the 
> usage slack. Now the question is how. There are two approaches:
> 1) Pass in the allocated resources for each executor through the 
> 'oversubscribable()' interface.
> 2) Let containerizer return total resources allocated for each container when 
> 'usages()' are invoked.
> I would suggest to take route (1) for several reasons:
> 1) Eventually, we'll need to pass in slave's total resources to the resource 
> estimator (so that RE can calculate allocation slack). There is no way that 
> we can get that from containerizer. The slave's total resources keep changing 
> due to dynamic reservation. So we cannot pass in the slave total resources 
> during initialization.
> 2) The current implementation of usages() might skip some containers if it 
> fails to get statistics for that container (not an error). This will cause 
> in-complete information to the RE.
> 3) We may want to calculate 'unallocated = total - allocated' so that we can 
> send allocation slack as well. Getting 'total' and 'allocated' from two 
> different components might result in inconsistent value. Remember that 
> 'total' keeps changing due to dynamic reservation.



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

Reply via email to