A Modular and Retargetable Framework for Tree-based WCET analysis Antoine Colin Isabelle Puaut IRISA - Solidor Rennes, France.

Slides:



Advertisements
Similar presentations
Approximation of the Worst-Case Execution Time Using Structural Analysis Matteo Corti and Thomas Gross Zürich.
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
Data-Flow Analysis II CS 671 March 13, CS 671 – Spring Data-Flow Analysis Gather conservative, approximate information about what a program.
EZ-COURSEWARE State-of-the-Art Teaching Tools From AMS Teaching Tomorrow’s Technology Today.
Modeling shared cache and bus in multi-core platforms for timing analysis Sudipta Chattopadhyay Abhik Roychoudhury Tulika Mitra.
1 Introduction to Data Flow Analysis. 2 Data Flow Analysis Construct representations for the structure of flow-of-data of programs based on the structure.
1 IIES 2008 Thomas Heinz (Saarland University, CR/AEA3) | 22/03/2008 | © Robert Bosch GmbH All rights reserved, also regarding any disposal, exploitation,
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Harini Ramaprasad, Frank Mueller North Carolina State University Center for Embedded Systems Research Tightening the Bounds on Feasible Preemption Points.
Constraint Systems used in Worst-Case Execution Time Analysis Andreas Ermedahl Dept. of Information Technology Uppsala University.
Performance Visualizations using XML Representations Presented by Kristof Beyls Yijun Yu Erik H. D’Hollander.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Oct. 8, 2003 Topic: Instruction-Level Parallelism (Dynamic Branch Prediction)
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon., Oct. 7, 2002 Topic: Instruction-Level Parallelism (Dynamic Branch Prediction)
Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip Alexandru Andrei Embedded Systems Laboratory Linköping University,
1 Intermediate representation Goals: –encode knowledge about the program –facilitate analysis –facilitate retargeting –facilitate optimization scanning.
Chair of Software Engineering Fundamentals of Program Analysis Dr. Manuel Oriol.
Csci4203/ece43631 Review Quiz. 1)It is less expensive 2)It is usually faster 3)Its average CPI is smaller 4)It allows a faster clock rate 5)It has a simpler.
1 COMP 740: Computer Architecture and Implementation Montek Singh Thu, Feb 19, 2009 Topic: Instruction-Level Parallelism III (Dynamic Branch Prediction)
Testing an individual module
CprE 458/558: Real-Time Systems
How to Improve Usability of WCET tools Dr.-Ing. Christian Ferdinand AbsInt Angewandte Informatik GmbH.
Predictable Implementation of Real-Time Applications on Multiprocessor Systems-on-Chip Alexandru Andrei, Petru Eles, Zebo Peng, Jakob Rosen Presented By:
Computer Science 12 Design Automation for Embedded Systems ECRTS 2011 Bus-Aware Multicore WCET Analysis through TDMA Offset Bounds Timon Kelter, Heiko.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
System/Software Testing
Pipelines for Future Architectures in Time Critical Embedded Systems By: R.Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C.Ferdinand EEL.
Optimization software for apeNEXT Max Lukyanov,  apeNEXT : a VLIW architecture  Optimization basics  Software optimizer for apeNEXT  Current.
ParaScale : Exploiting Parametric Timing Analysis for Real-Time Schedulers and Dynamic Voltage Scaling Sibin Mohan 1 Frank Mueller 1,William Hawkins 2,
WCET Analysis for a Java Processor Martin Schoeberl TU Vienna, Austria Rasmus Pedersen CBS, Denmark.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
1 Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis Yang Chang, Robert Davis and Andy Wellings Real-time Systems Research Group University.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Some practical issues.
Timing Analysis of Embedded Software for Speculative Processors Tulika Mitra Abhik Roychoudhury Xianfeng Li School of Computing National University of.
Super computers Parallel Processing By Lecturer: Aisha Dawood.
CS 211: Computer Architecture Lecture 6 Module 2 Exploiting Instruction Level Parallelism with Software Approaches Instructor: Morris Lancaster.
1 Optimizing compiler tools and building blocks project Alexander Drozdov, PhD Sergey Novikov, PhD.
Zheng Wu. Background Motivation Analysis Framework Intra-Core Cache Analysis Cache Conflict Analysis Optimization Techniques WCRT Analysis Experiment.
NC STATE UNIVERSITY 1 Feedback EDF Scheduling w/ Async. DVS Switching on the IBM Embedded PowerPC 405 LP Frank Mueller North Carolina State University,
F A S T Frequency-Aware Static Timing Analysis
A Unified WCET Analysis Framework for Multi-core Platforms Sudipta Chattopadhyay, Chong Lee Kee, Abhik Roychoudhury National University of Singapore Timon.
Harini Ramaprasad, Frank Mueller North Carolina State University Center for Embedded Systems Research Bounding Worst-Case Data Cache Behavior by Analytically.
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.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
SSQSA present and future Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics Faculty of Sciences University of Novi Sad
1 Control Flow Graphs. 2 Optimizations Code transformations to improve program –Mainly: improve execution time –Also: reduce program size Can be done.
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:
CSE 522 WCET Analysis Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
Page 1 Computer Architecture and Organization 55:035 Final Exam Review Spring 2011.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Timing Anomalies in Dynamically Scheduled Microprocessors Thomas Lundqvist, Per Stenstrom (RTSS ‘99) Presented by: Kaustubh S. Patil.
PINTOS: An Execution Phase Based Optimization and Simulation Tool) PINTOS: An Execution Phase Based Optimization and Simulation Tool) Wei Hsu, Jinpyo Kim,
CHaRy Software Synthesis for Hard Real-Time Systems
Worst-case Execution Time (WCET) Estimation
Advanced Architectures
Prof. Hsien-Hsin Sean Lee
Computer Architecture Principles Dr. Mike Frank
On Using Linearly Priced Timed Automata for Flow Analysis
CSCI1600: Embedded and Real Time Software
Improved schedulability on the ρVEX polymorphic VLIW processor
Peter Poplavko, Saddek Bensalem, Marius Bozga
Worst-Case Execution Time
rePLay: A Hardware Framework for Dynamic Optimization
Processor Pipelines and Static Worst-Case Execution Time Analysis
CSCI1600: Embedded and Real Time Software
Performance Evaluation of Real-Time Systems
Presentation transcript:

