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