Real Time Systems: Notes |
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.
Find a lower bound μ on the load of a window leading up to a deadline that is necessary for the deadline to be missed.
Find an upper bound β on the load of such a window that can be generated by a given task set.
If β < μ the task set must be schedulable.
There are several variations as to how we define "load" that allow different refinements in analysis.
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)
where
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 = |
|
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.
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?
The following function is a useful measure of competing processor demand for proving that a task set is not feasible.
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 $) |