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

Steve Loughran commented on YARN-624:
-------------------------------------

I now think we can't just offload off this to the AM, because that can lead to 
a dining philosopher's class deadlock.

example, 4 containers for service code, two AMs wanting 3 containers each, each 
with two allocated and waiting for the third...

Gang scheduling in the RM would let it satisfy the constraints for one of the 
services (& choose based on queues).

Otherwise: need a finite configurable limit on how long an AM can lease a 
container that isn't running code. That would make sense anyway if we allow a 
container to outlive a single program. 
                
> Support gang scheduling in the AM RM protocol
> ---------------------------------------------
>
>                 Key: YARN-624
>                 URL: https://issues.apache.org/jira/browse/YARN-624
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: api, scheduler
>    Affects Versions: 2.0.4-alpha
>            Reporter: Sandy Ryza
>            Assignee: Sandy Ryza
>
> Per discussion on YARN-392 and elsewhere, gang scheduling, in which a 
> scheduler runs a set of tasks when they can all be run at the same time, 
> would be a useful feature for YARN schedulers to support.
> Currently, AMs can approximate this by holding on to containers until they 
> get all the ones they need.  However, this lends itself to deadlocks when 
> different AMs are waiting on the same containers.

--
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