Schedulability Analysis of Synchronous Digraph Real-Time Tasks - - PowerPoint PPT Presentation
Schedulability Analysis of Synchronous Digraph Real-Time Tasks - - PowerPoint PPT Presentation
Schedulability Analysis of Synchronous Digraph Real-Time Tasks Morteza Mohaqeqi, Jakaria Abdullah, Nan Guan, Wang Yi Uppsala University ECRTS 2016 Introduction Real-Time Task Models: Digraph (DRT) recurring branching (RB) non-cyclic GMF
Introduction
Real-Time Task Models:
Liu & Layland sporadic multiframe (MF) generalized MF (GMF) non-cyclic GMF recurring branching (RB) Digraph (DRT)
Synchronous Digraph Real-Time Tasks
- 1/18 -
Mohaqeqi, Abdullah, Guan and Yi
Introduction
Real-Time Task Models:
Liu & Layland sporadic multiframe (MF) generalized MF (GMF) non-cyclic GMF recurring branching (RB) Digraph (DRT)
Proposed by M. Stigge et al. (2011) Real-time tasks with different job types
v5 v6 v7 30 9 10 8
Synchronous Digraph Real-Time Tasks
- 1/18 -
Mohaqeqi, Abdullah, Guan and Yi
The Digraph Real-Time (DRT) Task Model
Job Types
- WCET
- Relative deadline
Conditional flow (Branch)
v1 v2 v3 v4 4, 15 1, 10 2, 5 1, 20 minimum inter-release WCET, deadline 15 40 20 25 10
Synchronous Digraph Real-Time Tasks
- 2/18 -
Mohaqeqi, Abdullah, Guan and Yi
The Digraph Real-Time (DRT) Task Model
Job Types
- WCET
- Relative deadline
Conditional flow (Branch)
v1 v2 v3 v4 4, 15 1, 10 2, 5 1, 20 minimum inter-release WCET, deadline 15 40 20 25 10
t
5 10 15 20 25 30 35 40 45 50 55 60
v1 v2 v4 v3
Synchronous Digraph Real-Time Tasks
- 2/18 -
Mohaqeqi, Abdullah, Guan and Yi
The Digraph Real-Time (DRT) Task Model
Job Types
- WCET
- Relative deadline
Conditional flow (Branch)
v1 v2 v3 v4 4, 15 1, 10 2, 5 1, 20 minimum inter-release WCET, deadline 15 40 20 25 10
t
5 10 15 20 25 30 35 40 45 50 55 60
v1 v2 v4 v3 t
5 10 15 20 25 30 35 40 45 50 55 60
v1 v2 v1
Synchronous Digraph Real-Time Tasks
- 2/18 -
Mohaqeqi, Abdullah, Guan and Yi
Outline
1
A Review on DRT
2
Synchronous DRT
3
Schedulability Analysis
4
Conclusion
Synchronous Digraph Real-Time Tasks
- 3/18 -
Mohaqeqi, Abdullah, Guan and Yi
Synchronous DRT
Synchronized Release
Synchronous Digraph Real-Time Tasks
- 4/18 -
Mohaqeqi, Abdullah, Guan and Yi
Semantics
v1 v2 v3 v4 4 1 1 2 s1 15 40 25 25 10 Task T1: v5 v6 v7 2 1 1 s1 20 9 10 8 Task T2:
Synchronous Digraph Real-Time Tasks
- 5/18 -
Mohaqeqi, Abdullah, Guan and Yi
Semantics
v1 v2 v3 v4 4 1 1 2 s1 15 40 25 25 10 Task T1: v5 v6 v7 2 1 1 s1 20 9 10 8 Task T2:
t
5 10 15 20 25 30 35 40
t
5 10 15 20 25 30 35 40
T1 T2 v1 v2 v3 v5 v6
blocked
Synchronous Digraph Real-Time Tasks
- 5/18 -
Mohaqeqi, Abdullah, Guan and Yi
Overview
Assumptions
Uniprocessor Preemptive scheduling Fixed priority
Synchronous Digraph Real-Time Tasks
- 6/18 -
Mohaqeqi, Abdullah, Guan and Yi
Overview
Assumptions
Uniprocessor Preemptive scheduling Fixed priority
Contributions
Schedulability analysis Heuristics for better efficiency
Synchronous Digraph Real-Time Tasks
- 6/18 -
Mohaqeqi, Abdullah, Guan and Yi
Outline
1
A Review on DRT
2
Synchronous DRT
3
Schedulability Analysis
4
Conclusion
Synchronous Digraph Real-Time Tasks
- 7/18 -
Mohaqeqi, Abdullah, Guan and Yi
DRT Schedulability
v1 v2 v3 1 2 1 15 9 10 8
t
5 10 15 20 25 30 35
v1 v2 v3 v3
DRT Schedulability
v1 v2 v3 1 2 1 15 9 10 8
t
5 10 15 20 25 30 35
v1 v2 v3 v3 Request Function t rf (t)
Synchronous Digraph Real-Time Tasks
- 8/18 -
Mohaqeqi, Abdullah, Guan and Yi
DRT Schedulability Condition
Notation: A set of tasks τ = {T1, T2, . . . , Tn} πi : A path in Ti’s graph
Synchronous Digraph Real-Time Tasks
- 9/18 -
Mohaqeqi, Abdullah, Guan and Yi
DRT Schedulability Condition
Notation: A set of tasks τ = {T1, T2, . . . , Tn} πi : A path in Ti’s graph
Theorem (Stigge 2013)
A job with WCET “e” and relative deadline “d” is schedulable under a set of higher priority tasks τ if and only if for all (π1, . . . , πn) ∈ Π(τ): ∃t ≤ d : e +
- Ti∈τ
rf πi(t) ≤ t (1)
Synchronous Digraph Real-Time Tasks
- 9/18 -
Mohaqeqi, Abdullah, Guan and Yi
DRT Schedulability Condition
Notation: A set of tasks τ = {T1, T2, . . . , Tn} πi : A path in Ti’s graph
Theorem (Stigge 2013)
A job with WCET “e” and relative deadline “d” is schedulable under a set of higher priority tasks τ if and only if for all (π1, . . . , πn) ∈ Π(τ): ∃t ≤ d : e +
- Ti∈τ
rf πi(t) ≤ t (1) rf πi(t) could be derived independently.
Synchronous Digraph Real-Time Tasks
- 9/18 -
Mohaqeqi, Abdullah, Guan and Yi
SDRT Schedulability
v1 v2 v3 1 2 1 15 9 10 8 s1
t
5 10 15 20 25 30 35
v1 v2 v3 v3 t rf (t) s1
Synchronous Digraph Real-Time Tasks
- 10/18 -
Mohaqeqi, Abdullah, Guan and Yi
Alignment
v1 v2 v3 v4 4 1 1 2 s1 15 40 25 25 10 Task T1: v5 v6 v7 2 1 1 s1 20 9 10 8 Task T2:
5 10 15 20 25 30 35 40
T2
5 10 15 20 25 30 35 40
T1 v1 v2 v3 v5 v6
Alignment
5 10 15 20 25 30 35 40 5 10 15 20 25 30 35 40
v1 v2 v3 v5 v6
Unsynchronized
rf 1 s1 rf 2 s1
Alignment
5 10 15 20 25 30 35 40 5 10 15 20 25 30 35 40
v1 v2 v3 v5 v6
5 10 15 20 25 30 35 40 5 10 15 20 25 30 35 40
v1 v2 v3 v5 v6
blocked Unsynchronized Synchronized (Aligned)
rf 1 s1 rf 2 s1 rf 1 s1 rf 2 s1
SDRT Schedulability Condition
τ = {T1, T2, . . . , Tn} πi : A path in Ti’s graph
Theorem
A job with WCET “e” and relative deadline “d” is schedulable under a set of tasks τ if and only if for all π = (π1, . . . , πn) ∈ Π(τ), ∀R ∈ RF π: ∃t ≤ d : e +
- rf i∈Synch(R)
Ti∈τhp
rf i(t) ≤ t
Synchronous Digraph Real-Time Tasks
- 13/18 -
Mohaqeqi, Abdullah, Guan and Yi
SDRT Schedulability Condition
τ = {T1, T2, . . . , Tn} πi : A path in Ti’s graph
Theorem
A job with WCET “e” and relative deadline “d” is schedulable under a set of tasks τ if and only if for all π = (π1, . . . , πn) ∈ Π(τ), ∀R ∈ RF π: ∃t ≤ d : e +
- rf i∈Synch(R)
Ti∈τhp
rf i(t) ≤ t
Efficient Exploration
Removing dominated request function Search using an “abstraction and refinement” approach
Synchronous Digraph Real-Time Tasks
- 13/18 -
Mohaqeqi, Abdullah, Guan and Yi
Experiments: Analysis Efficiency
10 20 30 40 5 10 15 Number of Total Actions (Utilization = 0.5) Run-Time (seconds)
Experiments: Analysis Efficiency
10 20 30 40 5 10 15 Number of Total Actions (Utilization = 0.5) Run-Time (seconds) 10 20 30 40 5 10 15 Number of Total Actions (Utilization = 0.7) Run-Time (seconds)
v1 v2 v3 s1 s2 v4 v5 v6 s1 s2 Step 1 Over-approx.
v1 v2 v3 v4 v5 v6
Under-approx.
v1 v2 v3 v4 v5 v6
Synchronous Digraph Real-Time Tasks
- 15/18 -
Mohaqeqi, Abdullah, Guan and Yi
v1 v2 v3 s1 s2 v4 v5 v6 s1 s2 refinement level
1 2 3 ... n
under-approx.
- ver-approx.
τ
Step 1 Step 2 Over-approx.
v1 v2 v3 v4 v5 v6 v1 v2 v3 s1 v4 v5 v6 s1
Under-approx.
v1 v2 v3 v4 v5 v6 v1 v2 v3 s1 v4 v5 v6 s1
Synchronous Digraph Real-Time Tasks
- 15/18 -
Mohaqeqi, Abdullah, Guan and Yi
Experiments
10 20 30 40 5 10 15 Number of Total Actions (Utilization = 0.5) Run-Time (seconds) Without abstraction and refinement With abstraction and refinement 10 20 30 40 5 10 15 Number of Total Actions (Utilization = 0.7) Run-Time (seconds) Without abstraction and refinement With abstraction and refinement
Outline
1
A Review on DRT
2
Synchronous DRT
3
Schedulability Analysis
4
Conclusion
Synchronous Digraph Real-Time Tasks
- 17/18 -
Mohaqeqi, Abdullah, Guan and Yi
Conclusion and Future Work
SDRT as an extension of DRT
Expressiveness
perodic sporadi . . . DRT SDRT Timed Automata
Synchronous Digraph Real-Time Tasks
- 18/18 -
Mohaqeqi, Abdullah, Guan and Yi
Conclusion and Future Work
SDRT as an extension of DRT
Expressiveness
perodic sporadi . . . DRT SDRT Timed Automata Multicore Scheduling
- Task-level paritioning
- Job-level paritioning
Synchronous Digraph Real-Time Tasks
- 18/18 -
Mohaqeqi, Abdullah, Guan and Yi
Schedulability Analysis of Synchronous Digraph Real-Time Tasks
Morteza Mohaqeqi, Jakaria Abdullah, Nan Guan, Wang Yi Uppsala University ECRTS 2016
Thanks!
Appendix
Request Function Dominance Abstraction and Refinement Experiment Setting Experiments: Path Combinations (RF Dominance) Experiments: Acceptance Ratio Why Synchronized Release? Multirate Tasks Critical Instant SDRT vs. DAG
Experiment Settings
Table: Task set parameters Task Type Small Medium Large Vertices [3, 5] [5, 9] [7, 13] Branching degree [1, 3] [1, 4] [1, 5] p [50, 100] [100, 200] [200, 400] e [1, 2] [1, 4] [1, 8] d [25, 100] [50, 200] [100, 400]
Number of Path Combinations
Number of path combinations that should be considered in schedulability analysis
1.00E+00 1.00E+06 1.00E+12 1.00E+18 1.00E+24 1.00E+30 1.00E+36 1.00E+42 1.00E+48 1.00E+54 1.00E+60 1.00E+66 0.2 0.4 0.6 0.8 1 Total combinations Utilization
Total combinations SDRT Dominance (3n actions) SDRT Dominance (n actions) SDRT Dominance (No action)
Schedulability Analysis Results
Schedulability analysis results for different number of synchronizations
Acceptance Ratio Tested Combinations Util. No act. n act. 3n act. No act. n act. 3n act. 0.35 1 1 1 37 37 37 0.4 1 1 1 52 52 52 0.45 1 1 1 70 70 70 0.5 0.94 0.96 0.96 116 165 14768 0.55 0.6 0.77 0.85 154 218 46694 0.6 0.1 0.19 0.26 225 392 59114 0.65 0.05 178 372 19167
Why Execution-Independent Synchronization?
Separation of Computation and Communication
- More predictability
Why Execution-Independent Synchronization?
Separation of Computation and Communication
- More predictability
Ada’s Rendezvous mechanism Fixed input/output instants
SDRT Modeling Usage
Engine control tasks (Davis-2014, Biondi-2014) Multirate controllers
Rate-dependent behaviour
f1 f2 f3 s1 p1 p2 p3 v1 v2 s1 p4 p5
SDRT Modeling Usage
Engine control tasks (Davis-2014, Biondi-2014) Multirate controllers
Rate-dependent behaviour
f1 f1 f2 f3 s1 p1 p2 p3 v1 v1 v2 s1 p4 p5
SDRT Modeling Usage
Engine control tasks (Davis-2014, Biondi-2014) Multirate controllers
Rate-dependent behaviour
f2 f1 f2 f3 s1 p1 p2 p3 v2 v1 v2 s1 p4 p5
Request Function Dominance
t rf (t)
1 2 3 4 5 6 7 8 1 2 3 4 5
rf 2 s rf 1 s ts t′
s
t rf (t)
1 2 3 4 5 6 7 8 1 2 3 4 5
rf 2 s rf 1
Lemma
A request function rf 1 dominates a request function rf 2 if:
1
∀t : rf 1(t) ≥ rf 2(t),
2
rf 1 and rf 2 contain the same sequence of actions, and
3
(ASrf1 is empty) or (ts ≤ t′
s and rf 1(ts) ≥ rf 2(t′ s) and rf ′ 1 dominates rf ′ 2), where
(s, ts) = ASrf 1[0], (s, t′
s) = ASrf 2[0], and rf ′ 1 and rf ′ 2 are obtained by
Align_and_Pop(rf 1, rf 2, s).
Abstraction and Refinement
Abstraction:
t rf (t)
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
rf 1 rf 2
Abstraction and Refinement
Abstraction:
t rf (t)
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
rf 1 ⊔ rf 2 rf 1 rf 2
Abstraction and Refinement
Abstraction: Refinement:
t rf (t)
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6
rf 1 ⊔ rf 2 rf 1 rf 2
The most abstract request function Concrete request functions
Critical (Scheduling) Instant
v1 v2 1, 1 1, 5 1 5 s1 T1 v3 1, 3 3 T2 J 1, 3 3, s1 T3 v1 v2 v1 v2 v3 v3 v3 v3 t
1 2 3 4
J deadline miss
- f J
The critical instant for J is not necessarily when all the tasks are released simultaneously with J.
Future Work
Broadcast synchronization Critical instant for the general case
References
[Stigge-2013] M. Stigge and W. Yi, “Combinatorial abstraction refinement for feasibility analysis,” Real-Time Systems Symposium (RTSS), 2013. [Sun-2016] J. Sun, N. Guan, Y. Wang, Q. Deng, P. Zeng, and W. Yi, “Feasibility of fork- join real-time task graph models: hardness and algorithms,” ACM Trans. Embed.
- Comput. Syst. (TECS) 2016.