Improving the Performance of Periodic Real-time Processes: a Graph Theoretical Approach
Ton Boode Hajo Broersma Jan Broenink Faculty of Electrical Engineering, Mathematics and Computer Science, University of Twente, The Netherlands August 26, 2013
Improving the Performance of Periodic Real-time Processes: a Graph - - PowerPoint PPT Presentation
Improving the Performance of Periodic Real-time Processes: a Graph Theoretical Approach Ton Boode Hajo Broersma Jan Broenink Faculty of Electrical Engineering, Mathematics and Computer Science, University of Twente, The Netherlands August
Ton Boode Hajo Broersma Jan Broenink Faculty of Electrical Engineering, Mathematics and Computer Science, University of Twente, The Netherlands August 26, 2013
➓ Periodic real-time processes represented by graphs ➓
❧
➓
❛
➓
❞
➓
♥
➓ ➓ Performance of Periodic Real-time Processes 2/26
➓ Periodic real-time processes represented by graphs ➓ Cartesian product Hi❧Hj ➓
❛
➓
❞
➓
♥
➓ ➓ Performance of Periodic Real-time Processes 2/26
➓ Periodic real-time processes represented by graphs ➓ Cartesian product Hi❧Hj ➓ Weak synchronised product Hi ❛ Hj ➓
❞
➓
♥
➓ ➓ Performance of Periodic Real-time Processes 2/26
➓ Periodic real-time processes represented by graphs ➓ Cartesian product Hi❧Hj ➓ Weak synchronised product Hi ❛ Hj ➓ Reduced weak synchronised product Hi ❞ Hj ➓
♥
➓ ➓ Performance of Periodic Real-time Processes 2/26
➓ Periodic real-time processes represented by graphs ➓ Cartesian product Hi❧Hj ➓ Weak synchronised product Hi ❛ Hj ➓ Reduced weak synchronised product Hi ❞ Hj ➓ Synchronised product Hi ♥ Hj ➓ ➓ Performance of Periodic Real-time Processes 2/26
➓ Periodic real-time processes represented by graphs ➓ Cartesian product Hi❧Hj ➓ Weak synchronised product Hi ❛ Hj ➓ Reduced weak synchronised product Hi ❞ Hj ➓ Synchronised product Hi ♥ Hj ➓ Performance gain, necessary and sufficient conditions ➓ Performance of Periodic Real-time Processes 2/26
➓ Periodic real-time processes represented by graphs ➓ Cartesian product Hi❧Hj ➓ Weak synchronised product Hi ❛ Hj ➓ Reduced weak synchronised product Hi ❞ Hj ➓ Synchronised product Hi ♥ Hj ➓ Performance gain, necessary and sufficient conditions ➓ Future work Performance of Periodic Real-time Processes 2/26
OBJECT DISTANCE = read distance sensors → compute object distance → distance meas → SKIP ROBOT SPEED = distance meas → compute robot speed → robot speed → SKIP MOTOR SPEED = robot speed → compute motor speed → write motor speed setpoint → SKIP SEQUENCE CONTROL = (OBJECT DISTANCE
SEQUENCE CONTROL;
Performance of Periodic Real-time Processes 3/26
rs c m s wmss rds cod dm dm crs r s v1 v2 v3 v4 v9 v10 v11 v12 v8 v7 v6 v5 MS RS OD
+ +
SQ = asynchronous synchronous
Performance of Periodic Real-time Processes 4/26
MS = (V (H1), A(H1), {λ(a)|a P A(H1)}) = ({v1, v2, v3, v4}, {v1v2, v2v3, v3v4}, {(v1v2, rs), (v2v3, cms), (v3v4, wmss)}) RS = (V (H2), A(H2), {λ(a)|a P A(H2)}) = ({v5, v6, v7, v8}, {v5v6, v6v7, v7v8}, {(v5v6, dm), (v6v7, crs), (v7v8, rs)}) OD = (V (H3), A(H3), {λ(a)|a P A(H3)}) = ({v9, v10, v11, v12}, {v9v10, v10v11, v11v12, }, {(v9v10, rds), (v10v11, cod), (v11v12, dm)})
Performance of Periodic Real-time Processes 5/26
r s cms w m s s rds cod dm dm crs rs v1v5v9 v4v8v12 v4v8v9 v4v5v12 v1v5v12 v1v8v9 MS RS OD
Performance of Periodic Real-time Processes 6/26
rs c m s w m s s rds cod dm dm crs rs v1v5v9 v4v8v12 v4v8v9 v4v5v12 v1v5v12 v1v8v9 MS RS OD
Performance of Periodic Real-time Processes 7/26
rs c m s wmss rds cod dm dm crs rs v1v5v9 v4v8v12 v4v8v11 v4v7v12 v1v5v12 v1v8v11 MS RS OD
Performance of Periodic Real-time Processes 8/26
rs dm c m s w m s s rds cod d m crs v1v5v9 v4v8v12 v4v8v11 v4v7v12 v1v5v12 v1v8v11 rs Intermediate stage
Performance of Periodic Real-time Processes 9/26
rs c m s wmss rds cod dm crs v1v5v9 v4v8v12 v1v5v11 v2v8v12 MS RS OD v1v6v12 v1v7v12
Performance of Periodic Real-time Processes 10/26
⇒
a b b c b a b
H2 H1 H2 H1
c a c a
H1 + H2 + H3 H3 + H3
c b b b b
H ) 2 (H1 H3
a c c a b b b b
H 2 H1 H3
c c a a a a c c b b a b b
H2 H1 + H3
c a c
⇐ ⇒ ⇒
Performance of Periodic Real-time Processes 11/26
Lemma
Let Hi be an acyclic graph for i = 1, 2, . . . , k, where k ➙ 2. Then ℓ(♥Hi) = ℓ(H1) + ℓ(H2) + . . . + ℓ(Hk) if and only if every Hi has at least one longest path without synchronising arcs.
Performance of Periodic Real-time Processes 12/26
Lemma
Let Hi be an acyclic graph for i = 1, 2, . . . , k, where k ➙ 2. Then ℓ(♥Hi) ➔ ℓ(❞Hi) if there exists Hn, Hm, n ✘ m, 1 ↕ n, m ↕ k, such that each longest path in Hn, Hm, contains at least one same labelled synchronising arc.
Performance of Periodic Real-time Processes 13/26
Theorem
Let Hi be an acyclic graph for i = 1, 2, . . . , k, where k ➙ 2. Then ℓ(♥Hi) ➔ ℓ(❞Hi) if there exists Hn, Hm, n ✘ m, 1 ↕ n, m ↕ k, such that each longest path in Hn, contains at least one synchronising arc and there is at least one longest path with a same labelled synchronisation arc in Hm.
Performance of Periodic Real-time Processes 14/26
➓ Algorithms for optimising the performance gain ➓ ➓ ➓ ➓ ➓ ➓ ➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ ➓ ➓ ➓ ➓ ➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal
deadlines
➓ ➓ ➓ ➓ ➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal deadlines ➓ Memory usage ➓ ➓ ➓ ➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal deadlines ➓ Memory usage ➓ Synchronised product, associativity and commutativity ➓ ➓ ➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal deadlines ➓ Memory usage ➓ Synchronised product, associativity and commutativity ➓ Decomposition of a component into its prime factors ➓ ➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal deadlines ➓ Memory usage ➓ Synchronised product, associativity and commutativity ➓ Decomposition of a component into its prime factors ➓ Constraints for the prime factors of the synchronised
product
➓ ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal deadlines ➓ Memory usage ➓ Synchronised product, associativity and commutativity ➓ Decomposition of a component into its prime factors ➓ Constraints for the prime factors of the synchronised product ➓ Algorithm that calculates prime factors. ➓ Performance of Periodic Real-time Processes 15/26
➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential ➓ Scheduling of the synchronised product with internal deadlines ➓ Memory usage ➓ Synchronised product, associativity and commutativity ➓ Decomposition of a component into its prime factors ➓ Constraints for the prime factors of the synchronised product ➓ Algorithm that calculates prime factors. ➓ An example of the decomposition of a graph Performance of Periodic Real-time Processes 15/26
Performance of Periodic Real-time Processes 16/26
H=H1+H2+H3 H1 H3 H2 a b c c a b ?
Performance of Periodic Real-time Processes 17/26
H1 H2 H2 a b c c a b c b c a c c a b c b c a c c a b c b c a a b a b a b
Performance of Periodic Real-time Processes 18/26
H1 H2 H2 a b c c a b c b c a c c a c c a c c b c b c a b a b a b
Performance of Periodic Real-time Processes 19/26
H1 H2 H2 a b c c a b c b c a c c a c c a c c b c b c a b a b a b
Performance of Periodic Real-time Processes 20/26
intermediate stage (H1 H2 H2) b c a c a c b a
Performance of Periodic Real-time Processes 21/26
H ≠ H2 H3 b c a H1
Performance of Periodic Real-time Processes 22/26
Performance of Periodic Real-time Processes 23/26
time memory usage d m
Performance of Periodic Real-time Processes 24/26
Performance of Periodic Real-time Processes 25/26
Ton Boode Hajo Broersma Jan Broenink Faculty of Electrical Engineering, Mathematics and Computer Science, University of Twente, The Netherlands August 26, 2013