A Modular and Retargetable Framework for Tree-based WCET analysis Antoine Colin Isabelle Puaut IRISA - Solidor Rennes, France

ECRTS 2001, Delft, The Netherlands 2 Hard real time  Real time tasks must meet their deadlines  Hard real-time: critical applications  Deadline miss  catastrophic consequences  Scheduling algorithm  Must ensure that all tasks will meet their deadlines  Schedulability analysis (off-line)  Require information on scheduled task  WCET : worst case execution time

ECRTS 2001, Delft, The Netherlands 3 Estimating the WCET  Test and Measurement  How to exhibit the worst case behaviour of the program ?  Exhaustive testing: practically impossible è Unsafe  Static analysis  Safe, but pessimist  Mainly automatic  Requires the source code of the analysed programs  The programming language must be adapted:  restrictions: no indirect calls,...  annotations: loop bounds,... Unsafe estimates Exact WCET Overestimated WCETs MeasurementsStatic analysis

ECRTS 2001, Delft, The Netherlands 4 Static WCET analysis  The static analysis result  Should be a safe and tight estimate of the worst execution time  Depends on a specific hardware  Is provided for isolated code  The two levels of WCET analysis  High level analysis: statically determine the longest execution path in the program, and estimate the WCET along this path  Low level analysis: determine the execution time of basic blocks, taking hardware effects into account

ECRTS 2001, Delft, The Netherlands 5 High level: tree-based analysis  Requires well-structured programs  WCET calculation using a timing schema Loop [4] If BB 1 BB 2 BB 0 BB 5 BB 4 BB 3 Sequence BB 6 BB 7 int x,p=0,i=0; for(x=0;x<5;x++) { if(i%2) { p++; } else { i++; }} Assembly code BB 0 BB 1 BB 7... Basic blocks WCET(SEQ) WCET(S1) + … + WCET(Sn) S1;…;Sn WCET(IF) WCET(test) + if(test) max( WCET(then), WCET(else) ) then else WCET(LOOP) maxiter*(WCET(tst)+WCET(body)+WCET(inc)) for(;tst;inc) + WCET(test)+WCET(exit) {body} Timing schema Equation system

