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

Konstantinos Karanasos updated YARN-2883:
-----------------------------------------
    Attachment: YARN-2883-trunk.012.patch

I am attaching a new version of the patch, in which I got rid of the 
{{QueuingContainersMonitorImpl}}. The {{containersAllocation}} field is now 
moved to the {{ContainersManagerImpl}}.

Give it a look, [~kasha] and [~asuresh].
What I don't like is that I had to expose a lot of new methods in the 
{{ContainerManager}} interface, and also that I had to add a field (i.e., the 
{{containersAllocation}}) to the {{ContainerManagerImpl}} that will not be 
updated if queuing is not enabled.

That said, unless I am missing something (as in being able to access the 
methods of the {{ContainersManagerImpl}} without exposing them to the 
interface, which actually does not solve the second problem I mention above), I 
prefer the previous version of the patch that had the 
{{QueuingContainersMonitorImpl}}. 
I agree though with moving the pickOpportunisticContainersToKill to the 
{{QueuingContainerManagerImpl}}.

Let me know what you think.

> 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-trunk.004.patch, YARN-2883-trunk.005.patch, 
> YARN-2883-trunk.006.patch, YARN-2883-trunk.007.patch, 
> YARN-2883-trunk.008.patch, YARN-2883-trunk.009.patch, 
> YARN-2883-trunk.010.patch, YARN-2883-trunk.011.patch, 
> YARN-2883-trunk.012.patch, YARN-2883-yarn-2877.001.patch, 
> YARN-2883-yarn-2877.002.patch, YARN-2883-yarn-2877.003.patch, 
> YARN-2883-yarn-2877.004.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)

Reply via email to