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

Craig Condit resolved YUNIKORN-1716.
------------------------------------
     Fix Version/s: 1.4.0
    Target Version: 1.4.0
        Resolution: Fixed

> Improve the performance of baseNodeCollection.getNodeIteratorInternal()
> -----------------------------------------------------------------------
>
>                 Key: YUNIKORN-1716
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1716
>             Project: Apache YuniKorn
>          Issue Type: Sub-task
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.4.0
>
>
> We can improve the performance of 
> {{{}baseNodeCollection.getNodeIteratorInternal(){}}}. This gets called in 
> every scheduling cycle. In a cluster with thousands of nodes, this has costs. 
> In one of my heap profiles which I collected during some performance testing, 
> this method shows up in the alloc_space heap profile. Not the biggest 
> contributor (around 5%), but it is visible. Therefore, optimizing it has 
> measurable benefits.
> Approaches:
>  * caching: only sort nodes if necessary. Unfortunately, every allocation 
> results in new scores, so we probably constantly have to invalidate the 
> cached list.
>  * walking the BTree: the current implementation does not have a stateful 
> iterator, but we can still call {{BTree.Ascend()}} with a function parameter, 
> which returns false as soon as we find a suitable node.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to