54. Analysewerkzeuge für Worst-Case Execution Time (Attributanalyse) 54.1 AiT - Worst-Case Execution Time Analyzer. Obligatorische Literatur

Ähnliche Dokumente
33. Analysewerkzeuge. 1) Visualisierung von Graphen 1) VCG 2) AiSee 3) LogLin und CroCoCosmos 2) WCETA mit AiT Version ,

Sichere Zukunftsvorhersagen durch Modellierung und Approximation

32. Werkzeuge zur Visualisierung

Validierung des Zeitverhaltens von kritischer Echtzeit-Software

30. Parser-Generatoren

Ein Benchmarkgenerator zur Bewertung von WCET-Analysatoren

WCET Analyse. Florian Franzmann Tobias Klaus Peter Wägemann

Echtzeitsysteme. Übungen zur Vorlesung. Analyse von Ausführungszeiten

Abstrakte Interpretation (AbsInt)

Ausgewählte Kapitel eingebetteter Systeme

Inhaltsverzeichnis. Visualisierung von Ausführungstraces. 1. Motivation. 2. Anwendungsfelder. 3. Visualisierungstools. 4.

Immediate Priority Ceiling

Echtzeitsysteme. Zeitliche Analyse von Echtzeitanwendungen. Peter Ulbrich. 28. Oktober Lehrstuhl Informatik 4

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Ausführungszeitvorhersage

Ausführungszeiten. Worst-Case Execution-Time. Übung zur Vorlesung EZS. Zeitgeber Oszilloskop Diskussion

Compiler für f r Eingebettete Systeme (CfES)

Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze

Verfahren zur Bestimmung der Worst Case Execution Time (WCET)

Teil II Objektorientierte Programmierung (OOP) 20. Objektnetze

Echtzeitsysteme. Zeitliche Analyse von Echtzeitanwendungen. Peter Ulbrich

Effiziente Ressourcennutzung durch intelligente Übersetzer

Wie groß ist die Page Table?

TECHNISCHE UNIVERSITÄT DORTMUND FAKULTÄT FÜR INFORMATIK

Memory Models Frederik Zipp

UNIVERSITÄT DORTMUND FACHBEREICH INFORMATIK

Kapitel 1 Parallele Modelle Wie rechnet man parallel?

Cilk Sprache für Parallelprogrammierung. IPD Snelting, Lehrstuhl für Programmierparadigmen

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Ausführungszeitvorhersage. Dipl.-Inf. J. Richling M. Mergner Wintersemester 2003/2004

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme

Verlässliche Echtzeitsysteme

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Compiler für Eingebettete Systeme

Compiler für f r Eingebettete Systeme (CfES)

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

funktionale sicherheit

Umstellung auf neue Pipeline

IT Standort Saarland. Others made history, we make the future! IT Standort Saarland

Homogene Multi-Core-Prozessor-Architekturen

Rechnerarchitektur (RA)

Rechnerarchitektur (RA)

Neue Prozessor-Architekturen für Desktop-PC

Objektorientierte Analyse 36. Szenarienanalyse mit querschnittlichen Verfeinerungen: Beispiel EU-Rent

Arbeitsfolien - Teil 4 CISC und RISC

Compiler für Eingebettete Systeme

Multi-Port-Speichermanager für die Java-Plattform SHAP

Diplomarbeit Antrittsvortrag

Verlässliche Echtzeitsysteme

Lehrveranstaltung: PR Rechnerorganisation Blatt 8. Thomas Aichholzer

Instruktionen pro Takt

Vorstellung der SUN Rock-Architektur

Objektorientierte Analyse 37) Analysebeispiel EU-Rent

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Übungsunterlagen zur Übung Softwareeinwicklungswerkzeuge Übungseinheit ait

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK)

Just-In-Time-Compiler (2)

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Einführung Funktionsweise von BLAST Praxis? BLAST. David Dueck

Just-In-Time-Compiler (2)

Device Treiber für FlexPath- Netzwerkprozessoren

Die Sandy-Bridge Architektur

Schriftliche Prüfung

Software Maintenance. Anmerkung zu Program Slicing UNIV.-PROF. DIPL.-ING. DR. FRANZ WOTAWA

CPU. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

43. Dokumentationswerkzeuge

WCET-Analyse in Mehrkern- Systemen

Objektorientierte Analyse 36. Analysebeispiel EU-Rent

Technische Informatik - Eine Einführung

FORMALE SYSTEME. 10. Vorlesung: Grenzen regulärer Sprachen / Probleme für Automaten. TU Dresden, 14. November 2016.

Verlässliche Echtzeitsysteme

Übungsunterlagen zur Übung Softwareeinwicklungswerkzeuge Übungseinheit ait

Linux RT-Preempt Echtzeitkenngrößen ermitteln und testen. Embedded Testing 2017 Thomas Maierhofer Consulting

Objektorientierte Analyse

Hardware und Gerätetreiber

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Grundlagen der Rechnerarchitektur

Verlässliche Echtzeitsysteme

Effiziente Überwachung von Laufzeiteigenschaften in Soft- und Hardware

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Cell Broadband Engine & CellSs: ein Programmiermodel für den Cell Prozessor

