Real-Time Architectures 2003/2004
17-05-2004
Reinder J. Bril, [email protected] TU/e Informatica, System Architecture and Networking
Earliest Deadline First
Algorithm
dynamic task priorities; job with nearest absolute deadline gets highest priority (fixed job priorities) preemptive minimize maximum lateness online algorithm
Advantages
optimal algorithm
3
Reinder J. Bril, [email protected] TU/e Informatica, System Architecture and Networking
Earliest Deadline First
Disadvantages
logarithmic access
needs priority queue for storing deadlines needs dynamic priorities typically no OS support behaves badly under overload
less predictable than RMA (which tasks will miss deadlines ?) a jobs that missed its deadline is allowed to continue (causing a domino-effect of missed deadlines)
difficult to handle relative importance
critical next to non-critical applications
2
Reinder J. Bril, [email protected] TU/e Informatica, System Architecture and Networking
EDF (cntd)
Schedulability
U*(EDF) = 1, i.e. EDF can schedule a set Z of tasks if and only if U 1.
Proof (see book Buttazzo):
U > 1: obvious U 1: by means of a contradiction argument; see next slide
Reinder J. Bril,
[email protected] TU/e Informatica, System Architecture and Networking
U*(EDF) = 1
Suppose not
task set with U 1 and not schedulable by EDF
Choose [t1, t2]
at t2 overflow occurs t1 such that:
from t1 onwards continuous utilization ... ...by instances with [est,dl] entirely in [t1,t2 ] (EDF!) hence t1 is release time of some instance and job experiencing the overload is released in [t1,t2 ]
Define Cp(t1, t2) = (j,i: t1 estj,i, dlj,i t2: Cj)
the total amount of computation in [t1, t2]
Reinder J. Bril,
[email protected] TU/e Informatica, System Architecture and Networking
U*(EDF) = 1
Cp(t1, t2) = j (t2 t1 j)/Tj Cj j (t2 t1)/Tj Cj j ((t2 t1)/Tj) Cj (t2 t1)U Overflow at t2, hence: (t2 t1) < Cp(t1, t2) Therefore (t2 t1) < (t2 t1)U, and U > 1.
3
Reinder J. Bril, [email protected] TU/e Informatica, System Architecture and Networking
EDF (cntd)
Worst-case response times for EDF ?
Not needed for (simple) schedulability analysis; not treated in this course; see [Spuri 96].
Optimality (w.r.t. utilization):
EDF is optimal among all dynamic priority preemptive algorithms; EDF is an optimal algorithm.
Reinder J. Bril,
[email protected] TU/e Informatica, System Architecture and Networking
Example for RMA and EDF
C1 = 2, T1 = 5, C1 = 4, T1 = 7; U = 2/5 + 4/7 = 34/35 0.97 Schedulable under EDF, not under RMA. Number of preemptions of task 2:
RMA: 5; EDF: 1 !
Reinder J. Bril, [email protected] TU/e Informatica, System Architecture and Networking
References
[Spuri 96] M. Spuri, Analysis of Deadline Scheduled Real-Time Systems, INRIA Report 2772, January 1996.