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

Wilfred Spiegelenburg commented on YUNIKORN-1378:
-------------------------------------------------

Any cache needs to include a cleanup also. If we try a pod on all nodes in the 
cluster for multiple predicates that could create a large number of cache 
entries. The cache would need to be cleaned up for each pod or node update and 
delete. 

A node update can change the taints, tolerations and or schedulable state. All 
results for all pods need to be removed. Same goes for a pod. For pods the 
cache also needs to be cleaned up when a pod gets allocated.

The number of actions which traverse the whole cache for cleanup is large. With 
a large number of nodes and pod churn I think a cache will slow down the 
processing, not speed it up. Cache management most likely not possible out of 
band, i.e. not on the critical path, as it could cause the making the wrong 
scheduling decisions. In that case we will add overhead for no processing speed 
gain.

> Add predicate with equivalence cache to improve the scheduler performance
> -------------------------------------------------------------------------
>
>                 Key: YUNIKORN-1378
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-1378
>             Project: Apache YuniKorn
>          Issue Type: Task
>          Components: shim - kubernetes
>            Reporter: Qi Zhu
>            Assignee: Qi Zhu
>            Priority: Major
>              Labels: pull-request-available
>
> Now we call Filter every time when we predicate, we can cache some operations 
> for predicate so that we can improve the scheduler performance.



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