compiler based extraction of event arrival functions for
play

Compiler-based Extraction of Event Arrival Functions for Real-Time - PowerPoint PPT Presentation

Compiler-based Extraction of Event Arrival Functions for Real-Time Systems Analysis Dominic Oehlert Selma Saidi Heiko Falk Institute of Embedded Systems Hamburg University of Technology firstname.surname@tuhh.de 30th Euromicro Conference on


  1. Compiler-based Extraction of Event Arrival Functions for Real-Time Systems Analysis Dominic Oehlert Selma Saidi Heiko Falk Institute of Embedded Systems Hamburg University of Technology firstname.surname@tuhh.de 30th Euromicro Conference on Real-Time Systems (ECRTS), 2018

  2. Motivation Background Evaluation Conclusion 1 / 20

  3. Motivation Background Evaluation Conclusion 1 / 20

  4. Motivation Background Evaluation Conclusion 2 / 20

  5. Motivation Background Evaluation Conclusion 2 / 20

  6. Motivation Background Evaluation Conclusion η + (∆ t ) η − (∆ t ) 40 30 Number of Events 20 10 0 0 200 400 600 800 1 , 000 1 , 200 1 , 400 1 , 600 1 , 800 2 , 000 2 , 200 2 , 400 2 , 600 2 , 800 3 , 000 ∆ t in Cycles 3 / 20

  7. Motivation Background Evaluation Conclusion 4 / 20

  8. Motivation Background Evaluation Conclusion 40 Number of Events 20 0 0 1 , 000 2 , 000 3 , 000 ∆ t in Cycles 4 / 20

  9. Motivation Background Evaluation Conclusion 40 Number of Events 20 0 0 1 , 000 2 , 000 3 , 000 ∆ t in Cycles 4 / 20

  10. Motivation Background Evaluation Conclusion 40 Number of Events 20 0 0 1 , 000 2 , 000 3 , 000 ∆ t in Cycles 4 / 20

  11. Motivation Background Evaluation Conclusion 3 2 1 0 0 5 10 15 20 0 5 10 15 20 25 t ∆ t 5 / 20

  12. Motivation Background Evaluation Conclusion 3 2 1 0 0 5 10 15 20 0 5 10 15 20 25 t ∆ t 5 / 20

  13. Motivation Background Evaluation Conclusion 40 int globalData[ 2 ] = -1, 1; volatile int comm; ? i n t main ( ) { Number of Events f o r ( i n t i = 0 ; i < 2 0 ; ++i ) { i f ( comm == 0 ) { globalData[ i % 2 ] = -1; 20 } } r e t u r n 0 ; } 0 0 500 1 , 000 1 , 500 2 , 000 2 , 500 3 , 000 ∆ t in Cycles 6 / 20

  14. Motivation Background Evaluation Conclusion 40 int globalData[ 2 ] = -1, 1; volatile int comm; ? i n t main ( ) { Number of Events f o r ( i n t i = 0 ; i < 2 0 ; ++i ) { i f ( comm == 0 ) { globalData[ i % 2 ] = -1; 20 } } r e t u r n 0 ; } 0 0 500 1 , 000 1 , 500 2 , 000 2 , 500 3 , 000 ∆ t in Cycles 6 / 20

  15. Motivation Background Evaluation Conclusion 40 int globalData[ 2 ] = -1, 1; volatile int comm; ? i n t main ( ) { Number of Events f o r ( i n t i = 0 ; i < 2 0 ; ++i ) { i f ( comm == 0 ) { globalData[ i % 2 ] = -1; 20 } } r e t u r n 0 ; } 0 0 500 1 , 000 1 , 500 2 , 000 2 , 500 3 , 000 ∆ t in Cycles 6 / 20

  16. Motivation Background Evaluation Conclusion Extracting Curves? • Capture traces ⇒ Potentially unsafe • Rely on specifications ⇒ Potentially overly pessimistic • Extraction based on the low-level representation 7 / 20

  17. Motivation Background Evaluation Conclusion Extracting Curves? • Capture traces ⇒ Potentially unsafe • Rely on specifications ⇒ Potentially overly pessimistic • Extraction based on the low-level representation 7 / 20

  18. Motivation Background Evaluation Conclusion Extracting Curves? • Capture traces ⇒ Potentially unsafe • Rely on specifications ⇒ Potentially overly pessimistic • Extraction based on the low-level representation 7 / 20

  19. Motivation Background Evaluation Conclusion Extracting Curves? • Capture traces ⇒ Potentially unsafe • Rely on specifications ⇒ Potentially overly pessimistic • Extraction based on the low-level representation 7 / 20

  20. Motivation Background Evaluation Conclusion Extracting Curves? • Capture traces ⇒ Potentially unsafe • Rely on specifications ⇒ Potentially overly pessimistic • Extraction based on the low-level representation 7 / 20

  21. Motivation Background Evaluation Conclusion 8 / 20

  22. Motivation Background Evaluation Conclusion 8 / 20

  23. Motivation Background Evaluation Conclusion 0 5 10 15 20 25 t 9 / 20

  24. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  25. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  26. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  27. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  28. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  29. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  30. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  31. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  32. Motivation Background Evaluation Conclusion A B E 0 10 20 30 40 50 60 70 t A C F G ... 0 20 40 60 80 t A C F H ... 0 20 40 60 80 t A C F G ... 0 20 40 60 80 t . . . 10 / 20

  33. Motivation Background Evaluation Conclusion Path Analysis for Arrival Functions • Explicit path analysis quickly becomes practically infeasible ⇒ Sliding window for all traces ⇒ Adapt path analysis techniques ⇒ Introduce granularity • Trade-off between precision and runtime 11 / 20

  34. Motivation Background Evaluation Conclusion Path Analysis for Arrival Functions • Explicit path analysis quickly becomes practically infeasible ⇒ Sliding window for all traces ⇒ Adapt path analysis techniques ⇒ Introduce granularity • Trade-off between precision and runtime 11 / 20

  35. Motivation Background Evaluation Conclusion Path Analysis for Arrival Functions • Explicit path analysis quickly becomes practically infeasible ⇒ Sliding window for all traces ⇒ Adapt path analysis techniques ⇒ Introduce granularity • Trade-off between precision and runtime 11 / 20

  36. Motivation Background Evaluation Conclusion Path Analysis for Arrival Functions • Explicit path analysis quickly becomes practically infeasible ⇒ Sliding window for all traces ⇒ Adapt path analysis techniques ⇒ Introduce granularity • Trade-off between precision and runtime 11 / 20

  37. Motivation Background Evaluation Conclusion Path Analysis for Arrival Functions • Explicit path analysis quickly becomes practically infeasible ⇒ Sliding window for all traces ⇒ Adapt path analysis techniques ⇒ Introduce granularity • Trade-off between precision and runtime 11 / 20

  38. Motivation Background Evaluation Conclusion Overview Motivation Background Evaluation Conclusion 11 / 20

  39. Motivation Background Evaluation Conclusion Overview Motivation Background Evaluation Conclusion 11 / 20

  40. Motivation Background Evaluation Conclusion Event Arrival Functions • Abstract notion of interfering events (e.g., task activations, shared memory accesses, ...) Definition Let η + i (∆ t ) and η − i (∆ t ) denote for each task i the maximum and minimum number of events issued within a time window of size ∆ t . Their pseudo-inverse counterparts δ + ( n ) and δ − ( n ) , return the maximum/minimum time interval between the first and the last event in any sequence of n event arrivals. 12 / 20

  41. Motivation Background Evaluation Conclusion Event Arrival Functions • Abstract notion of interfering events (e.g., task activations, shared memory accesses, ...) Definition Let η + i (∆ t ) and η − i (∆ t ) denote for each task i the maximum and minimum number of events issued within a time window of size ∆ t . Their pseudo-inverse counterparts δ + ( n ) and δ − ( n ) , return the maximum/minimum time interval between the first and the last event in any sequence of n event arrivals. 12 / 20

  42. Motivation Background Evaluation Conclusion Event Arrival Functions • Abstract notion of interfering events (e.g., task activations, shared memory accesses, ...) Definition Let η + i (∆ t ) and η − i (∆ t ) denote for each task i the maximum and minimum number of events issued within a time window of size ∆ t . Their pseudo-inverse counterparts δ + ( n ) and δ − ( n ) , return the maximum/minimum time interval between the first and the last event in any sequence of n event arrivals. 12 / 20

  43. Motivation Background Evaluation Conclusion Implicit Path Enumeration Technique • Describe all feasible paths by formulating an Integer Linear Program (ILP) [DAC95] • Enforcing complete path through a program using junction rules 13 / 20

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend