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