Task model Real-Time Task Slack and Lateness Tasks and jobs
Transcript
Task model Real-Time Task Slack and Lateness Tasks and jobs
Slack and Lateness
Di
i
ai
si
fi
Ri
slacki = di - fi
lateness Li = fi - di
Di
i
si
ai
t
di
di
fi
t
Ri
Task model
Tasks and jobs
Sequence of instructions that in the absence of
other activities is continuously executed by the
processor until completion.
Task i
activation time
A task running several times on different input
data generates a sequence of instances (jobs):
Ci
start time
ai
computation
time
si
fi
t
Response time Ri
Job 1
Job 2
Job 3
i,1
i,2
i,3
Ci
i
ai,1
ai,k
ai,k+1
t
finishing time
Real-Time Task
It is a task characterized by a timing constraint on
its response time, called deadline:
ai
si
response time Ri
Time driven
The task is automatically activated by the
operating system at predefined time instants.
relative deadline Di
i
Activation modes
fi
t
di
absolute deadline
(di = ai + Di)
Event driven
The task is activated at an event arrival or by
explicitly invocating a system call.
A real-time task i is said to be feasible if it
completes within its absolute deadline, that is,
if fi di, o equivalently, if Ri Di
1
Types of tasks
Assumptions
Aperiodic
Activated by events. Task activation times are
unknown and unbounded.
Implicit deadlines
Sporadic
Activated by events.
events Task activation times are
unknown and bounded: consecutive activations are
separated by a minimum interarrival time.
Constrained deadlines
Periodic
Activated by a timer. Task activation times are
known and bounded: Consecutive jobs are
separated by a constant interval (period).
Arbitrary deadlines
i
Di = Ti
i
Di ≤ Ti
Deadlines can be less than,
greater than, or equal to periods
Analysis under fixed priority
Aperiodic/Sporadic task
interrupt
Let = {1, …, n} be a set of n periodic tasks.
Ci computation time
Implicit deadlines
job ik
Ci
i
Ci
…
ai,1
Ci
ai,k
t
ai,k+1
Aperiodic: (Ci, Di)
n
Utilization-based test
[Liu & Layland, 1973]
U
i 1
ai,k+1 > ai,k
Sporadic: (Ci, Di, Ti)
Hyperbolic Bound
[Bini - Buttazzo2, 2001]
ai,k+1 ai,k + Ti
i
n 21/ n 1
n
U
i
1 2
i 1
only
sufficient
only
sufficient
minimum
interarrival time
11
Analysis under fixed priority
Periodic task
input
Constrained deadlines
Ci
output
C
Ui = i
Ti
computation time
timer (period Ti )
sync
jjob ik
Ti
i
Response Time Analysis
[Audsley et al., 1993]
utilization factor
ai,k
ai,k+1
task phase
i (i , Ci, Ti, Di )
necessary
and
sufficient
Iterative solution:
Ci
ai,1 = i
i Ri Di
ai,k = i + (k1) Ti
di,k = ai,k + Di
t
Ri( 0 )
(s)
i
R
i
C
k 1
k
i 1
Ci
k 1
Ri( s 1)
Ck
Tk
iterate while
Ri( s ) Ri( s 1)
12
2
Analysis under EDF
Workload Analysis under FP
Constrained deadlines
Processor Demand
[Baruah et al., 1990]
Arbitrary deadlines
necessary
and
sufficient
t D dbf (t) t
dbf(t) is called demand bound function and denotes the
computation time of tasks with deadlines ≤ t
n
t + Ti Di
dbf (t) =
Ck
Ti
i=1
Σ
D is the set of points where the test has to be performed
D = {dk | dk Lb}
Lb = max{Dmax, min(H, L*)}
L*
H = lcm(T1, … , Tn)
n
i 1
Ci
1
3
2
1
2
3
Ti
4
6
14
Di
2
5
9
Ti - Di
2
1
5
Ui
1/4
1/2
1/7
i–1
Wi (t) = Ci +
Σ
k=1
t
C
Tk k
13
16
U
Workload Analysis under FP
1 1 1 25
4 2 7 28
1
1
2
5
H = 437 = 84
A task i is feasible iff:
t ≤ Di : Wi(t) ≤ t
W2(t)
18
2 1 5
n
(T Di )U i
12 28
*
i 1 i
L
4 2 7
16
3
1U
7 3
28
16
14
12
10
8
6
Lb = max (9, min(84,16)) = 16
Dmax = 9
necessary
and
sufficient
Wi (t) is called workload in (0, t] at priority level Pi and
denotes the computation time requested in (0,
(0 t] by tasks
with priority higher than or equal to Pi
EDF example
task
i t Ai Wi (t) t
Ai is the set of points where the test has to be performed,
equal to the activation times ≤ Di, including Di
(Ti Di )U i
1U
Workload Analysis
[Lehoczky et al., 1989]
4
2
0
D = {dk | dk Lb} = {2, 5, 6, 9, 10, 11, 14}
0
2
4
6
8
10
12
14
16
18
20
14
17
EDF example
Workload Analysis under FP
1
1
1
1
2
3
2
7
3
2
9
dbf(t)
()
16
14
23
A task i is feasible iff:
t ≤ Di : Wi(t) ≤ t
W2(t)
18
16
14
14
12
12
10
10
8
8
6
6
4
4
2
2
0
0
0
2
4
6
8
10
12
14
16
Lb
18
20
22
24
0
15
2
4
6
8
10
12
14
16
18
20
18
3
Workload Analysis under FP
1
3
2
2
Workload Analysis under FP
A task i is feasible iff:
1
1
t ≤ Di : Wi(t) ≤ t
2
3
3
2
W2(t)
18
16
16
14
14
12
12
10
10
8
8
6
6
4
4
2
miss
9
W3((t))
14
23
2
0
0
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
10
19
Workload Analysis under FP
1
1
2
3
3
2
14
16
18
20
22
Workload Analysis under FP
Theorem [Bini-Buttazzo, 2002]
AND
OR
A task set is feasible under fixed priorities iff:
miss
9
W3((t))
16
12
A3 = {4, 6, 8, 9}
14
i = 1...n t Pi–1(Di)
23
14
Wi (t) ≤ t
Where Pi(t) is defined by:
12
10
8
P0(t) = { t }
In an unfeasible schedule:
6
t ≤ Di : Wi(t) ≤ t
4
2
Pi(t) = Pi-1
0
0
2
4
6
8
10
12
14
16
18
t
Ti
U Pi-1(t)
Ti
20
20
23
Workload Analysis under FP
Example
1
Theorem [Lehoczky-Sha-Ding, 1989]
2
A task set is feasible under fixed priorities iff:
3
9
12
15
8
3
i = 1…n t ≤ Di : Wi (t) ≤ t
6
18
21
16
24
20
1
Problem
How many points need to be tested?
When checking i feasibility, we need to verify W(t) ≤ t for Di
and for all release times rhk ≤ Di of jobs hk with priority Ph ≥ Pi,
that is, for all t in Ai:
Ai = rhk rhk = kTh, h = 1... i, k = 1... Ti
U Di
Th
21
1: P0(D1) = P0(3) = {3}
P0(t) = { t }
Pi(t) = Pi-1
t
Ti
Ti
U Pi-1(t)
2: P1(D2) = P0(6) U P0(8) = {6, 8}
3: P2(D3) = P1(16) U P1(20)
= [P0(15) U P0(16)] U [P0(18) U P0(20)]
= {15, 16, 18, 20}
24
4
Example
Example
1
2
3
6
9
12
15
8
3
18
1
21
16
2
24
3
20
2
P0(t) = { t }
Pi(t) = Pi-1
1: P0(D1) = P0(3) = {3}
t
Ti
Ti
U Pi-1(t)
N
N
N Y
N
N
Y N
1
2
2: P1(D2) = P0(6) U P0(8) = {6, 8}
3
3: P2(D3) = P1(16) U P1(20)
= [P0(15) U P0(16)] U [P0(18) U P0(20)]
= {15, 16, 18, 20}
25
28
Example
Example
1
2
3
6
9
12
15
8
3
18
16
P0(t) = { t }
Pi(t) = Pi-1
2
24
20
1: P0(D1) = P0(3) = {3}
1
21
t
Ti
3
3
Ti
U Pi-1(t)
N
Y
N N
Y
N
N N
1
2
2: P1(D2) = P0(6) U P0(8) = {6, 8}
3
3: P2(D3) = P1(16) U P1(20)
= [P0(15) U P0(16)] U [P0(18) U P0(20)]
= {15, 16, 18, 20}
26
Workload Analysis under FP
29
Workload Analysis under FP
1
1
2
2
t1
3
i = 1...n t Pi–1(Di)
P2(D3)
i=1
Pi-1(Di) is the minimum set of points
for checking the feasibility of i.
Wi((t)) ≤ t
C1 ≤ T1
C2 +
t1
C ≤ t1
T1 1
C2 +
t2
C ≤ t2
T1 1
i=2
27
t2
C2 + 2C1 ≤ 2 T1
C2 + 3C1 ≤ T2
30
5
Workload Analysis under FP
C2
C2 + 3C1 ≤ T2
T2
FT1
C2 + 2C1 ≤ 2T1
T2 – FT1
T2
F+1
C1
T1
31
Workload Analysis under FP
C2
C2 + (F+1)C1 ≤ T2
T2
OR
FT1
C2 + FC1 ≤ FT1
T2 – FT1
T2
F+1
C1
T1
32
Analysis summary
Under EDF (Processor Demand Criterion):
t D
n
dbf (t) =
Σ
i=1
dbf (t) t
t + Ti Di
Ck
Ti
Under Fixed Priorities (Workload Analysis):
i 1,..., n
t Ai : Wi (t ) t
i–1
Wi (t) = Ci +
Σ
k=1
t
C
Tk k
6