Maximale Laufzeit

Die Maximale Laufzeit oder eine maximale Ausführungszeit ( englisch Worst Case Execution Time, WCET ) Gibt sterben längste Zeit ein, sterben ein Computeranwendungen oder Programmteil Auf einer Plattform zur Ausführung Bestimmt Benoth zu scannen. Sie wird bestimmt durch:

  • die Programmlogik ( Kontrollflussgraph ),
  • Eingabedaten (Auswirkungen auf Schleifendurchlaufzahlen usw.),
  • der Compiler (Optimierungsstufe) und
  • sterben Architektur und Taktfrequenz Dezember Ausführungsrechners (Ausführungsgeschwindigkeit unter Berücksichtigung von Cache – und Pipelining Der Effekt).

Die kenntnis wo WCET oder zumindest Wacholder Sicherer Oberer Schrank ist ein Kriterium zur Notwendig Implementierung eines Hartes Echtzeitsystem . Bei Echtzeitsystemen ist es sehr wichtig, logisch orientiertes Ergebnis zu exakten Zeitpunkten zu erhalten. Nur kurze Verzögerungen können katastrophale Auswirkungen haben. Die gewichtigsten Anwendungsgebiete für Echtzeitsysteme sind z. B. Autoairbagsteuerungen, Flugzeugsteuerungen, Steuerungen in Kraftwerken. Bei Auto Steuer Kind Kann das verspätete Herausschleudern Dezember Airbags tödliche Folgen für Insassen Dezember Kraftfahrzeuge Haben sterben. Es ist wichtig, dass Echtzeitsysteme das Gericht Ergebnis in einer bestimmten Zeit.

Die Ausführungszeit

Gründetlich wird zwischen BCET (worst case Ausführungszeit) und WCET (worst case Ausführungszeit) unterschieden. Die BCET ist sterben Schnellste Ausführungsdauer INDEMAR das Programm ein Plan Ergebnis liefert, d. H. Das Programm Kann unter umständen Keinen schneller ausgeführt Werden. Das WCET ist das längste Team der Ausführungsdauer in dem Programmcode ein Ergebnis erbracht.

Grundsätzliche Probleme der Laufzeitbestimmung

Theoretische Grenzen

Im Allgemeinen ist es möglich, die Maksimal-Laufzeit für ein beliebiges Programm zu bestimmen.

Um sterben Maximale Ausführungszeit zu bestimmen, Müssen anhaftendes Problem Losungswort: gegeben ist ein Programm P. Gesucht sind ein weiteres Programm WCET, das stirbt Maximale Ausführungszeit von P, auch WCET (P), berechnet. Wenn all deine Programme, die am Ende deines Lebens stehen, deine maximale Ausführungszeit haben{\ displaystyle \ infty}Haben, Könnte man das Programm WCET Benutzen, um zu Entscheidende, ob die zugrundeliegenden Anwendungen überhaupt terminiert und SOMIT das Problem HALTEN Piloten. Dieses Problem ist genauso wichtig wie du. WCET nicht geben.

Eine Obergrenze der WCET kann für eine relevante Untermenge aller möglichen Programme werden.

Praktische Probleme

The Scheduling Strategies Moderne Betriebssysteme verbietet eine zuverlässige Vorausschau zu einem Zeitpunkt. Abhilfe, um hier zu kaufen Echtzeitbetriebssysteme oder Direktimplementationen ohne Betriebssystemsystem.

Auf den modernen Prozessorarchitekturen wurde die Ausführungszeit eines Tasks von der stärksten von ihnen gehalten. Selbst bei Verwendung eines Echtzeitbetriebssystems kann es zu Aufgaben zwei Aufgaben über den Cache kommen.

Methoden der Bestimmung

Es gibt verschiedene Methoden, die WCET berechnen, was völlig anders ist als Genoakeit und Anwendbarkeit unterscheiden. Diese gewichtige Bedeutung ist es, deren Genialität abgeschätzt werden konnte. Diese Methoden sind so schlecht, dass diejenigen, die die Ausführungszeit vortäuschen und anbeten, keinen Fortschritt machen, wie die tatsächliche Ausführungszeit sagt.

Eine Möglichkeit zur Abschattung der WCET sind Messmethoden. Bei diesem Verfahren wird Testläufe auf der Zielhardware die Zeit gemeistert, Code wird geändert, um ein Ergebnis zu liefern. Diese Methode ist nicht gut, da nicht alle Schwestern Können ( Combinatorial Explosion ) getestet haben .

Die WCET-Analyse wurde am längsten durchgeführt.

Messbasierte Ansätze

The message basiers Ansätze führen statt a code of the the control of the Target hardware aus und Messen die Ausführungszeit. Messbasierte Ansagen führen im Allgemeinen zu einer Unterschätzung der WCET, als die Ausführungszeit des Programms General des Eingabedates abhängt. Durch Analyse von Quellcodes können alle eingabedatensätzezezezeze werden, welke alle Programme des zu testenden Programms abdecken. Diese Methode des Investierens in Portierung einer Software hat aberebenfalls unterkomplexen Prozessorarchitekturen geführt.

WCET-Analyse [ Verarbeitung | Quelltextverarbeitung ]

Die WCET-Analyse berechnet die Tests des Falles der Ausführungszeit eines bestimmten Codes, jede Garantie der Richtung der Ergebnisse des Codes. Dies ist das WCET des Programmcodes und der Programmierleitfaden, Hardware ist spätestens verfügbar, Programmcodes sind spätestens verfügbar. Daher sollte der Analyzer mit Hardware-Komponenten durchgeführt werden, wie das Echtzeitsystem. Bei dieser Methode wird der Programmcode geändert und der tatsächlich längste Ausführungsweg ermittelt. Es hat lange gedauert, bis der Programmcode erstellt wurde, hinzugefügt zu der Maschinencodebefehle, die von Prozessorzyklen und man in WCET benutzt wurde.

