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

Wangda Tan commented on YARN-5716:
----------------------------------

Thanks [~jianhe]!

And thanks comments from [~sunilg].

For 1)/3).
>From my existing test result, the CPU time spent on write lock (which is under 
>scheduler's accept/apply) is only a very small proportion comparing to the CPU 
>time spent on read lock. It is around 3% to 10%. IAW, write lock is not a 
>bottleneck, as of now, we cannot get a significant perf gain from the 
>improvements in writelock. So I'd prefer to keep them as-is to just make it 
>simpler.

For 2). Yeah you're correct, it is a part of my next patch, I plan to move 
resource-request related functionalities from AppSchedulingInfo to 
SchedulingPlacementSet. I will share my POC patch soon.

For 4). I'm not quite sure about what you meant, do you want to add comments to 
indicate it should be a read-only class or you want to remove writing APIs from 
these classes?

For 5). I think you were talking about these logics:

{code}
    for (ContainerAllocationProposal<A,N> c : this.containersToReserve) {
      Resources.addTo(totalReservedResource,
          c.getAllocatedOrReservedResource());
      for (SchedulerContainer<A,N> r : c.getToRelease()) {
        Resources.addTo(totalReleasedResource,
            r.getRmContainer().getAllocatedOrReservedResource());
      }
    }
{code}
For each allocated/reserved container, we can have a to-release containers : 
{{ContainerAllocationProposal#toRelease}}, which means we will kill/release 
these containers to allocate/reserve the given container. To distinguish these 
to-release containers from {{ResourceCommitRequest#toReleaseContainers}}. I 
call them "conditional release containers" : we will only release them when 
trying to allocate/reserve new resource.

And I think we need to account both of conditional/unconditional to-release 
containers to the total release-able resource.

Let me know if you have any comments.

Thanks,

For example continuous-reservation-looking/lazy-preemption. 

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