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.

Slides:



Advertisements
Similar presentations
EE5900 Advanced Embedded System For Smart Infrastructure
Advertisements

Modern Processor Architectures Make WCET Analysis for HUME Challenging Christian Ferdinand AbsInt Angewandte Informatik GmbH.
Approximating the Worst-Case Execution Time of Soft Real-time Applications Matteo Corti.
Xianfeng Li Tulika Mitra Abhik Roychoudhury
- 1 -  P. Marwedel, Univ. Dortmund/Informatik 12 + ICD/ES, 2005 Universität Dortmund Memory-aware compilation enables fast, energy-efficient, timing predictable.
T IME -P REDICTABLE E XECUTION OF E MBEDDED S OFTWARE ON M ULTI - CORE P LATFORMS Sudipta Chattopadhyay under the guidance of A/P Abhik Roychoudhury 1.
Multicore Architecture for Critical Real-Time Embedded Systems Multicores in CRTEs: Critical Real-Time Embedded Systems (CRTESs) are in everyday life CRTESs.
Constraint Systems used in Worst-Case Execution Time Analysis Andreas Ermedahl Dept. of Information Technology Uppsala University.
1 Parker Factory Display – The Next Generation Next Generation:
Microarchitectural Approaches to Exceeding the Complexity Barrier © Eric Rotenberg 1 Microarchitectural Approaches to Exceeding the Complexity Barrier.
Off-The-Shelf Software Components in systems important to safety (EPR - European Pressurized water Reactor) Nguyen N.Q. THUY RESEARCH AND DEVELOPMENT DIVISION.
Timing Predictability - A Must for Avionics Systems - Reinhard Wilhelm Saarland University, Saarbrücken.
Eliminating Stack Overflow by Abstract Interpretation John Regehr Alastair Reid Kirk Webb University of Utah.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Vertically Integrated Analysis and Transformation for Embedded Software John Regehr University of Utah.
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip Alexandru Andrei Embedded Systems Laboratory Linköping University,
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Chapter 13 Embedded Systems
Software Testing and Reliability Testing Real-Time Systems Aditya P. Mathur Purdue University May 19-23, Corporation Minneapolis/St Paul,
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Dynamic Reconfiguration of Component-based Real-time Software Words February 2005 Sedona, Arizona, USA Andreas Rasche, Andreas Polze and Martin.
CprE 458/558: Real-Time Systems
Misconceptions About Real-time Computing : A Serious Problem for Next-generation Systems J. A. Stankovic, Misconceptions about Real-Time Computing: A Serious.
CprE 458/558: Real-Time Systems
How to Improve Usability of WCET tools Dr.-Ing. Christian Ferdinand AbsInt Angewandte Informatik GmbH.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
EMBEDDED SOFTWARE Team victorious Team Victorious.
1 Embedded Computer System Laboratory RTOS Modeling in Electronic System Level Design.
Computer Science 12 Design Automation for Embedded Systems ECRTS 2011 Bus-Aware Multicore WCET Analysis through TDMA Offset Bounds Timon Kelter, Heiko.
Chapter 1 Embedded And Real-Time System Department of Computer Science Hsu Hao Chen Professor Hsung-Pin Chang.
Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.
Low Contention Mapping of RT Tasks onto a TilePro 64 Core Processor 1 Background Introduction = why 2 Goal 3 What 4 How 5 Experimental Result 6 Advantage.
Pipelines for Future Architectures in Time Critical Embedded Systems By: R.Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C.Ferdinand EEL.
A Modular and Retargetable Framework for Tree-based WCET analysis Antoine Colin Isabelle Puaut IRISA - Solidor Rennes, France.
WCET Analysis for a Java Processor Martin Schoeberl TU Vienna, Austria Rasmus Pedersen CBS, Denmark.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Some practical issues.
Evaluation and Validation Peter Marwedel TU Dortmund, Informatik 12 Germany 2013 年 12 月 02 日 These slides use Microsoft clip arts. Microsoft copyright.
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Super computers Parallel Processing By Lecturer: Aisha Dawood.
Dtsi/Sol CEA System Software Activities 125/02/2005VD R&D topics Designing tools and system software for:  The management of parallelism Mono-processor.
The Global Limited Preemptive Earliest Deadline First Feasibility of Sporadic Real-time Tasks Abhilash Thekkilakattil, Sanjoy Baruah, Radu Dobrin and Sasikumar.
Zheng Wu. Background Motivation Analysis Framework Intra-Core Cache Analysis Cache Conflict Analysis Optimization Techniques WCRT Analysis Experiment.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Introduction to Real-Time Systems.
What is Software Engineering? The discipline of designing, creating, and maintaining software by applying technologies and practices from computer science,
(Static) Program Analysis 동아대학교 컴퓨터공학과 조장우. Motivation u 컴퓨터 기술자는 무엇을 해야 하는가 ? The production of reliable software, its maintenance, and safe evolution.
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
Harini Ramaprasad, Frank Mueller North Carolina State University Center for Embedded Systems Research Bounding Worst-Case Data Cache Behavior by Analytically.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Exploiting Instruction Streams To Prevent Intrusion Milena Milenkovic.
University of Michigan Electrical Engineering and Computer Science 1 Compiler-directed Synthesis of Multifunction Loop Accelerators Kevin Fan, Manjunath.
ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
Real-time aspects Bernhard Weirich Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time:
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CSE 522 WCET Analysis Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
This project and the research leading to these results has received funding from the European Community’s Seventh Framework Programme [FP7 / ]
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
Decisive Themes, July, JL-1 ARTEMIS Decisive Theme for Integrasys Pedro A. Ruiz Integrasys July, 2011.
CHaRy Software Synthesis for Hard Real-Time Systems
Real Time Operating System
CSCI1600: Embedded and Real Time Software
Evaluation and Validation
The Organizational Impacts on Software Quality and Defect Estimation
Mark McKelvin EE249 Embedded System Design December 03, 2002
CSCI1600: Embedded and Real Time Software
Performance Evaluation of Real-Time Systems
Presentation transcript:

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

2  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) Hard Real-Time Systems

3 The Timing Problem P r o b a b i l i t y Execution Time Best Case Execution Time Exact Worst Case Execution Time SafeWorst Case Execution Time Estimate Unsafe: Execution Time Measurement

4 Embedded Control Software  Tends to be large and complex  Much functionality  Code generator tools  3 rd party software  RTOS  communication libraries

5 The Timing Problem LOAD r2, _a LOAD r1, _b ADD r3,r2,r1 MPC 5xx (2000) PPC 755 (2001) x = a + b; 68K (1990)

6 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

7 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

8  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 A Solution to the Timing Problem

9 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)

10 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.

11 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  …