EE 599-002: Review for Exam 1

These are all things I think are important to know for exam 1.

  1. Definitions & Modeling
    1. Hard vs. soft RT
    2. Jobs & Tasks
    3. Job Parameters (release time, absolute deadline, relative deadline)
    4. Task Parameters (phase, period)
    5. Periodic tasks
    6. Aperiodic jobs
    7. Sporadic jobs
    8. Dependencies, precedence graphs, task graphs
  2. Clock-Driven Scheduling

    Periodically run a statically determined schedule

    Advantages
    Simple (low overhead, predictable, easy to validate, no concurrency)
    Disadvantages
    Inflexible (fixed release times, need to run offline algorithm to add or remove tasks, all possible task combinations must be known apriori, does not handle event driven tasks well)
    1. Timer driven schedulers (fit all jobs into hyperperiod)
    2. Cyclic schedulers (divide hyperperiod into frames to add structure)
    3. Aperiodic jobs (background execution vs. slack stealing)
    4. Sporadic jobs (run acceptance test and schedule)

  3. Priority-Driven Scheduling

    If any jobs are runnable, run the one with the highest priority

    Advantages
    Handles dynamically changing workloads better
    Disadvantages
    harder to validate, cannot created feasible schedules when knowledge of future events required
    1. Fixed Priority
      RM (DM)
      shortest period (relative deadline) has highest priority
      Arbitrary
      Choose priority of tasks based on application
      Advantages of Fixed Priority
      More predictable (esp. with job overruns)
      Disadvantages
      Cannot schedule some systems that are scheduleable by priority schedulers
    2. Dynamic Priority
      Task-level
      Tasks can change priority, but once a job is released its priority is fixed (EDF)
      Job-level
      Jobs can change priority after release (LST)
      Advantages
      Higher scheduleable utilization (EDF and LST can schedule any system that can be scheduled by any priority driven algorithm)
      Disadvantages
      Less predictable than fixed priority algorithms
    3. Schedulability
      EDF
      Σni=1(ei/min(Di,pi) ≤ 1 ⇔ schedulable
      DM
      Best fixed priority algorithm (can schedule any system that is schedulable by a fixed priority algorithm)
      RM
      Simply periodic tasks: U ≤ 1 ⇔ schedulable
      generic tasks: U ≤ URM(n) = n(21/n - 1) ⇒ schedulable
      Time-demand Analysis
      Works for any fixed priority algorithm

      for Di ≤ pi
      demand = wi(t) = ei + Σi-1k=1⌈t/pk⌉⋅ek + bi, 0 < t ≤ pi
      solve wi(t) = t to get Wi
      Ti is schedulable if Wi ≤ Di

      for Di>pi find length of the level-πi busy interval
      solve t =Σik=1⌈t/pk⌉ek + bi, to find Bi
      number of jobs in interval = ni = ⌈Bi/pi
      wi,j(t) = j⋅ei + Σi=1k=1⌈t/pk⌉ek + bi, (j-1)pi ≤ t ≤ wi,j(t), j = 1, 2, 3,... , ni
      solve wi,j((j-1)pi + t) - (j-1)pi = t
      to find Wi,j
      if all Wi,j < Di then Ti is schedulable

      Blocking
      non-preemptability: bi(np) = maxi+1 ≤ k ≤ n θk

      self-suspension: bi = bi(ss) + (Ki + 1)bi(np)

      context switches
      ei' = ei + 2(Ki + 1)CS
      schedulable utilization with blocking
      Fixed Priority: Σi-1k=1(ek/pk) + (ei + bi)/pi ≤ UX(n) ⇒ Ti schedulable (test forall i)

      EDF: Σnk=1(ek/min(Dk, pk) + bi/min(Di, pi) ≤ 1 ⇔ Ti schedulable (test for all i)

Good book problems to study for chapter 6: 6.4, 6.5, 6.7, 6.13, 6.15, 6.21, 6.31