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 Schedulable? Martin Stigge Combinatorial Abstraction Refinement 2
Problem Overview Workload Model Scheduler Model High priority Medium priority A 2 A 3 B 2 EDF/Static Prio/... A 1 A 4 B 1 B 3 DRT Low priority C Our Setting: Task A t • DRT tasks Task B • Static Priorities t Schedulable? • 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 ( J i , J j ): minimum inter-release delays p ( J i , J j ) J 5 50 13 J 2 18 29 J 1 25 100 J 4 J 3 12 10 Martin Stigge Combinatorial Abstraction Refinement 3
DRT: Semantics � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � Martin Stigge Combinatorial Abstraction Refinement 4
DRT: Semantics � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � Path π = ( J 1 ) 10 6 t 0 10 Martin Stigge Combinatorial Abstraction Refinement 4
DRT: Semantics � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � Path π = ( J 1 , J 2 ) 10 25 6 5 t 0 10 13 38 13 Martin Stigge Combinatorial Abstraction Refinement 4
DRT: Semantics � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � Path π = ( J 1 , J 2 , J 3 ) 10 25 10 ... 6 5 1 t 0 10 13 38 44 54 13 � 29 Martin Stigge Combinatorial Abstraction Refinement 4
Complexity Results for DRT Schedulability EDF Static Priorities • Strongly coNP-hard • Pseudo-polynomial • Dbf-based analysis • Already for trees or cycles [RTAS 2011] [ECRTS 2012] • Equivalent to Feasibility • Efficient solution? Martin Stigge Combinatorial Abstraction Refinement 5
Complexity Results for DRT Schedulability EDF Static Priorities • Strongly coNP-hard • Pseudo-polynomial • Dbf-based analysis • Already for trees or cycles [RTAS 2011] [ECRTS 2012] • Equivalent to Feasibility • Efficient solution? Martin Stigge Combinatorial Abstraction Refinement 5
Fahrplan Problem Introduction 1 Digraph Real-Time Tasks Complexity Results Analysis Approach 2 Request Functions Rf-based Test Combinatorial Abstraction Refinement 3 Abstraction Trees Refinement Procedure Evaluation 4 Martin Stigge Combinatorial Abstraction Refinement 6
Fahrplan Problem Introduction 1 Digraph Real-Time Tasks Complexity Results Analysis Approach 2 Request Functions Rf-based Test Combinatorial Abstraction Refinement 3 Abstraction Trees Refinement Procedure Evaluation 4 Martin Stigge Combinatorial Abstraction Refinement 6
Testing the Scheduling Window High priority Medium priority Low priority A 2 B 2 A 3 C A 1 B 1 B 3 A 4 Is C schedulable? t Scheduling window of C Martin Stigge Combinatorial Abstraction Refinement 7
Testing the Scheduling Window High priority Medium priority Low priority A 2 B 2 B 2 A 3 C A 1 B 1 B 3 B 3 A 4 Is C schedulable? A 2 , B 1 A 1 B 3 A 3 A 2 B 2 A 1 B 3 A 3 t Scheduling window of C Martin Stigge Combinatorial Abstraction Refinement 7
Request Functions � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � rf ( t ) rf ( J 1 , J 2 , J 3 ) 12 10 8 6 4 2 0 t 0 5 10 15 20 25 30 35 40 45 50 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: � rf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + (1) T ∈ τ e ( J ) + � rf ( T ) ( t ) t Scheduling window d ( J ) 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: � rf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + (1) T ∈ τ e ( J ) + � rf ( T ) ( t ) t Scheduling window d ( J ) 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: � rf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + (1) T ∈ τ e ( J ) + � rf ( T ) ( t ) Problem: Naive test double exponential! t 1 Number of paths per task Scheduling window d ( J ) 2 Number of combinations Martin Stigge Combinatorial Abstraction Refinement 9
Request Functions: Domination � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � rf ( t ) rf ( J 1 , J 2 , J 3 ) 12 10 8 6 4 2 0 t 0 5 10 15 20 25 30 35 40 45 50 Martin Stigge Combinatorial Abstraction Refinement 10
Request Functions: Domination � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � rf ( t ) rf ( J 1 , J 2 , J 3 ) 12 10 rf ( J 3 , J 4 , J 2 ) 8 6 4 2 0 t 0 5 10 15 20 25 30 35 40 45 50 Martin Stigge Combinatorial Abstraction Refinement 10
Request Functions: Domination � 5 , 25 � � 10 , 50 � J 5 50 13 J 2 18 29 J 1 25 100 � 6 , 10 � J 4 J 3 12 10 � 2 , 12 � � 1 , 10 � rf ( t ) rf ( J 1 , J 2 , J 3 ) 12 10 rf ( J 3 , J 4 , J 2 ) 8 � 6 4 2 0 t 0 5 10 15 20 25 30 35 40 45 50 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: � rf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + (1) T ∈ τ 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: � mrf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + 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: � mrf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + T ∈ τ • Efficient : Only one test, no combinatorial explosion • Problem: Imprecise! rf ( t ) 10 � 2 , 5 � J 1 mrf 20 8 6 rf ( v 2 , v 1 ) 30 5 4 rf ( v 1 , v 2 ) 2 t 0 � 6 , 30 � J 2 50 0 2 4 6 8 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: � mrf ( T ) ( t ) � t . ∃ t � d ( J ) : e ( J ) + T ∈ τ • Efficient : Only one test, no combinatorial explosion • Problem: Imprecise! rf ( t ) 10 � 2 , 5 � J 1 mrf 20 8 How can we get efficiency and precision? 6 rf ( v 2 , v 1 ) 30 5 4 rf ( v 1 , v 2 ) 2 t 0 � 6 , 30 � J 2 50 0 2 4 6 8 Martin Stigge Combinatorial Abstraction Refinement 12
Abstraction Tree rf 1 rf 2 rf 5 rf 3 rf 4 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 5 rf 3 rf 4 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 5 rf 3 rf 4 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 5 rf 3 rf 4 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 mrf rf 1 rf 2 rf 5 rf 3 rf 4 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
Recommend
More recommend