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

Sunil Govindan commented on YARN-8379:
--------------------------------------

Thanks [~eepayne]. I will be having bandwidth to check this. So I ll help in 
this.

Few comments in this patch.
 # I think its better to rename PREEMPTION_TO_BALANCE_QUEUES_AFTER_SATISFIED to 
PREEMPTION_TO_BALANCE_QUEUES_BEYOND_GUARANTEED and similar variables.
 # PREEMPTION_TO_BALANCE_QUEUES_AFTER_SATISFIED_MAX_WAIT_BEFORE_KILL to 
MAX_WAIT_BEFORE_KILL_FOR_QUEUE_BALANCE_PREEMPTION and other similar variables.
 # Could we move this one as the list selector.
{code:java}
263     if (isPreemptionToBalanceRequired) {
264     PreemptionCandidatesSelector selector = new FifoCandidatesSelector(this,
265     false, true);
266     
selector.setMaximumKillWaitTime(maximumKillWaitTimeForPreemptionToQueueBalance);
267     candidatesSelectionPolicies.add(selector);
268     }{code}

 # I have some doubt about below code
{code:java}
curCandidates = selector.selectCandidates(toPreempt, curCandidates,
      clusterResources, totalPreemptionAllowed);
{code}
{code:java}
toPreempt = selector.selectCandidates(toPreempt,
      clusterResources, totalPreemptionAllowed);
{code}

          Earlier selector know what the selectedCandidates from toPreempt. Now 
i dnt this we will get this

> Add an option to allow Capacity Scheduler preemption to balance satisfied 
> queues
> --------------------------------------------------------------------------------
>
>                 Key: YARN-8379
>                 URL: https://issues.apache.org/jira/browse/YARN-8379
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Wangda Tan
>            Assignee: Zian Chen
>            Priority: Major
>         Attachments: YARN-8379.001.patch, YARN-8379.002.patch, 
> YARN-8379.003.patch, YARN-8379.004.patch, ericpayne.confs.tgz
>
>
> Existing capacity scheduler only supports preemption for an underutilized 
> queue to reach its guaranteed resource. In addition to that, there’s an 
> requirement to get better balance between queues when all of them reach 
> guaranteed resource but with different fairness resource.
> An example is, 3 queues with capacity, queue_a = 30%, queue_b = 30%, queue_c 
> = 40%. At time T. queue_a is using 30%, queue_b is using 70%. Existing 
> scheduler preemption won't happen. But this is unfair to queue_a since 
> queue_a has the same guaranteed resources.
> Before YARN-5864, capacity scheduler do additional preemption to balance 
> queues. We changed the logic since it could preempt too many containers 
> between queues when all queues are satisfied.



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