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

Eric Payne commented on YARN-7813:
----------------------------------

A grid administrator should be able to configure queues as follows. Currently, 
there is no way to configure a grid cluster like this:
{panel:title=VALID CONFIGURATION}
|Queue Name|cross-queue preemption enabled|in-queue preemption enabled|
|QueueA|true|true|
|QueueB|true|false|
{panel}
Currently, if system-wide in-queue preemption is enabled, it would be enabled 
for both {{QueueA}} and {{QueueB}}. In the above use case, the administrator 
wants to turn in-queue preemption on for {{QueueA}} but wants it off for 
{{QueueB}}.

A nuance of this feature is that in order for in-queue preemption to be 
enabled, cross-queue preemption must also be enabled. That is, the following 
should not be allowed:
{panel:title=INVALID CONFIGURATION}
|Queue Name|cross-queue preemption|in-queue preemption|
|QueueA|false|true|
|QueueB|false|true|
{panel}
The reason for this is because there is no guarantee that the scheduler will 
give a preempted container back to the queue that had it originally. So, if 
{{QueueA}} in the invalid configuration example is over its capacity, there is 
no way to tell the scheduler that a container was preempted for the purposes of 
balancing {{QueueA}}'s priority or user limit inversions. Instead, the capacity 
scheduler would first try to balance each queue's capacity guarantees by giving 
the container to {{QueueB}}.

> Capacity Scheduler Intra-queue Preemption should be configurable for each 
> queue
> -------------------------------------------------------------------------------
>
>                 Key: YARN-7813
>                 URL: https://issues.apache.org/jira/browse/YARN-7813
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: capacity scheduler, scheduler preemption
>    Affects Versions: 2.9.0, 2.8.3, 3.0.0
>            Reporter: Eric Payne
>            Assignee: Eric Payne
>            Priority: Major
>
> Just as inter-queue (a.k.a. cross-queue) preemption is configurable per 
> queue, intra-queue (a.k.a. in-queue) preemption should be configurable per 
> queue. If a queue does not have a setting for intra-queue preemption, it 
> should inherit its parents value.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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