Uploaded image for project: 'Apache Nemo'
  1. Apache Nemo
  2. NEMO-53

Make SchedulingPolicy Stackable

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.1

    Description

      Current runtime allows only one SchedulingPolicy at a time. It has multiple drawbacks.

      First, the executional behavior of RoundRobinSchedulingPolicy is quite overloaded:

      • It filters out executors which are saturated with active TaskGroups.
      • It filters out executors with inapproporate ContianerType (Transient, Reserved, Compute, ...).
      • For the remaining executors, it chooses one executor in round-robin fashion.
      • For TaskGroup lifecycle events, it reacts by signaling to the SchedulerRunner and the corresponding ExecutorRepresenters.

      Second, it is extremely hard to add additional 'filtering rule' flexibly.

      To add another filtering predicate, one should edit RoundRobinSchedulingPolicy to incorporate the additional predicate, or create another SchedulingPolicy and make it use RoundRobinSchedulingPolicy as a hard-wired fallback.

      It makes sense to allow user-configurable stack of multiple SchedulingPolicy, each of which defines filtering predicate.

      Attachments

        Issue Links

          Activity

            People

              skystar Jae Hyeon Park
              jangho JangHo Seo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: