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

MENG DING commented on YARN-1197:
---------------------------------

Thanks guys for all the comments! I think we all agreed that container decrease 
request should go through RM, and decrease action will be triggered with RM->NM 
heartbeat.

For increase request and action, theoretically option (a) will have better 
performance. but we are incurring extra complexity for both YARN and 
application writers. I was wondering if we can consider option (c) which sorts 
of meet (a) and (b) in the middle:

1) AM sends increase request to RM
2) RM allocates the resource and sends the increase token to NM.
3) RM sends response to AM right away, instead of waiting for NM to confirm 
that the increase action has been completed.
4) Upon receiving the response (which indicates that the increase has been 
triggered), AM should first poll the container status to make sure that the 
increase is done before taking action to allocate new tasks.

Option (c) will save one NM-RM heartbeat cycle, and since both option (a) and 
(c) need to poll container status, their performance will be very close.

We can have option (b) enabled by default, and use a configuration parameter to 
turn on option (c) for framework like Spark.

Do you think if this is worth considering?

> Support changing resources of an allocated container
> ----------------------------------------------------
>
>                 Key: YARN-1197
>                 URL: https://issues.apache.org/jira/browse/YARN-1197
>             Project: Hadoop YARN
>          Issue Type: Task
>          Components: api, nodemanager, resourcemanager
>    Affects Versions: 2.1.0-beta
>            Reporter: Wangda Tan
>         Attachments: YARN-1197 old-design-docs-patches-for-reference.zip, 
> YARN-1197_Design.pdf
>
>
> The current YARN resource management logic assumes resource allocated to a 
> container is fixed during the lifetime of it. When users want to change a 
> resource 
> of an allocated container the only way is releasing it and allocating a new 
> container with expected size.
> Allowing run-time changing resources of an allocated container will give us 
> better control of resource usage in application side



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

Reply via email to