[
https://issues.apache.org/jira/browse/YARN-5716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15605683#comment-15605683
]
Sunil G commented on YARN-5716:
-------------------------------
Thanks [~leftnoteasy] for the update.
Few more general comments:
1. {{computeUserLimitAndSetHeadroom}} is invoked invoked from *accept* call
chain and from *assigneContainers*. I think its fine provided the both gives
similar computed data. With user-limit preemption improvement, i think if
compute is done outside these scheduler call flow, such user-limit computation
costs can be brought down.
2. In {{LeafQueue.accept}},
{code}
Resources.subtractFrom(usedResource,
request.getTotalReleasedResource());
{code}
totalReleasedResource also include reserved resources too, correct. Do we need
to decrement that? I am not very clear in this point here.
3. In {{CS#allocateContainerOnSingleNode}}, *node.getReservedContainer()* is
checked two times (second time to handle error case). Could we handle in first
block itself.
4. In {{FiCaSchedulerApp.accept}},
- a reference for {{resourceRequests}} is kept and under failure updated back
to schedulingInfo object. I do not feel its a clean implementation. I remember
this change, but I feel we need not have to take a reference in app level, may
be we can keep it in schedulingInfo and can be used the same during recovery.
- Method is very lengthy. We could take out logic like increase request etc.
So it ll be more easier.
- {{readLock}} is mostly needed for increased request and for
appSchedulingInfo. I think some optimizations here could be done separately in
another ticket as improvement.
- preferring *equals* instead of {{if (fromReservedContainer !=
reservedContainerOnNode)}}
Also I have checked reservation continue scheduling and lazy-preemption in
particular in this round. Generally both looks fine for me.
> Add global scheduler interface definition and update CapacityScheduler to use
> it.
> ---------------------------------------------------------------------------------
>
> Key: YARN-5716
> URL: https://issues.apache.org/jira/browse/YARN-5716
> Project: Hadoop YARN
> Issue Type: Sub-task
> Reporter: Wangda Tan
> Assignee: Wangda Tan
> Attachments: YARN-5716.001.patch, YARN-5716.002.patch,
> YARN-5716.003.patch, YARN-5716.004.patch, YARN-5716.005.patch,
> YARN-5716.006.patch, YARN-5716.007.patch, YARN-5716.008.patch
>
>
> Target of this JIRA:
> - Definition of interfaces / objects which will be used by global scheduling,
> this will be shared by different schedulers.
> - Modify CapacityScheduler to use it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]