[
https://issues.apache.org/jira/browse/YARN-2883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15172264#comment-15172264
]
Arun Suresh commented on YARN-2883:
-----------------------------------
On going thru the patch again, I feel a better (and safer) way to introduce the
changes is
* to extend both the {{ContainerManagerImpl}} and the {{ContainersMonitorImpl}}
classes into two new subclasses {{QueuedContainerManager}} and
{{QueuedContainersManager}}
* Then we can move all the required data structures (all the new collections)
as well as the Event Handlers into the new classes.
* We can also get rid of all the {{if
context.isDistributedSchedulingEnabled()}} checks. Since we would need to do it
only once in the {{NodeManager}} when we create the instance of the
{{ContainerManager}}
* We can also reason about the code flow better since we the changes would be
isolated to the new classes.
> Queuing of container requests in the NM
> ---------------------------------------
>
> Key: YARN-2883
> URL: https://issues.apache.org/jira/browse/YARN-2883
> Project: Hadoop YARN
> Issue Type: Sub-task
> Components: nodemanager, resourcemanager
> Reporter: Konstantinos Karanasos
> Assignee: Konstantinos Karanasos
> Attachments: YARN-2883-yarn-2877.001.patch
>
>
> We propose to add a queue in each NM, where queueable container requests can
> be held.
> Based on the available resources in the node and the containers in the queue,
> the NM will decide when to allow the execution of a queued container.
> In order to ensure the instantaneous start of a guaranteed-start container,
> the NM may decide to pre-empt/kill running queueable containers.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)