hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Payne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-2113) Add cross-user preemption within CapacityScheduler's leaf-queue
Date Mon, 01 May 2017 17:20:04 GMT

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

Eric Payne commented on YARN-2113:

Thanks [~leftnoteasy].

1) Priority first:
- App1 can preempt App2 if:
-- When App1.priority > App2.priority
--- User of app1 not reached user-limit
I believe that the above statement is too broad. The above statement sounds like preemption
will bring App2.user down below its user limit even when other users are above theirs. I would
like to ensure that App2.user is not brought below its user limit unless all other users are
already at or below their user limit.

2) User limit first:
- App1 can preempt app2 if:
-- app1.user != app2.user
Even in USERLIMIT_FIRST mode, shouldn't App1 preempt from App2 if App1.priority > App2.priority
AND App1.user == App2.user?

bq. No matter if app1.user is outside of #100/MULP or not, no change to preemption behavior
You are right.

If I understand Jason's comment correctly: above behavior should support both scenarios via
different policies:

I would like to hear [~jlowe]'s comments, but IIUC, he would have the same concern as above.
I would also like his analysis of the following.

I see preemption requirements as follows (and maybe from the other direction):
- preemption for App1 should happen while App1.user is below its user limit AND in the following
order of importance:
-- Preempt from apps owned by over-user-limit users:
--- Preempt lowest priority containers in youngest-to-oldest order of over-user-limit users
(maybe even put containers first from highest-over-user-limit users).
-- Preempt from lower-priority apps owned by App1.user
--- When there are no more users over their user limit AND lower priority apps owned by App1.user
exist, preempt lowest-priority containers in youngest-to-oldest order

- Continue to preempt lower priority non-AM containers in lowest-to-highest and youngest-to-oldest
order until App1.user has reached its user limit.

- no further preemption occurs

> Add cross-user preemption within CapacityScheduler's leaf-queue
> ---------------------------------------------------------------
>                 Key: YARN-2113
>                 URL: https://issues.apache.org/jira/browse/YARN-2113
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: scheduler
>            Reporter: Vinod Kumar Vavilapalli
>            Assignee: Sunil G
>         Attachments: IntraQueue Preemption-Impact Analysis.pdf, TestNoIntraQueuePreemptionIfBelowUserLimitAndDifferentPrioritiesWithExtraUsers.txt,
YARN-2113.0001.patch, YARN-2113.0002.patch, YARN-2113.0003.patch, YARN-2113.0004.patch, YARN-2113.0005.patch,
YARN-2113.0006.patch, YARN-2113.0007.patch, YARN-2113.0008.patch, YARN-2113.0009.patch, YARN-2113.0010.patch,
YARN-2113.0011.patch, YARN-2113.0012.patch, YARN-2113.0013.patch, YARN-2113.apply.onto.0012.ericp.patch,
> Preemption today only works across queues and moves around resources across queues per
demand and usage. We should also have user-level preemption within a queue, to balance capacity
across users in a predictable manner.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org

View raw message