Uploaded image for project: 'Apache YuniKorn'
  1. Apache YuniKorn
  2. YUNIKORN-1715 Yunikorn performance improvements
  3. YUNIKORN-1798

Move prefilter plugins out of node predicates to improve performance

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • None

    Description

      The current flow for predicate:

      Tryallocate -> TryNodes -> TryNode ->  Shim Predicate(including prefilter and filter)

      If we can change to:
      Tryallocate -> Shim Prefilter -> TryNodes -> TryNode -> Shim filter

      The current implementation put PreFilter together with Filter into Predicates, the Predicate process each pod-node pair like the following code:

       

      for pod in pods:   
       for nodes in nodes:
          prePredicate(pod) # prefilters        
          predicate(pod, node) # filters
      

       

      It's functioning well while PreFilter only needs the pod object(no node required), we don't need to put it in the inner loop. So a promotion of PreFilter to the outer loop is made in this jira for performance's sake, such as a plugin like inter-pod-afftinity is very time-consuming to prepare the pod interconnections in PreFilter. After this proposal, it will be:

       

      for pod in pods:
         prePredicate(pod) # prefilters
          for nodes in nodes:
            predicate(pod, node) # filters 

       

      Also for PreemptionPredicates we also can ahead the PreFilter!
      cc Wilfred Spiegelenburg Craig Condit   Peter Bacsko

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            zhuqi Qi Zhu
            zhuqi Qi Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment