[ 
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].

{quote}
1) Priority first:
- App1 can preempt App2 if:
-- When App1.priority > App2.priority
--- User of app1 not reached user-limit
{quote}
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.

{quote}
2) User limit first:
- App1 can preempt app2 if:
-- app1.user != app2.user
{quote}
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.

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

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):
For both USERLIMIT_FIRST and PRIORITY_FIRST:
- 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

For PRIORITY_FIRST
- 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.

For USERLIMIT_FIRST
- 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, 
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to