Probleme mit der WCET-Analyse [ Verarbeitung | Quelltextverarbeitung ]

Bitte drehen Sie die Problemdomäne auf die WCET-Analyse. Das ist der Quellcode des Maschinencodes und der Maschinencode-Analyse.

Bestimmung des auszuführenden Pfades (Programmfluss): Ein Problem bei der WCET-Analyse ist der längste Weg, die Laufzeit des Quellcodes herauszufinden. Ein gutes Beispiel hierfür sind Schleifen, die sich der Abhängigkeit der Eingabe und anderer Ausführungszeit nähern. Beide waren jeder Einäbefall betrunken. Allerding is er bei complexe systems unmögliche, da es zu viele verschwindende Eingabemöglichkeiten gibt.

Übersetzung vom Quellcode im Maschinencode: Wenn der Pfad mit dem Quellcode im Maschinencode vertraut ist, wird übersetzt. Ihr Problem in diesem Fall, ich bin mir sicher, dass Sie den Programmfluss im Maschinencode ändern können. Daraus folgt die Formation, es gibt Programme.

Maschinencodeanalyse: De Dauer der Ausführung ist auch von der Verwendeten Hardware abhängig. Der Cache und die Befehlspipelines bestimmen den Zustand der Hardware. Dabei hängt es sich an Cache vom gesamten bis dahin ausgeführten Programm ab. Es mag keine Cousins ​​gegeben haben, dass kein Cache existiert. Sie wurden vor bösartigen Statuen gewarnt, als die WCET noch nicht vollendet war.

Lösungsansätze der Probleme

Das Problem basiert auf den Problemen, die bei der WCET-Analyse aufgetreten sind.

Programmflussanalyse:bei der Programmflussanalyse gibt es mehrere Lösungsansätze. Einer davon wäre, programmiersprachen zu verwegen, keinen unüberschaubaren Code zuzulassen, wie z. B. Rekursionen oder zeitlich unbegrenzt laufenden Schleifen. Ein weiterer Lösungsansatz, der im Quellcode eine Möglichkeit zu geben, Informationen über den Quellcode zu verken. Für diesen Beitrag wurde jeder ein spezieller Compiler entwickelt und verwöhnt. Falls man keine spezifischen Compiler dafür benötigt, kann Programmierer auch seine Informationen außerhalb des Quellcodes in einer Beschreibungssprache angeben. Eine Bestimmung der Ausführungszeit ist aber nur auf Maschinencodeebene möglich. Somit muss ein WCET-Analysis Tool eine Abbildung von Sourcecodeannotations auf Maschinencode durchführen, war nur unterer Kenntnissen desCompilerverhalten ist möglich. Deshalb ist es eine Weile wert, und es ist das Analysewerkzeug und die Compiler-Werkstatt wert.

Übersetzung vom Quellcode im Maschinencode: Das größte Problem liegt in der Umwandlung des Programmflusses des Quellcodes in den Programmfluss des Maschinencodes. Ein Lösungsansatz in diesem Fall ware, der Programmfluss erst im Maschinencode zu ermitteln. Papa stirbt die Übersetzung weg. Jedem ist diese Variante nur schwer løsbaar, da der Maschinencode schwer lesbar ist. Die Qualität der WCET-Abschattung führte auch dazu, wie sich Informationen zur Ausführungszeit nur im Quellcode bemerkten können.

Maschinencodeanalyse: Einer der häufigsten Antworten auf die WCET zu erhalten ist, immer eine Cache-Miss an die Variable im Datencache steht. Bei der Maschinencodeanalyse wird die Zeit einzelne Befehle und Beeinflussung anders festgelegt. Meistens ist wie ein Prozessor benuiwd naar bestimmte bestimmte abzuarbieten.

Berechnungmetoden

Die Berechnung der WCET folgt den Informationen der Maschinencode Analyse und Programmablaufanalyse. Es gibt verschiedene Möglichkeiten, die WCET zu berechnen. Bei der Pfadbasierenden Methode wurden alle Pfade im Programm Objekte ermittelt und ihre Ausführungszeit berechnet. Wird das Maximum der Ausführungszeit ermittelt. Eine weitere Methode ist die WCET-Methode. Hier finden Sie das Programm Durch einen Parse-Baum ersetzt. Dann wird zu einer Gruppe von Befehlen eine Ausführungszeit ermittelt. Meine dieser Methode können Programmflussinformationen nur schwer eingebaut werden. Die Letzte Methode verwöhnte Integer-Linear-Programm Solver. Bei dieser Methode wird in jeder Programmierverzweigung eine Integervariable angegeben. Diese Variable bestimmt, Die trugen oft den Codeteil ausgeführt. Die Zeit für einen bestimmten Pfad im Programm wurde durch die Maschinencodeanalyse ermittelt. Meine dieser Methode wird zusätzlich auch noch die längste Pfad ermittelt.

Liste von Maximale Laufzeit-Analyse-Tools

  • RapiTime
  • Bound-T
  • AIT
  • Otawa

Siehe auch

  • Komplexitätstheorie
  • Landau Notation
  • Zeitkomplexität

Literatur

  • Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Frank Müller, Isabelle Puaut, Peter Puschnig, Jan Staschulat und Per Stenström: Die Bestimmung des Worst-Case Execution Times-Überblick über die Methoden und Überblick über Tools. ACM-Transaktionen auf eingebetteten Computersystemen (TECS), 7 (3), 2008.

Weblinks

  • Heiko Falk: Der WCET-bewusste C-Compiler WCC . Infos über das Forschungsgebiet und die Aktivität an der TU Dortmund