Title: Feasibility analysis in preemptive uniprocessors
1Feasibility analysis in preemptive uniprocessors
- Mok friends. Resource partition for real-time
systems (RTAS 2001)
2All about models..
3All about models..
- tradeoff between
- expressiveness versus
- tractability of analysis
- analysis questions for real-time systems
- feasibility
- run-time scheduling
- Well talk about
- uniprocessors
- preemptive
- dynamic priority (mostly)
- gt
- run-time scheduling is not an issue
4Sporadic task models -- the framework
- Jobs basic units of work
- arrival time
- execution requirement
- deadline
- Tasks or processes
- finite (a priori known) number
- generate the jobs
- code within an infinite loop
- different tasks are assumed independent
- (in particular, no relationship between arrival
times of diff tasks jobs)
5Sporadic task models ? a short history (I)
- Liu Layland model (mid- to late- 60s)
- Ti (ei, pi)
- feasibility analysis in linear time
- 3-parameter (Mok) model (late 70s to early 80s)
- Ti (ei, di, pi)
- feasibility analysis
- identify worst-case (synch ASAP) and simulate
EDF - exponential time (simulate to lcm)
- if utilization ? c for some predefined constant c
lt 1, then simulate to - c/(1-c) ? max pi - di
- gt pseudopolynomial time
6Sporadic task models ? a short history (II)
- MultiFrame model (early 90s -- Mok Chen)
- vector of execution requirements T (e1, e2,
e3,...eN, p) - identifying the worst-case
- the demand bound function (dbf) abstraction
- feasibility analysis
- assuming utilization is bounded by clt1, still
pseudopolynomial time - Relationship between the models
L L
7Sporadic task models ? a short history (III)
- Generalized MultiFrame model (mid 90s)
- vectors of everything T ( e1, e2,...eN, d1,
d2,...dN, p1, p2,...pN ) - all vectors must be of the same size!
- feasibility analysis
- compute dbf
- verify that SUM dbf(Ti, t) ? t for all t? 0
- assuming utilization is bounded by clt1, still
pseudopolynomial time - computing dbf(T,t) is more interesting
8Two directions forward...
- further generalize the task model...
- recurring branching task model
- recurring real-time task model
- generalize the machine model
- the Mok friends paper well be looking at
- do not require the processor to offer constant
execution rate - application a hierchical scheduling framework
9Generalizing the task model
Mok T(e,d,p)
MF T(e,p)
GMF T(e,d, p)
The obvious extension non-straight-line graphs
(trees)
10Conditional real-time code (I)
T1 Every 100 time units
- Not clear which branch is worse...
- if T2 (5,5) the then branch
- if T2 (8,10), the else branch
- if (C) then (1,1)
- else (3,10)
- endif
- The recurring branching tasks model
- A task is represented by
- a (rooted) tree, and
- a period
11Conditional real-time code (II)
- The trouble with trees dont allow for
if (C1) then (1,1) else
(3,10) endif . . if (C2) then (1,1) else
(5,20) endif . .
The obvious next generalization a directed
acyclic graph
12A detour back to this...
Priorities S(static) F
(fixed) D (dynamic)
Migration N R Y
We have utilization bounds (upper and lower)
Next goal looking for domination and
incomparability relationships between classes in
this table