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

Wangda Tan commented on YARN-8379:
----------------------------------

[~Zian Chen], 

Thanks for updating the patch,

Few comments: 

1) testPreemptionToBalanceWithCustomTimeout is better to move to a separate 
class. (Maybe something like TestCapacitySchedulerQueueBalancePreemption. The 
test looks not testing this feature, could u check it? I might misunderstand 
what you did here. 

2) For interface of {{selectCandidates}}, I think we can avoid passing the 
curCandidates, correct? According to semantics of curCandidates, it should be 
candidates selected *with in the selector*. 

An additional comment is:
- Now all selectors need to update two maps, curCandidates and 
selectedCandidates, this causes confusion and developers could forget updating 
both of them in some cases. Instead of doing this, I think we should refactor 
this part of code to simplify the logic. This can be done in a separated JIRA.  
[~Zian Chen], could u create a JIRA for 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, YARN-8379.005.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