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

Optimize scheduling cycle if there's no placeholder allocation or reservation

    XMLWordPrintableJSON

Details

    Description

      In the scheduling cycle, we call three methods:

      • tryPlaceholderAllocate() - tries to replace running placeholders
      • tryReservedAllocate() - tries to allocate reservations
      • tryAllocate() - tries normal allocation (most common)

      Even if we have pending requests, the first two don't always have anything to allocate. In fact, if there's no gang scheduling job, there's no need to run tryPlaceholderAllocate() at all. Similarly, if we don't have reservations, we don't have to call tryReservedAllocate(). Both method walk the hierarchy, copy&filter applications, etc. If we track how many active placeholders and reservations we have, we can eliminate the calls to these two if counter == 0.

      Attachments

        Issue Links

          Activity

            People

              pbacsko Peter Bacsko
              pbacsko Peter Bacsko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: