130 likes | 153 Views
Explore the advantages of using Static WCET Analysis over measurement-based methods for predicting Worst Case Execution Time in embedded control software to ensure tasks finish within reliable time bounds. Learn how this approach can save development time, increase safety, and improve system usability. Contact info@AbsInt.com for more information.
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