[ https://issues.apache.org/jira/browse/MESOS-9806?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16912823#comment-16912823 ]
Benjamin Mahler commented on MESOS-9806: ---------------------------------------- https://reviews.apache.org/r/71345/ https://reviews.apache.org/r/71346/ https://reviews.apache.org/r/71347/ Master branch: {noformat} HierarchicalAllocator_WithQuotaParam.LargeAndSmallQuota/2 Made 3500 allocations in 36.1185929secs Made 0 allocation in 32.62218602secs {noformat} After all patches in review chain: {noformat} HierarchicalAllocator_WithQuotaParam.LargeAndSmallQuota/2 Made 3500 allocations in 21.389381617secs Made 0 allocation in 18.593000222secs {noformat} > Address allocator performance regression due to the removal of quota role > sorter. > --------------------------------------------------------------------------------- > > Key: MESOS-9806 > URL: https://issues.apache.org/jira/browse/MESOS-9806 > Project: Mesos > Issue Type: Improvement > Components: allocation > Reporter: Meng Zhu > Assignee: Meng Zhu > Priority: Critical > Labels: resource-management > > In MESOS-9802, we removed the quota role sorter which is tech debt. > However, this slows down the allocator. The problem is that in the first > stage, even though a cluster might have no active roles with non-default > quota, the allocator will now have to sort and go through each and every role > in the cluster. Benchmark result shows that for 1k roles with 2k frameworks, > the allocator could experience ~50% performance degradation. > There are a couple of ways to address this issue. For example, we could make > the sorter aware of quota. And add a method, say `sortQuotaRoles`, to return > all the roles with non-default quota. Alternatively, an even better approach > would be to deprecate the sorter concept and just have two standalone > functions e.g. sortRoles() and sortQuotaRoles() that takes in the role tree > structure (not yet exist in the allocator) and return the sorted roles. -- This message was sent by Atlassian Jira (v8.3.2#803003)