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

Reply via email to