[
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: [email protected]
For additional commands, e-mail: [email protected]