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
❧ ➓ ❛ ➓ ❞ ➓ ♥ ➓ ➓ ➓ Overview ➓ Periodic real-time processes represented by graphs Performance of Periodic Real-time Processes 2/26
❛ ➓ ❞ ➓ ♥ ➓ ➓ ➓ Overview ➓ Periodic real-time processes represented by graphs ➓ Cartesian product H i ❧ H j Performance of Periodic Real-time Processes 2/26
❞ ➓ ♥ ➓ ➓ ➓ Overview ➓ Periodic real-time processes represented by graphs ➓ Cartesian product H i ❧ H j ➓ Weak synchronised product H i ❛ H j Performance of Periodic Real-time Processes 2/26
♥ ➓ ➓ ➓ Overview ➓ Periodic real-time processes represented by graphs ➓ Cartesian product H i ❧ H j ➓ Weak synchronised product H i ❛ H j ➓ Reduced weak synchronised product H i ❞ H j Performance of Periodic Real-time Processes 2/26
➓ ➓ Overview ➓ Periodic real-time processes represented by graphs ➓ Cartesian product H i ❧ H j ➓ Weak synchronised product H i ❛ H j ➓ Reduced weak synchronised product H i ❞ H j ➓ Synchronised product H i ♥ H j Performance of Periodic Real-time Processes 2/26
➓ Overview ➓ Periodic real-time processes represented by graphs ➓ Cartesian product H i ❧ H j ➓ Weak synchronised product H i ❛ H j ➓ Reduced weak synchronised product H i ❞ H j ➓ Synchronised product H i ♥ H j ➓ Performance gain, necessary and sufficient conditions Performance of Periodic Real-time Processes 2/26
Overview ➓ Periodic real-time processes represented by graphs ➓ Cartesian product H i ❧ H j ➓ Weak synchronised product H i ❛ H j ➓ Reduced weak synchronised product H i ❞ H j ➓ Synchronised product H i ♥ H j ➓ Performance gain, necessary and sufficient conditions ➓ Future work Performance of Periodic Real-time Processes 2/26
Parallel processes represented by graphs 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 � ROBOT SPEED � MOTOR SPEED); SEQUENCE CONTROL; Performance of Periodic Real-time Processes 3/26
Parallel processes represented by graphs v 9 v 10 v 11 v 12 rds cod dm v 1 rs v 2 dm v 5 s m c crs v 6 v 3 wmss s v 7 r v 4 v 8 asynchronous + + SQ = MS RS OD synchronous Performance of Periodic Real-time Processes 4/26
Parallel processes represented by graphs MS = ( V ( H 1 ) , A ( H 1 ) , { λ ( a ) | a P A ( H 1 ) } ) = ( { v 1 , v 2 , v 3 , v 4 } , { v 1 v 2 , v 2 v 3 , v 3 v 4 } , { ( v 1 v 2 , rs ) , ( v 2 v 3 , cms ) , ( v 3 v 4 , wmss ) } ) RS = ( V ( H 2 ) , A ( H 2 ) , { λ ( a ) | a P A ( H 2 ) } ) = ( { v 5 , v 6 , v 7 , v 8 } , { v 5 v 6 , v 6 v 7 , v 7 v 8 } , { ( v 5 v 6 , dm ) , ( v 6 v 7 , crs ) , ( v 7 v 8 , rs ) } ) OD = ( V ( H 3 ) , A ( H 3 ) , { λ ( a ) | a P A ( H 3 ) } ) = ( { v 9 , v 10 , v 11 , v 12 } , { v 9 v 10 , v 10 v 11 , v 11 v 12 , } , { ( v 9 v 10 , rds ) , ( v 10 v 11 , cod ) , ( v 11 v 12 , dm ) } ) Performance of Periodic Real-time Processes 5/26
Cartesian product v 1 v 5 v 9 rds v 1 v 5 v 12 cod dm dm s r crs rs cms v 1 v 8 v 9 s s m w v 4 v 5 v 12 v 4 v 8 v 9 v 4 v 8 v 12 RS OD MS Performance of Periodic Real-time Processes 6/26
Weak synchronised product v 1 v 5 v 9 rds v 1 v 5 v 12 cod dm dm rs crs rs s m v 1 v 8 v 9 c s s m w v 4 v 5 v 12 v 4 v 8 v 9 v 4 v 8 v 12 RS OD MS Performance of Periodic Real-time Processes 7/26
Reduced weak synchronised product v 1 v 5 v 9 v 1 v 5 v 12 rds cod dm dm crs rs v 1 v 8 v 11 rs s m c wmss v 4 v 7 v 12 v 4 v 8 v 11 v 4 v 8 v 12 MS RS OD Performance of Periodic Real-time Processes 8/26
Synchronised product intermediate stage v 1 v 5 v 9 rds cod v 1 v 5 v 12 m d dm crs v 1 v 8 v 11 rs rs s m c s s m w v 4 v 7 v 12 v 4 v 8 v 11 v 4 v 8 v 12 Intermediate stage Performance of Periodic Real-time Processes 9/26
Synchronised product v 1 v 5 v 9 rds cod v 1 v 5 v 11 dm crs v 1 v 6 v 12 v 1 v 7 v 12 rs v 2 v 8 v 12 s m c wmss v 4 v 8 v 12 MS RS OD Performance of Periodic Real-time Processes 10/26
Multi dimensional pathological example a a H3 c c a b a b b H2 b ⇒ a ⇒ c c H1 H1 H2 + H3 H1 + H2 + H3 c a b a b b b a a a ⇒ c a H1 H2 + H3 c ⇐ a c b b c b b b b b b c c c (H1 H ) H3 H1 H H3 2 2 Performance of Periodic Real-time Processes 11/26
Lemma 5 Lemma Let H i be an acyclic graph for i = 1 , 2 , . . . , k, where k ➙ 2 . Then ℓ ( ♥ H i ) = ℓ ( H 1 ) + ℓ ( H 2 ) + . . . + ℓ ( H k ) if and only if every H i has at least one longest path without synchronising arcs. Performance of Periodic Real-time Processes 12/26
Lemma 6 Lemma Let H i be an acyclic graph for i = 1 , 2 , . . . , k, where k ➙ 2 . Then ℓ ( ♥ H i ) ➔ ℓ ( ❞ H i ) if there exists H n , H m , n ✘ m , 1 ↕ n , m ↕ k, such that each longest path in H n , H m , contains at least one same labelled synchronising arc. Performance of Periodic Real-time Processes 13/26
Theorem 1 Theorem Let H i be an acyclic graph for i = 1 , 2 , . . . , k, where k ➙ 2 . Then ℓ ( ♥ H i ) ➔ ℓ ( ❞ H i ) if there exists H n , H m , n ✘ m , 1 ↕ n , m ↕ k, such that each longest path in H n , contains at least one synchronising arc and there is at least one longest path with a same labelled synchronisation arc in H m . Performance of Periodic Real-time Processes 14/26
➓ ➓ ➓ ➓ ➓ ➓ ➓ ➓ Future work ➓ Algorithms for optimising the performance gain Performance of Periodic Real-time Processes 15/26
➓ ➓ ➓ ➓ ➓ ➓ ➓ Future work ➓ Algorithms for optimising the performance gain ➓ The number of longest paths in a graph is exponential Performance of Periodic Real-time Processes 15/26
➓ ➓ ➓ ➓ ➓ ➓ Future work ➓ 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
➓ ➓ ➓ ➓ ➓ Future work ➓ 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
➓ ➓ ➓ ➓ Future work ➓ 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
➓ ➓ ➓ Future work ➓ 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
➓ ➓ Future work ➓ 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
➓ Future work ➓ 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
Future work ➓ 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
Decomposition of the original graph into its prime factors c a b H Performance of Periodic Real-time Processes 16/26
Decomposition of the original graph into its prime factors c H 2 b a c H 3 H 1 b a ? H=H 1 + H 2 +H 3 Performance of Periodic Real-time Processes 17/26
Decomposition of the original graph into its prime factors c a c c b b c b c b a a c c b b b c b a c a a a c c b c a b a a H 1 H 2 H 2 Performance of Periodic Real-time Processes 18/26
Recommend
More recommend