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

Eric Payne commented on YARN-2113:
----------------------------------

[~sunilg], YARN-2113.0009.patch has a problem when {{preemption-order}} is 
{{USERLIMIT_FIRST}}.

Cluster looks like:
||*Queue Capacity*||*Queue Max Capacity*||*Minimum User Limit 
Percent*||*Default Container Size*||*Vcores Per Container*||
|10GB|20GB|25%|0.5GB|1|

 With one user taking up the whole queue and cluster, the {{Active Users Info}} 
section looks like this (which seems accurate except I would have expected the 
{{Max Resource}} to be 5120, but since it's not active, it probably doesn't 
matter):
||*User Name*||*Max Resource*||*Used Resource*||
|hadoop1|<memory:20992, vCores:1>|<memory:20480, vCores:40>|

 When the second user starts, some containers get preempted, but preemption 
stops early and the {{Active Users Info}} section looks like this (with 
inaccurate values for {{hadoop1}}:
||*User Name*||*Max Resource*||*Used Resource*||
|hadoop2|<memory:9728, vCores:1>|<memory:2560, vCores:5>|
|hadoop1|<memory:5120, vCores:1>|<memory:5120, vCores:10>|

- The {{Used Resource}} for {{hadoop2}} is accurate, but {{Used Resource}} for 
{{hadoop1}} is incorrect. {{hadoop1}} is actually using 17.5GB, while the above 
says it is using 5GB.

Perhaps it's as a result of the following code?
{code:title=IntraQueueCandidatesSelector#preemptFromLeastStarvedApp}
      if (ret && preemptionContext.getIntraQueuePreemptionOrder()
          .equals(IntraQueuePreemptionOrder.USERLIMIT_FIRST)) {
        Resources.subtractFrom(userResourceUsage, c.getAllocatedResource());
      }
{code}


> 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: 
> 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.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