Real Time Systems: Notes

Multiprocessor Scheduling

 

SMP Schedulability Analysis


``Dhall Effect'' with EDF/DM Scheduling on MP

Observe: This is only a problem when we have some tasks with very high local utilization.


Dhall's example shows worst-case achievable multiprocessor utilization can be arbitrarily close to 1, compared to ideal value of m.

Until recently, it was used as an excuse for using partitioned scheduling on multiprocessors.

However, the example depends on mixing tasks with extremely low and extremely high utilization (or ratio of compute time to deadline).

Intuitively, we know we can achieve higher utilization when we have only smaller tasks.


Global Schedulability Test - Basic Idea


Load-Based Schedulabity Analysis

  1. Find a lower bound μ on the load of a window leading up to a deadline that is necessary for the deadline to be missed.

  2. Find an upper bound β on the load of such a window that can be generated by a given task set.

  3. If β < μ the task set must be schedulable.

There are several variations as to how we define "load" that allow different refinements in analysis.


Generalized EDF Density Test

A system of n independent sporadic tasks can be scheduled to meet all deadlines on m processors using preemptive global EDF scheduling if (but not necessarily only if)

λsum m- (m-1)λmax

where


Generalized Fixed-Priority Density Test (Baker & Cirinei)

A system of N independent sporadic tasks can be scheduled to meet all deadlines on M processors using preemptive global fixed task-priority scheduling if (but not necessarily only if), for every task τk there exists λ≥λk such that one of the following criteria is satisfied

n

i=1
min(βλk(i), 1 - λ) < m (1- λ)
n

i=1
min(βλk(i), 1 - λ) = m (1- λ) and i βλk(i) (1- λ) ⇒ βλk(i) = 0

where

βλk(i)    def
=
     
0  if  i k
ui(1 + max(0, pi-ei
dk
))  if  ui≤λ and i < k
ui(1 + max(0, pi-ei+di(1- λ/ui)
dk
))  if  ui and i < k

This is one of several results, which have gradually provided better techniques for verifying schedulability of task systems on multiprocessors.

Unfortunately, they do not cover all the cases. When it comes to evaluating how well they do, we look at performance in simulations on large numbers of task sets.


Experiment with BC Test for DM Scheduilng on 4 CPUs

The graph shows how many of 1,000,000 randomly generated sporadic task sets could be proven schedulable by deadline-monotonic scheduling using the Baker-Cirinei fixed-priority schedulability test above.

How many of the task sets that could not be proven schedulable are not schedulable?

How many of the task sets that could not be proven schedulable are schedulable, but just not able to be proven schedulable using the BC test?

How many of them are not feasible, i.e., not schedulable by any method at all?


Hierarchy of Possibilities for a Task Set

  1. schedulable to meet all deadlines by given method
  2. feasible (there exists a schedule that meets deadlines) but not schedulable by given method
  3. infeasible (there is an arrival sequence for which no schedule can meet all deadlines)

Throwforward Demand Bound

The following function is a useful measure of competing processor demand for proving that a task set is not feasible.

md(τi, t) = jtei + max (0, t- (jtpi + di - ei))

where

jt   def
=
  max (0, t-di
pi
+ 1)
© 1998, 2003, 2006 T. P. Baker. ($Id: mpsched.html,v 1.1 2008/08/25 11:18:48 baker Exp baker $)