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

Jason Lowe commented on YARN-7739:
----------------------------------

I'm OK with getting rid of implicitly shrinking containers since I think it is 
causing more problems than it is solving, but it is technically an incompatible 
change.  If there was some app out there that was relying on asking for a 
9999GB container and then expecting it to be silently truncated to the 
cluster/queue's max allocation then it will break after that change.

>From a compatibility standpoint we could add a flag to the request indicating 
>whether the request is OK with silent truncation, but most apps would have to 
>be updated to set the flag saying it's _not_ OK to truncate to get the 
>behavior most apps would want which is no truncation.  Not a fan of that 
>either.  IMHO truncation is a bug, so maybe it's not so much an incompatible 
>change as it is a bugfix. ;-)

I would recommend pinging [~vinodkv] about this since I believe he was involved 
in the early days discussions that led to the silent truncation to max behavior.


> Revisit scheduler resource normalization behavior for max allocation
> --------------------------------------------------------------------
>
>                 Key: YARN-7739
>                 URL: https://issues.apache.org/jira/browse/YARN-7739
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Wangda Tan
>            Priority: Critical
>
> Currently, YARN Scheduler normalizes requested resource based on the maximum 
> allocation derived from configured maximum allocation and maximum registered 
> node resources. Basically, the scheduler will silently cap asked resource by 
> maximum allocation.
> This could cause issues for applications, for example, a Spark job which 
> needs 12 GB memory to run, however in the cluster, registered NMs have at 
> most 8 GB mem on each node. So scheduler allocates 8GB memory container to 
> the requested application.
> Once app receives containers from RM, if it doesn't double check allocated 
> resources, it will lead to OOM and hard to debug because scheduler silently 
> caps maximum allocation.
> When non-mandatory resources introduced, this becomes worse. For resources 
> like GPU, we typically set minimum allocation to 0 since not all nodes have 
> GPU devices. So it is possible that application asks 4 GPUs but get 0 GPU, it 
> gonna be a big problem.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to