[ 
https://issues.apache.org/jira/browse/YARN-45?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13648986#comment-13648986
 ] 

Carlo Curino commented on YARN-45:
----------------------------------

Based on all the feedback here, including discussions with [~acmurthy], 
[~vinodkv], [~bikassaha], [~hitesh], [~sseth], and [~tucu00], we propose the 
following message be added to the
{{AllocateResponse}} (pseudo):

{noformat}
PreemptionMessage {
  StrictPreemptionContract {
    Set<PreemptionContainer> containers
  } strict;
  PreemptionContract {
    Set<PreemptionContainer> containers
    List<PreemptionResourceRequest> resources
  } contract;
} message
{noformat}

This has some advantages over the previous design:
# By adding {{PreemptionContainer}} and {{PreemptionResourceRequest}} (wrappers 
of {{ContainerId}} and {{ResourceRequest}} respectively) we can add attributes 
to each item later on, without breaking the protocol (e.g., [~sandyr]'s earlier 
suggestion of time).
# By separating strict and non-strict contracts, the RM can pull back specific 
containers or give the AM flexibility in satisfying the contract. It also 
allows the RM to simultaneously and unambiguously include requests with both 
constraints
# By including the list of containers in the {{PreemptionContract}} together 
with the resources, AMs have a slightly more restricted search space when 
compared to "match all the resources that _might_ be killed, determine 
preferences among them". Thus, simpler AMs can mostly ignore the interpretation 
of {{ResourceRequest}} and just follow the RM hint.

We're updating YARN-567, YARN-568, and YARN-569 to accommodate these changes, 
in addition to the rest of the downstream patches.
                
> Scheduler feedback to AM to release containers
> ----------------------------------------------
>
>                 Key: YARN-45
>                 URL: https://issues.apache.org/jira/browse/YARN-45
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>            Reporter: Chris Douglas
>            Assignee: Carlo Curino
>         Attachments: YARN-45.patch, YARN-45.patch, YARN-45.patch, 
> YARN-45.patch, YARN-45.patch, YARN-45_summary_of_alternatives.pdf
>
>
> The ResourceManager strikes a balance between cluster utilization and strict 
> enforcement of resource invariants in the cluster. Individual allocations of 
> containers must be reclaimed- or reserved- to restore the global invariants 
> when cluster load shifts. In some cases, the ApplicationMaster can respond to 
> fluctuations in resource availability without losing the work already 
> completed by that task (MAPREDUCE-4584). Supplying it with this information 
> would be helpful for overall cluster utilization [1]. To this end, we want to 
> establish a protocol for the RM to ask the AM to release containers.
> [1] http://research.yahoo.com/files/yl-2012-003.pdf

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to