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

Wangda Tan commented on YARN-2113:
----------------------------------

[~eepayne]/[~sunilg] here's my understanding of the two policies: 

1) Priority first:
App1 can preempt App2 if:

When App1.priority > App2.priority
- User of app1 not reached user-limit

When App1.priority = App2.priority
- app1.user != app2.user
- User of app1 not reached user-limit 
- User of app2 beyond user-limit.

2) User limit first:
App1 can preempt app2 if:
- app1.user != app2.user
- User of app1 not reached user-limit 
- User of app2 beyond user-limit.

For both:
- No matter if {{app1.user}} is outside of {{#100/MULP}} or not, no change to 
preemption behavior. (To the example in 
https://issues.apache.org/jira/browse/YARN-2113?focusedCommentId=15951222&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15951222,
 if policy is PRIORITY_FIRST, preemption is allowed but if policy is 
USERLIMIT_FIRST, preemption is not allowed).

If I understand Jason's comment correctly: 
https://issues.apache.org/jira/browse/YARN-2113?focusedCommentId=15951538&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15951538,
 above behavior should support both scenarios via different policies: 
USERLIMIT_FIRST don't allow any preemption to an user who is below user limit; 
PRIORITY_FIRST allows preemption happen if one app has higher priority than 
another.

> 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, 
> YARN-2113.v0.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
(v6.3.15#6346)

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

Reply via email to