ECRTS 2001, Delft, The Netherlands 6 Low level: hardware effects  Goal: reducing the pessimism of the low level analysis  Pipeline effect: WCET(Basic Block) < WCET(instruction)  Cache and branch prediction effect: WCET(instruction) is variant, depending on the internal hardware state  Last decade  Various architectural features have been considered (Caches, Pipeline, Branch prediction, …)  Several methods proposed, and often designed independently è Leads to an integration issue  instruction  BB

ECRTS 2001, Delft, The Netherlands 7 Integration issue: the modular approach  Definition of modules  Modules are in charge of analysing architectural features effects  Co-operation through well defined interfaces  New WCET representation and extended timing schema  Retargetability  Changing modules in the framework  Using a new architecture description file

ECRTS 2001, Delft, The Netherlands 8 Salto : Assembly manipulation tool Assembly description file Modular and Retargetable static analysis framework Heptane Syntactic tree Control flow graph Source file WCET Maple.maple Front-end BB I-CacheBranch Pred. Pipeline WCET of BBs Extended Timing schema Modular parts Data Framework

ECRTS 2001, Delft, The Netherlands 9 Loop  Ln-levels are associated with loop constructs  ex: [ ], [0], [0.0], [0.1], [0.1.0], etc.  Partial order on ln-levels  Useful for characterising analysis results  Analysis results (events/estimates) depend on the considered ln-level  Ex: I-Cache conflict  (BB a,[0]) (BB b,[0.1.0])  BB b prefetch   Cache miss when loop [0] is executed, hit otherwise  (BB b -miss,[0]) : ln-level < [0] = hit, ln-level [0] = miss Loop nesting level information Loop Seq [ ] [0] [0.0] [0.1.0] [0.1]  

ECRTS 2001, Delft, The Netherlands 10 Instruction cache analysis  I-Cache analysis module Adaptation layer I-Cache Analysis Results adaptation Basic block I-Cache WCET information  Basic block -> Instruction blocks  Portion of basic block that fit exactly into a cache line (instructions and instruction fragments)  Allows to take into account various instruction sets  Existing I-Cache analysis technique  Example: static cache simulation  Iblock misses are expressed using ln-levels  Pair: (Iblock,miss-level)  I-Cache analysis result: a set of pairs

ECRTS 2001, Delft, The Netherlands 11 Branch prediction analysis  Similar to I-Cache module Adaptation layer Branch Pred. Analysis Results adaptation Basic block B.Pred. WCET information  Basic block -> Control Transfer Instructions  At most two branching possibilities at the end of the BB  Existing branch prediction analysis technique  Example: static BTB simulation [JRTS00]  Two miss-prediction levels (ln-level): jmp/seq

ECRTS 2001, Delft, The Netherlands 12 Pipeline analysis (1/2) Adaptation layer Pipeline simulation I-Cache WCET information I-Cache WCET information Representation of the WCET of basic blocks Branch Pred. WCET information  Use I-Cache and BTB analysis results  WCET info require adaptation  Ex: I-Blocks -> Instructions  Existing pipeline simulation technique  Reservation table, simulator,...  Inter/intra basic block effect  Results expressed using ln-levels  2 WCETs (jmp/seq) per ln-level

ECRTS 2001, Delft, The Netherlands 13  Incremental representation of the WCET  (1) basic WCET associated with the lowest ln-level of the basic block  (2) difference between WCET of subsequent ln-levels  One WCET representation per outgoing edge WCET seq (BB) = Pipeline analysis (2/2) [0.1.0]  15 [0.1]  15 [0]  17 [ ]  20 Pipeline analysis results WCET jmp (BB) = [0.1.0]  15 [0.1]  19 [0]  21 [ ]  24 Seqjmp

ECRTS 2001, Delft, The Netherlands =  One basic block  Two WCETs  select WCET seq /WCET jmp  Use sets of pairs : + and  are redefined  Operator : union of two sets of pair  Operator : M (wcet,ln-lev) = (M  wcet,L) if L ln-lev = (wcet,ln-lev) otherwise Adapted timing schema  L + L  L  [0] [ ] [0] Seq Loop [10] WCET Repr.

ECRTS 2001, Delft, The Netherlands 15 Conclusion and future work  Co-operation of several HW analysis techniques  Prototype configuration: Intel Pentium  Reduction of the pessimism of estimates  Analysis results: presentation on Friday, session 10  Future work  New modules:  ex: pipeline analysis (super-scalar, out of order execution)  Extend the framework to handle data caches,...  Retarget the analyser  Make the analyser available for community use  Further information: