[ 
https://issues.apache.org/jira/browse/YARN-4090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xianyin Xin updated YARN-4090:
------------------------------
    Attachment: sampling2.jpg
                sampling1.jpg

I construct a queue hierarchy with 3 levels,
                                   root
       child1                  child2                child3
child1.child1~10, child2.child1~15, child3.child1~15
the number of leaf queues is 40. A total of 1000 apps running randomly on the 
leaf queues. The sampling results show that about 2/3 of the cpu times of 
FSParentQueue.assignContainers() was spent on Collections.sort(). In 
Collections.sort(), about 40% was spent on 
SchedulerAppplicationAttempt.getCurrentConsumption() and about 36% was spent on 
Resources.substract(). The former time consuming is because 
FSParentQueue.getResourceUsage() will make recursion on it's children, while 
for the latter time consuming, the clone() in substract() takes much cpu time.

> Make Collections.sort() more efficient in FSParentQueue.java
> ------------------------------------------------------------
>
>                 Key: YARN-4090
>                 URL: https://issues.apache.org/jira/browse/YARN-4090
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: fairscheduler
>            Reporter: Xianyin Xin
>         Attachments: sampling1.jpg, sampling2.jpg
>
>
> Collections.sort() consumes too much time in a scheduling round.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to