120 likes | 330 Views
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis Is your program always fast enough? Christian Ferdinand AbsInt Angewandte Informatik GmbH. Hard Real-Time Systems.
E N D
Static WCET Analysis vs. Measurement: What is the Right Way to Assess Real-Time Task Timing? Worst Case Execution Time Prediction by Static Program Analysis Is your program always fast enough? Christian Ferdinand AbsInt Angewandte Informatik GmbH
Hard Real-Time Systems • Controllers in planes, cars, plants, … are expected to finish their tasks within reliable time bounds. • Schedulability analysis must be performed • Hence, it is essential that an upper bound on the execution times of all tasks is known • Commonly called the Worst-Case Execution Time (WCET)
The Timing Problem y t i l i b a b Unsafe: Safe Worst Case o r P Execution Time Execution Time Best Case Measurement Estimate Execution Time Exact Worst Case Execution Time Execution Time
Embedded Control Software • Tends to be large and complex • Much functionality • Code generator tools • 3rd party software • RTOS • communication libraries
LOAD r2, _a LOAD r1, _b ADD r3,r2,r1 The Timing Problem x = a + b; MPC 5xx (2000) 68K (1990) PPC 755 (2001)
Some Architectural Features that make Measurement-Based WCET Analysis a Challenge • The empty cache is not necessarily the “worst case cache” • “Domino” effects • A cache miss is not necessarily the worst case
Solution: Static WCET Analysis • The WCET analyzer computes safe upper bounds of the execution times of the tasks in a program for all inputs • Static program analysis based on Abstract Interpretation • The analysis design is proven to be correct
aiT WCET AnalyzerA Solution to the Timing Problem • Combines global program analysis by abstract interpretation for cache, pipeline, and value analysis with integer linear programming for path analysis in a single intuitive GUI.
aiT WCET Analyzer Advantages • aiT WCET analyzer allows you to: • inspect the timing behavior of (timing critical parts of) your code • The analysis results • are determined without the need to change the code • hold for all inputs and all executions (for the intrinsic cache and pipeline behavior)
Conclusion • Static WCET analysis enables development of complex hard real-time systems on state-of-the-art hardware. • Increases safety. • Saves development time. • Usability proven in industrial practice.
When to Use Runtime Measurements? • Offline: • To validate the pipeline model wrt. the real hardware • Online (e.g., in the scheduler): • To monitor the correct working (detect hardware failures, …) • To improve the exploitation of resources • …
email: info@AbsInt.com http://www.AbsInt.com