hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carlo Curino (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4108) CapacityScheduler: Improve preemption to preempt only those containers that would satisfy the incoming request
Date Wed, 16 Dec 2015 19:01:46 GMT

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

Carlo Curino commented on YARN-4108:

[~leftnoteasy] thanks for explaining us what you are working on. All in all, it sounds like
a reasonable enhancement. The two things I think we should keep an eye out for is that:
 # The "dry-run" mechanisms you describe, while clever is increasing the cost of processing
NM heart-beats. We should very carefully evaluate this, to make sure this approach can scale
to large/busy clusters. It would be great to have some self-tuning (or manual tuning) mechanics
that allow us to leverage this only if manageable for scale.
 # Your proposed approach clashes a bit with the "non-strict" version of preemption, where
an AM is allowed to return an equivalent amount of resources somewhere else. While I am not
sure this is happening in the wild yet (AM-side support of preemption is still minimal/absent),
I think it is important especially as we move towards richer applications.
 # The proposed approach prevents certain preemption actions that will never lead to a usable
containers, however since preemption has anyway a long-lag (wait-before-kill + actual kill
+ dispatch of new container to AMs). It is possible that the demand you decided to preempt
for will be satisfied by the time the resources from preempted containers are offered (hence
some unneeded preemption might remain). Again, this is more likely in large cluster where
much more is happening at any one time. 

Bottomline, I like the general direction, and I can see scenarios (services or small clusters)
where this can improve things a fair bit, but we should make sure this works well in large/busy
clusters running mostly batch jobs.

> CapacityScheduler: Improve preemption to preempt only those containers that would satisfy
the incoming request
> --------------------------------------------------------------------------------------------------------------
>                 Key: YARN-4108
>                 URL: https://issues.apache.org/jira/browse/YARN-4108
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacity scheduler
>            Reporter: Wangda Tan
>            Assignee: Wangda Tan
>         Attachments: YARN-4108-design-doc-v1.pdf, YARN-4108-design-doc-v2.pdf, YARN-4108.poc.1.patch
> This is sibling JIRA for YARN-2154. We should make sure container preemption is more
> *Requirements:*:
> 1) Can handle case of user-limit preemption
> 2) Can handle case of resource placement requirements, such as: hard-locality (I only
want to use rack-1) / node-constraints (YARN-3409) / black-list (I don't want to use rack1
and host\[1-3\])
> 3) Can handle preemption within a queue: cross user preemption (YARN-2113), cross applicaiton
preemption (such as priority-based (YARN-1963) / fairness-based (YARN-3319)).

This message was sent by Atlassian JIRA

View raw message