Inhalt. Annäherung an das Nichtberechenbare - Statische Programmanalyse - Reinhard Wilhelm. Interessante Fragen über Programme

Klausur Informatik II

Sebastian Witte

, 2015W Übungsgruppen: Mo., Mi.,

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

Verlässliche Echtzeitsysteme

Echtzeit-Multitasking

Modellbasierte Software- Entwicklung eingebetteter Systeme

Vorbereitende Aufgaben

Echtzeit-Multitasking

72. Dokumentationswerkzeuge

Hinweise C-Programmierung

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

4.2 Verbesserung der Leistungsfähigkeit von Caches

Transkript:

54. Analysewerkzeuge für Worst-Case Execution Time (Attributanalyse) 2 Obligatorische Literatur Reinhold Heckmann, Christian Ferdinand. Worst-Case Execution Time Prediction by Static Program Analysis. AbsInt Angewandte Informatik GmbH. Science Park 1, D-66123 Saarbrücken, Germany, http://www.absint.com/ait_wcet.pdf 1 Prof. Dr. rer. nat. Uwe Aßmann 1) WCETA mit AiT www.sureal-projekt.de Institut für Software- und Multimediatechnik Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden http://st.inf.tu-dresden.de Version 12-1.0, 12.01.13 Softwareentwicklungswerkzeuge (SEW) Prof. Uwe Aßmann Was ist AiT? 54.1 AiT - Worst-Case Execution Time Analyzer 4 AiT ist ein Analysator für worst-case execution time (WCET) berechnet die längste Ausführungszeit eines Programmes, z.b. für Echtzeitsysteme 3 berechnet dazu für jedes Statement ein Attribut (Attributanalyse), wie lange es höchstens dauert bezieht eine Cache-Analyse und eine Pipeline-Analyse mit ein http://www.absint.com/ait/ AiT benutzt PAG und abstrakte Interpretation Binärdateien für bestmmte Echtzeitanwendung ait Worst Executon Time Softwareentwicklungswerkzeuge (SEW) Prof. Uwe Aßmann 3

Warum braucht man WCET? Schritte 5 Beispielanwendungen fly by wire Flugzeuge Airbagsysteme Motorsteuerung ABS-Steuerung brake by wire Probleme Komplexe Laufzeitbestmmung durch Caches und Pipelines Analysemethoden, die Caches und Pipelines ignorieren, liefern zu hohe Zeitschranken Ressourcenverschwendung Test- und Messverfahren unsicher, keine Garante der oberen Schranken möglich 6 1) Kontrollfluss-Analyse: Rekonstruktion des Kontrollflusses aus den ausführbaren Binärdateien des zu analysierenden Systems 2) Value-Analyse: Bestimmung von Schleifengrenzen und Berechnung von Adreßbereichen für Instruktionen, die auf den Speicher zugreifen 3) Cache-Analyse: Klassifizierung der Speicherzugriffe als Cache-Treffer oder Cache-Verfehlen 4) Pipeline-Analyse: Vorausberechnung des Verhaltens der Prozessor-Pipeline 5) Pfadanalyse: Bestimmung des Worst-Case-Ausführungspfades 12.01.13 5 http://www.absint.com/ait/analyse.htm Überblick Phasen-Struktur von AiT 7 8 void do_something() { sleeping(); eating(); while(drinking()) { drink_more(); } } ait Compiler à = @ aœ @,@ ;ÞKÿÿô;ÿ 12.01.13 7

Behandlung von Schleifen AiT Screenshot 9 10 Die folgenden Bilder sind aus http://www.absint.com/ait/galerie.htm 12.01.13 9 Präsentation einer WCET Berechnete Attribute 11 Interprozedurale Analyse 12 Unterscheidung von Aufrufkontexten

Schlechtester Pfad in Rot ait für ARM7 TDMI - Basisblock-Ansicht 13 14 sum #: Anzahl Durchläufe im schlimmsten Fall max t: die WCET des Basisblocks, von dem die Kante ausgeht. Für jede Instruktion kann die Menge aller möglichen Pipeline- Zustände visualisiert werden ait für MPC5xx: Visualisierung der Ergebnisse der Pipeline- Analyse ait für MPC5xx 15 Für eine einzige Instruktion: Jeder gelbe bzw. grüne Untergraph entspricht einem Pipeline-Zustand. Der in ait integrierte Graph-Browser aisee ermöglicht interaktives Erkunden von CPU- und CPU-Core-Zuständen an beliebigen Stellen im Graphen. 16 Visualisierung der Pipeline-Analyseergebnisse 1. Startzustand* 2. Zwischenzustand* 3. Endzustand* 4. Zustandsbeschreibung 5. Flash A 6. Flash B 7. Memory-Controller 8. L2U 9. Fetch 10. Dispatch 11. Execute 12. Write-back 13. Decode-Buffer 14. Prefetch-Queue 15. History-Queue

The End 17 Für fly-by-wire und andere sicherheitskritische Anwendungen ist WCETA notwendig Die Ergebnisse können zur Zertifizierung der Anwendungen eingesetzt werden (z.b. gegenüber dem TÜV)