Combinatorial Abstraction Refinement for Feasibility Analysis - - PowerPoint PPT Presentation
Combinatorial Abstraction Refinement for Feasibility Analysis - - PowerPoint PPT Presentation
Combinatorial Abstraction Refinement for Feasibility Analysis Martin Stigge Uppsala University, Sweden Joint work with Wang Yi Problem Overview Workload Model Scheduler Model Task A Task B EDF/Static Prio/... Task C Task A t Task B t
Problem Overview
Workload Model
Task A Task B Task C
Scheduler Model
EDF/Static Prio/...
Task A
t
Task B
t Schedulable?
Martin Stigge Combinatorial Abstraction Refinement 2
Problem Overview
Workload Model DRT
High priority A1 A2 A3 A4 Medium priority B1 B2 B3 Low priority C
Scheduler Model
EDF/Static Prio/...
Task A
t
Task B
t Schedulable? Our Setting:
- DRT tasks
- Static Priorities
- Precise Test
Martin Stigge Combinatorial Abstraction Refinement 2
The Digraph Real-Time (DRT) Task Model
(S. et al, RTAS 2011)
- Generalizes periodic, sporadic, GMF, RRT, . . .
- Directed graph for each task
- Vertices J: jobs to be released (with WCET and deadline)
- Edges (Ji, Jj): minimum inter-release delays p(Ji, Jj)
J1 J2 J3 J4 J5
13 29 100 25 12 10 18 50 Martin Stigge Combinatorial Abstraction Refinement 3
DRT: Semantics
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
Martin Stigge Combinatorial Abstraction Refinement 4
DRT: Semantics
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
Path π = (J1)
t
10
6 10
Martin Stigge Combinatorial Abstraction Refinement 4
DRT: Semantics
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
Path π = (J1, J2)
t
10 13 38
13 6 10 5 25
Martin Stigge Combinatorial Abstraction Refinement 4
DRT: Semantics
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
Path π = (J1, J2, J3)
t
10 13 38
13
44 54
29 6 10 5 25 1 10 ...
Martin Stigge Combinatorial Abstraction Refinement 4
Complexity Results for DRT Schedulability
EDF
- Pseudo-polynomial
- Dbf-based analysis
[RTAS 2011]
- Equivalent to Feasibility
Static Priorities
- Strongly coNP-hard
- Already for trees or cycles
[ECRTS 2012]
- Efficient solution?
Martin Stigge Combinatorial Abstraction Refinement 5
Complexity Results for DRT Schedulability
EDF
- Pseudo-polynomial
- Dbf-based analysis
[RTAS 2011]
- Equivalent to Feasibility
Static Priorities
- Strongly coNP-hard
- Already for trees or cycles
[ECRTS 2012]
- Efficient solution?
Martin Stigge Combinatorial Abstraction Refinement 5
Fahrplan
1
Problem Introduction Digraph Real-Time Tasks Complexity Results
2
Analysis Approach Request Functions Rf-based Test
3
Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure
4
Evaluation
Martin Stigge Combinatorial Abstraction Refinement 6
Fahrplan
1
Problem Introduction Digraph Real-Time Tasks Complexity Results
2
Analysis Approach Request Functions Rf-based Test
3
Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure
4
Evaluation
Martin Stigge Combinatorial Abstraction Refinement 6
Testing the Scheduling Window
High priority
A1 A2 A3 A4
Medium priority
B1 B2 B3
Low priority
C
Is C schedulable? t Scheduling window of C
Martin Stigge Combinatorial Abstraction Refinement 7
Testing the Scheduling Window
B2 B3
High priority
A1 A2 A3 A4
Medium priority
B1 B2 B3
Low priority
C
Is C schedulable? t A2, B1 A2 B2 A1 A1 B3 B3 A3 A3 Scheduling window of C
Martin Stigge Combinatorial Abstraction Refinement 7
Request Functions
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
rf (t) t
5 10 15 20 25 30 35 40 45 50 2 4 6 8 10 12
rf (J1,J2,J3)
Martin Stigge Combinatorial Abstraction Refinement 8
Request Functions: Schedulability Test
Lemma
A job J is schedulable iff for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +
- T∈τ
rf (T)(t) t. (1)
e(J) + rf (T)(t) t
d(J) Scheduling window
Martin Stigge Combinatorial Abstraction Refinement 9
Request Functions: Schedulability Test
Lemma
A job J is schedulable iff for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +
- T∈τ
rf (T)(t) t. (1)
e(J) + rf (T)(t) t
d(J) Scheduling window
Martin Stigge Combinatorial Abstraction Refinement 9
Request Functions: Schedulability Test
Lemma
A job J is schedulable iff for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +
- T∈τ
rf (T)(t) t. (1)
e(J) + rf (T)(t) t
d(J) Scheduling window
Martin Stigge Combinatorial Abstraction Refinement 9
Problem: Naive test double exponential!
1 Number of paths per task 2 Number of combinations
Request Functions: Domination
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
rf (t) t
5 10 15 20 25 30 35 40 45 50 2 4 6 8 10 12
rf (J1,J2,J3)
Martin Stigge Combinatorial Abstraction Refinement 10
Request Functions: Domination
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
rf (t) t
5 10 15 20 25 30 35 40 45 50 2 4 6 8 10 12
rf (J1,J2,J3) rf (J3,J4,J2)
Martin Stigge Combinatorial Abstraction Refinement 10
Request Functions: Domination
J1
6, 10
J2
5, 25
J3
1, 10
J4
2, 12
J5
10, 50 13 29 100 25 12 10 18 50
rf (t) t
5 10 15 20 25 30 35 40 45 50 2 4 6 8 10 12
rf (J1,J2,J3) rf (J3,J4,J2)
- Martin Stigge
Combinatorial Abstraction Refinement 10
Combinatorial Explosion
Lemma
A job J is schedulable if for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +
- T∈τ
rf (T)(t) t. (1) What about the Combinatorial Explosion?
Martin Stigge Combinatorial Abstraction Refinement 11
Overapproximation: mrf
- Approach: Define an overapproximation
- mrf (T)(t): Maximum of all rf (T)(t) for a task T
- “Request-Bound Function”
- “Workload-Arrival Function”
- New test:
∃t d(J) : e(J) +
- T∈τ
mrf (T)(t) t.
- Efficient: Only one test, no combinatorial explosion
Martin Stigge Combinatorial Abstraction Refinement 12
Overapproximation: mrf
- Approach: Define an overapproximation
- mrf (T)(t): Maximum of all rf (T)(t) for a task T
- “Request-Bound Function”
- “Workload-Arrival Function”
- New test:
∃t d(J) : e(J) +
- T∈τ
mrf (T)(t) t.
- Efficient: Only one test, no combinatorial explosion
- Problem: Imprecise!
J1
2, 5
J2
6, 30 20 5 50 30 rf (t) t
2 4 6 8 2 4 6 8 10
rf (v1,v2) rf (v2,v1) mrf
Martin Stigge Combinatorial Abstraction Refinement 12
Overapproximation: mrf
- Approach: Define an overapproximation
- mrf (T)(t): Maximum of all rf (T)(t) for a task T
- “Request-Bound Function”
- “Workload-Arrival Function”
- New test:
∃t d(J) : e(J) +
- T∈τ
mrf (T)(t) t.
- Efficient: Only one test, no combinatorial explosion
- Problem: Imprecise!
J1
2, 5
J2
6, 30 20 5 50 30 rf (t) t
2 4 6 8 2 4 6 8 10
rf (v1,v2) rf (v2,v1) mrf
Martin Stigge Combinatorial Abstraction Refinement 12
How can we get efficiency and precision?
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 mrf , maximum of all rf
Martin Stigge Combinatorial Abstraction Refinement 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 mrf , maximum of all rf
Martin Stigge Combinatorial Abstraction Refinement 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 mrf , maximum of all rf
Martin Stigge Combinatorial Abstraction Refinement 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 mrf , maximum of all rf
Martin Stigge Combinatorial Abstraction Refinement 13
Abstraction Tree
rf 1 rf 2 rf 3 rf 4 rf 5 mrf Define an abstraction tree per task:
- Leaves are concrete rf
- Each node: maximum function of child nodes
- Root is mrf , maximum of all rf
Martin Stigge Combinatorial Abstraction Refinement 13
Combinatorial Abstraction Refinement
Task T mrf (T) rf (T)
1
rf (T)
2
rf (T)
5
rf (T)
3
rf (T)
4
Task T ′ mrf (T ′) rf (T ′)
1
rf (T ′)
2
rf (T ′)
3
New Algorithm:
- Test one combination of all mrf .
- If schedulable: done
- Otherwise: Replace one mrf with all child nodes,
- 2 new combinations to test
- Repeat until:
- All combinations show schedulability, or
- A combination of leaves shows non-schedulability
Martin Stigge Combinatorial Abstraction Refinement 14
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
?
Martin Stigge Combinatorial Abstraction Refinement 15
Test:
∃t d(J) : e(J) +
T∈τ rf (T)(t) t
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
( C ,
A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
?
( C ,
A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Test:
∃t d(J) : e(J) +
T∈τ rf (T)(t) t
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
?
Martin Stigge Combinatorial Abstraction Refinement 15
Test:
∃t d(J) : e(J) +
T∈τ rf (T)(t) t
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
( C ,
A , B , A )
( C ,
A , C , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
( C ,
A , B , A )
?
( C ,
A , C , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Test:
∃t d(J) : e(J) +
T∈τ rf (T)(t) t
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
( C ,
A , B , A )
SCHED
( C ,
A , C , A ) Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
( C ,
A , B , A )
SCHED
( C ,
A , C , A )
?
Martin Stigge Combinatorial Abstraction Refinement 15
Test:
∃t d(J) : e(J) +
T∈τ rf (T)(t) t
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
( C ,
A , B , A )
SCHED
( C ,
A , C , A )
SCHED
Result: Schedulable!
Martin Stigge Combinatorial Abstraction Refinement 15
Combinatorial Abstraction Refinement: Example
Task T1
A B C D E
Task T3
A B C
Task T3
A B C D E F G
Task T4
A B C D E
Testing rf tuples: ( A ,
A , A , A )
UNSCHED
( B ,
A , A , A )
SCHED
( C ,
A , A , A )
UNSCHED
( C ,
A , B , A )
SCHED
( C ,
A , C , A )
SCHED
Result: Schedulable!
Total combinations: 3 · 2 · 4 · 3 = 72; Tested: 5 (!)
Martin Stigge Combinatorial Abstraction Refinement 15
Fahrplan
1
Problem Introduction Digraph Real-Time Tasks Complexity Results
2
Analysis Approach Request Functions Rf-based Test
3
Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure
4
Evaluation
Martin Stigge Combinatorial Abstraction Refinement 16
Fahrplan
1
Problem Introduction Digraph Real-Time Tasks Complexity Results
2
Analysis Approach Request Functions Rf-based Test
3
Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure
4
Evaluation
Martin Stigge Combinatorial Abstraction Refinement 16
Evaluation: Runtime vs. Utilization
0.0 0.2 0.4 0.6 0.8 1.0 Task Set Utilization 2 4 6 8 10 12 14 Analysis Run-Time (seconds)
EDF SP
Comparing runtimes of
- EDF-test using dbf (pseudo-polynomial)
- SP-test based on Combinatorial Abstraction Refinement
Martin Stigge Combinatorial Abstraction Refinement 17
Evaluation: Tested vs. Total Combinations
100 101 102 103 104 105 106 107 108 109 1010 1011 1012 Total Combinations 100 101 102 103 104 Tested Combinations
UNSCHED SCHED
105 samples of single-job tests.
- Executed tests: in 99.9% of all cases, less than 100
- Total combinations possible: 1012 or more
Martin Stigge Combinatorial Abstraction Refinement 18
Summary and Outlook
- Solve coNP-hard problem
- Previously unsolved
- Efficient method
- Abstraction refinement
- General method
- Combinatorial problems
- Needs abstraction lattice
- Ongoing work:
- Response-Time Analysis (submitted)
- Apply to other problems
mrf rf 1 rf 2 rf 5 rf 3 rf 4
Martin Stigge Combinatorial Abstraction Refinement 19
Q & A Thanks!
Martin Stigge Combinatorial Abstraction Refinement 20