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-7149) Cross-queue preemption sometimes starves an underserved queue
Date Wed, 06 Sep 2017 18:41:00 GMT

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

Eric Payne commented on YARN-7149:
----------------------------------

Thanks for your insights, [~sunilg].

bq. Here I think we have to use {{getResourceLimitForAllUsers}} instead of {{getResourceLimitForActiveUsers}}
No, I don't think so. {{LeafQueue#getTotalPendingResourcesConsideringUserLimit}} is called
during pre-preemption when attempting to calculate the total amount of resources that would
be assigned to a queue if resources were to suddenly free up (by preemption). When these resources
are freed up, the scheduler will use {{getResourceLimitForActiveUsers}} when deciding the
amount of these resources to give to the queue. They should both use {{getResourceLimitForActiveUsers}},
which is calculating user limit for active users only.

I would like to still pursue [~jlowe]'s suggestion about reverting to the pre-YARN-5889 behavior.

> Cross-queue preemption sometimes starves an underserved queue
> -------------------------------------------------------------
>
>                 Key: YARN-7149
>                 URL: https://issues.apache.org/jira/browse/YARN-7149
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacity scheduler
>    Affects Versions: 2.9.0, 3.0.0-alpha3
>            Reporter: Eric Payne
>            Assignee: Eric Payne
>
> In branch 2 and trunk, I am consistently seeing some use cases where cross-queue preemption
does not happen when it should. I do not see this in branch-2.8.
> Use Case:
> | | *Size* | *Minimum Container Size* |
> |MyCluster | 20 GB | 0.5 GB |
> | *Queue Name* | *Capacity* | *Absolute Capacity* | *Minimum User Limit Percent (MULP)*
| *User Limit Factor (ULF)* |
> |Q1 | 50% = 10 GB | 100% = 20 GB | 10% = 1 GB | 2.0 |
> |Q2 | 50% = 10 GB | 100% = 20 GB | 10% = 1 GB | 2.0 |
> - {{User1}} launches {{App1}} in {{Q1}} and consumes all resources (20 GB)
> - {{User2}} launches {{App2}} in {{Q2}} and requests 10 GB
> - _Note: containers are 0.5 GB._
> - Preemption monitor kills 2 containers (equals 1 GB) from {{App1}} in {{Q1}}.
> - Capacity Scheduler assigns 2 containers (equals 1 GB) to {{App2}} in {{Q2}}.
> - _No more containers are ever preempted, even though {{Q2}} is far underserved_



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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


Mime
View raw message