Refinement-based Exact Response-Time Analysis Martin Stigge Uppsala - - PowerPoint PPT Presentation
Refinement-based Exact Response-Time Analysis Martin Stigge Uppsala - - PowerPoint PPT Presentation
Refinement-based Exact Response-Time Analysis Martin Stigge Uppsala University, Sweden Joint work with Nan Guan and Wang Yi Response-Time Analysis Response time Useful for Schedulability analysis Jitters in larger systems . . .
Response-Time Analysis
Response time
- Useful for
- Schedulability analysis
- Jitters in larger systems
- . . .
- Standard RTA for static priorities + periodic/sporadic tasks
Rj = Cj +
- i∈hp(j)
Rj Ti
- Ci
Martin Stigge Refinement-based Response-Time Analysis 2
Not everything is periodic!
Martin Stigge Refinement-based Response-Time Analysis 3
The Digraph Real-Time (DRT) Task Model
(S. et al., RTAS 2011)
- Generalizes periodic, sporadic, GMF, RRT, . . .
- Directed graph for each task
- Vertices v: jobs to be released (with WCET and deadline)
- Edges (u, v): minimum inter-release delays p(u, v)
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
Martin Stigge Refinement-based Response-Time Analysis 4
DRT: Semantics
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
Martin Stigge Refinement-based Response-Time Analysis 5
DRT: Semantics
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10 Path π = (v4)
10
5 10 t
Martin Stigge Refinement-based Response-Time Analysis 5
DRT: Semantics
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10 Path π = (v4, v2)
10 20 28
20 5 10 1 8 t
Martin Stigge Refinement-based Response-Time Analysis 5
DRT: Semantics
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10 Path π = (v4, v2, v3)
10 20 28
20
37 45
15 5 10 1 8 3 8 ... t
Martin Stigge Refinement-based Response-Time Analysis 5
Response-Time Analysis for DRT
Martin Stigge Refinement-based Response-Time Analysis 6
Problem: Path Combinations
v1 v2 v3 v4 v5 u1 u2 u3
↓ Response time
v1 v2 v3 v4 v5 u1 u2 u3
↓ Response time
Martin Stigge Refinement-based Response-Time Analysis 7
Problem: Path Combinations
v1 v2 v3 v4 v5 u1 u2 u3
↓ Response time
v1 v2 v3 v4 v5 u1 u2 u3
↓ Response time Combinatorial Explosion!
Martin Stigge Refinement-based Response-Time Analysis 7
Fahrplan
Martin Stigge Refinement-based Response-Time Analysis 8
Fahrplan
Martin Stigge Refinement-based Response-Time Analysis 8
Step 1: From Paths to Functions
Martin Stigge Refinement-based Response-Time Analysis 9
Step 1: From Paths to Functions
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
rf (t) t
5 10 15 20 25 30 35 40 2 4 6 8 10
rf (v4,v2,v3)
Martin Stigge Refinement-based Response-Time Analysis 10
Request Functions
Useful for deriving response time: RSP(v, ¯ rf ) = min
- t 0 | e(v) +
- T ′>T
rf (T ′)(t) t
- RSP(v) =
max
¯ rf ∈RF(τ)RSP(v, ¯
rf )
Martin Stigge Refinement-based Response-Time Analysis 11
Request Functions
Useful for deriving response time: RSP(v, ¯ rf ) = min
- t 0 | e(v) +
- T ′>T
rf (T ′)(t) t
- RSP(v) =
max
¯ rf ∈RF(τ)RSP(v, ¯
rf ) Combinatorial Explosion?!
Martin Stigge Refinement-based Response-Time Analysis 11
Step 2: Abstraction Trees
Martin Stigge Refinement-based Response-Time Analysis 12
Abstract Request Functions
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
rf (t) t
5 10 15 20 25 30 35 40 2 4 6 8 10
rf (v4,v2,v3)
Martin Stigge Refinement-based Response-Time Analysis 13
Abstract Request Functions
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
rf (t) t
5 10 15 20 25 30 35 40 2 4 6 8 10
rf (v4,v2,v3) rf (v5,v4,v2)
Martin Stigge Refinement-based Response-Time Analysis 13
Abstract Request Functions
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
rf (t) t
5 10 15 20 25 30 35 40 2 4 6 8 10
rf (v4,v2,v3) rf (v5,v4,v2) arf
Martin Stigge Refinement-based Response-Time Analysis 13
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is maximum of all rf
Martin Stigge Refinement-based Response-Time Analysis 14
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is maximum of all rf
Martin Stigge Refinement-based Response-Time Analysis 14
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is maximum of all rf
Martin Stigge Refinement-based Response-Time Analysis 14
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is maximum of all rf
Martin Stigge Refinement-based Response-Time Analysis 14
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is maximum of all rf
Martin Stigge Refinement-based Response-Time Analysis 14
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is maximum of all rf
Allows stepwise refinement!
Martin Stigge Refinement-based Response-Time Analysis 14
Step 3: Refinement Algorithm
Martin Stigge Refinement-based Response-Time Analysis 15
Step 3: Refinement Algorithm
¯ rf = (rf (T1), rf (T2), rf (T3)) Tuple: Store
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
¯ rf = (rf (T1), rf (T2), rf (T3)) Tuple: ↓ RSP(v, ¯ rf ) = 23 Response time: Store (23, ¯ rf 1)
Using: RSP(v, ¯ rf ) = min
- t 0 | e(v) +
T ′>T rf (T ′)(t) t
- Martin Stigge
Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Store (23, ¯ rf 1)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
¯ rf 1 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 2 = (rf ′(T1), rf (T2), rf (T3)) ¯ rf 3 = (rf ′′(T1), rf (T2), rf (T3)) Step: In T1: rf ′ rf ′′ rf Store (23, ¯ rf 1)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
¯ rf 1 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 2 = (rf ′(T1), rf (T2), rf (T3)) ¯ rf 3 = (rf ′′(T1), rf (T2), rf (T3)) Step: → 18 → 21 In T1: rf ′ rf ′′ rf Store (23, ¯ rf 1)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
¯ rf 1 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 2 = (rf ′(T1), rf (T2), rf (T3)) ¯ rf 3 = (rf ′′(T1), rf (T2), rf (T3)) Step: → 18 → 21 In T1: rf ′ rf ′′ rf Store (23, ¯ rf 1) (21, ¯ rf 2) (18, ¯ rf 3)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Store (21, ¯ rf 2) (18, ¯ rf 3)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) Store (21, ¯ rf 2) (18, ¯ rf 3)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 4 = (rf (T1), rf ′(T2), rf (T3)) ¯ rf 5 = (rf (T1), rf ′′(T2), rf (T3)) In T2: rf ′ rf ′′ rf Store (21, ¯ rf 2) (18, ¯ rf 3)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 4 = (rf (T1), rf ′(T2), rf (T3)) ¯ rf 5 = (rf (T1), rf ′′(T2), rf (T3)) → 20 → 17 In T2: rf ′ rf ′′ rf Store (21, ¯ rf 2) (18, ¯ rf 3)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 4 = (rf (T1), rf ′(T2), rf (T3)) ¯ rf 5 = (rf (T1), rf ′′(T2), rf (T3)) → 20 → 17 In T2: rf ′ rf ′′ rf Store (21, ¯ rf 2) (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5)
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . .
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Initialization:
- Most abstract functions
Each iteration:
- Replace functions along abstraction trees
Termination:
- All functions are concrete
Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . .
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Initialization:
- Most abstract functions
Each iteration:
- Replace functions along abstraction trees
Termination:
- All functions are concrete
Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . .
Martin Stigge Refinement-based Response-Time Analysis 16
Step 3: Refinement Algorithm
Initialization:
- Most abstract functions
Each iteration:
- Replace functions along abstraction trees
Termination:
- All functions are concrete
Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . . Pluggable Path Abstractions!
Martin Stigge Refinement-based Response-Time Analysis 16
Path Abstractions: SP + EDF
Martin Stigge Refinement-based Response-Time Analysis 17
Path Abstractions: Static Priorities
v1
2, 5
v2
1, 8
v3
3, 8
v4
5, 10
v5
1, 5 10 15 20 20 20 11 10
rf (t) t
5 10 15 20 25 30 35 40 2 4 6 8 10
rf (v4,v2,v3) rf π(t) := max
- e(π′) | π′ is prefix of π and p(π′) < t
- Martin Stigge
Refinement-based Response-Time Analysis 18
Path Abstractions: EDF
T2 v T1 v
Martin Stigge Refinement-based Response-Time Analysis 19
Path Abstractions: EDF
T2 v t′ T1 v t wf π(t, t′) := max{e(π′) | π′ is prefix of π, p(π′) < t and d(π′) t′}.
Martin Stigge Refinement-based Response-Time Analysis 19
Evaluation
Martin Stigge Refinement-based Response-Time Analysis 20
Evaluation: Run-time Scaling
0.0 0.1 0.2 0.3 0.4 Task Set Utilization 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Analysis Run-Time (seconds)
SP
0.0 0.1 0.2 0.3 0.4 0.5 Task Set Utilization 20 40 60 80 100 Analysis Run-Time (seconds)
EDF
10-20 tasks with 5-10 vertices each, branching degree 1-3 (Busy window extension for EDF.)
Martin Stigge Refinement-based Response-Time Analysis 21
Evaluation: Precision Improvement
0% 20% 40% 60% 80% 100% Fraction of improved RT estimates 5% 10% 15% 20% Average improvement
Type A Type B Type A: lower parameter variance Type B: higher parameter variance
Martin Stigge Refinement-based Response-Time Analysis 22
Summary
- Exact solution for NP-hard problem
- Efficient method
- Iterative refinement
- Pluggable path abstractions
- Static Priorities
- EDF
- Flexible
- Ongoing work:
- Apply to other problems
rf 1 rf 2 rf 5 rf 3 rf 4
Martin Stigge Refinement-based Response-Time Analysis 23
Q & A Thanks!
Martin Stigge Refinement-based Response-Time Analysis 24