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

Zian Chen commented on YARN-8379:
---------------------------------

Thanks, [~leftnoteasy] for bringing up this feature. I worked on this Jira and 
finish an initial patch for the first stage of this feature which enables 
fairness balance after all queues beyond its guarantee. What I did is,
 # Release the constraint in TempQueuePerPartition#offer to let queues can 
continue to grows its ideal assigned resource after it satisfied it's 
guaranteed. 
 # Make fairness balance preemption can be configurable through 
capacity-scheduler.xml
 # Add several test cases in PCPP to make sure this part of logic works for DRF 
and defaultResourceCalculator.

What I plan to do in the second stage is,
 # Add timeout to candidateSelector and make fairness balance selector has its 
different timeout.
 # Figure out the list of containers each candidateSelector selected since we 
need this information to set the different timeout for selected containers from 
fairness balance selector 

Currently, in each step of candidate selection, selector always make changes in 
the same "toPreempt" set of RMContainer and only stores aggregated results, 
besides this information, we also need individual results from each selector as 
well.

 

[~eepayne] , could you help review the patch for the first stage and see if 
there is any potential issue for changing the tempQueuePerPartition part? Also, 
could you share how you accomplished the fairness feature in 2.8 as you 
mentioned? Thanks!

  

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