[ https://issues.apache.org/jira/browse/YARN-7005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274696#comment-16274696 ]
Wangda Tan commented on YARN-7005: ---------------------------------- [~Tao Yang], Thanks for working on this fix. Looked at the patch, getAllPending could be an expensive operation. I think we could maintain a per-partition active queue set (which has pendingResource(partition) > 0). The active queue set will be updated when queue's pending resource get updated. {{CSQueue#inc/decPendingResource}}. The other quicker solution is to change getAllPending to getPending(partition) in your patch. We may need to do some benchmark to see how much performance it improves. Thoughts? > Skip unnecessary sorting and iterating process for child queues without > pending resource to optimize schedule performance > ------------------------------------------------------------------------------------------------------------------------- > > Key: YARN-7005 > URL: https://issues.apache.org/jira/browse/YARN-7005 > Project: Hadoop YARN > Issue Type: Improvement > Affects Versions: 2.9.0, 3.0.0-alpha4 > Reporter: Tao Yang > Attachments: YARN-7005.001.patch > > > Nowadays even if there is only one pending app in a queue, the scheduling > process will go through all queues anyway and costs most of time on sorting > and iterating child queues in ParentQueue#assignContainersToChildQueues. > IIUIC, queues that have no pending resource can be skipped for sorting and > iterating process to reduce time cost, obviously for a cluster with many > queues. Please feel free to correct me if I ignore something else. Thanks. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org