Maximale Laufzeit

Die maximale Laufzeit oder maximale Ausführungszeit (englisch Worst Case Execution Time, WCET) gibt die längste Zeit an, die ein Computerprogramm oder Programmteil auf einer bestimmten Plattform zur Ausführung benötigen kann. Sie wird bestimmt durch:

Die Kenntnis der WCET oder zumindest einer sicheren oberen Schranke ist ein notwendiges Kriterium zur Implementierung eines harten Echtzeitsystems. Bei Echtzeitsystemen ist es sehr wichtig, das logisch richtige Ergebnis zu exakten Zeitpunkten zu erhalten. Nur kurze Verzögerungen könnten katastrophale Auswirkungen haben. Die wichtigsten Anwendungsgebiete für Echtzeitsysteme sind z. B. Autoairbagsteuerungen, Flugzeugsteuerungen, Steuerungen in Kraftwerken. Bei Autosteuerungen kann das verspätete Herausschleudern des Airbags tödliche Folgen für die Insassen des Kraftfahrzeuges haben. Daher ist es wichtig, dass Echtzeitsysteme das richtige Ergebnis in einer bestimmten Zeit bereitstellen.

Die Ausführungszeit

Grundsätzlich wird zwischen BCET (best case execution time) und WCET (worst case execution time) unterschieden. Die BCET ist die schnellste Ausführungsdauer, indem das Programm ein Ergebnis liefert, d. h. das Programm kann unter keinen Umständen schneller ausgeführt werden. Die WCET ist die längstmögliche Ausführungsdauer, in der der Programmcode ein Ergebnis bereitstellt.

Grundsätzliche Probleme der Laufzeitbestimmung

Theoretische Grenzen

Im allgemeinen Fall ist es unmöglich die maximale Ausführungszeit für ein beliebiges Programm zu bestimmen.

Um die maximale Ausführungszeit zu bestimmen, müsste man folgendes Problem lösen: Gegeben ist ein Programm P. Gesucht ist ein weiteres Programm WCET, das die maximale Ausführungszeit von P, also WCET(P), berechnet. Da alle jene Programme, die in eine Endlosschleife laufen, eine maximale Ausführungszeit haben, könnte man das Programm WCET benutzen, um zu entscheiden, ob das zugrundeliegende Programm überhaupt terminiert und somit das Halteproblem lösen. Das Halteproblem ist jedoch nachweislich unentscheidbar, somit kann es das Programm WCET nicht geben.

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

Praktische Probleme

Die Schedulingstrategien moderner Betriebssysteme verhindern eine zuverlässige Voraussage zu welchem Zeitpunkt ein Task dran kommt. Abhilfe schaffen hier Echtzeitbetriebssysteme oder Direktimplementierungen ohne Betriebssystemschicht.

Auf modernen Prozessorarchitekturen hängt die Ausführungszeit eines Tasks mitunter stark von dem Zustand des Prozessorcaches ab. Selbst bei Verwendung eines Echtzeitbetriebssystems kann es so zu Beeinflussungen zweier Tasks über den Cache kommen.

Methoden zur Bestimmung

Es gibt verschiedene Methoden die WCET zu berechnen, die sich allerdings nur durch Genauigkeit und Anwendbarkeit unterscheiden. Eine wichtige Bedeutung ist es, wie genau die WCET abgeschätzt werden kann. Die Methoden versuchen daher so nahe wie möglich an die wirkliche Ausführungszeit heranzukommen, das Ergebnis darf aber nie kleiner als die tatsächliche Ausführungszeit sein.

Eine Möglichkeit zur Abschätzung der WCET sind Messmethoden. Bei diesen Methoden wird durch verschiedenste Testläufe auf der Zielhardware die Zeit gemessen, welche der Code benötigt, um ein Ergebnis zu liefern. Diese Methode ist sehr aufwändig, da nie alle Zustände getestet werden können (Kombinatorische Explosion).

Bei der WCET-Analyse wird hingegen der längste Ausführungsweg ermittelt und die Ausführungszeit für eine bestimmte Zielhardware so errechnet.

Messbasierte Ansätze

Die messbasierten Ansätze führen statt einer Analyse des Codes das Programm einfach auf der Zielhardware aus und messen die Ausführungszeit. Messbasierte Ansätze führen jedoch im Allgemeinen zu einer Unterschätzung der WCET, da die Ausführungszeit von Programmen generell von den Eingabedaten abhängt. Durch Analyse des Sourcecodes können jedoch Eingabedatensätze erzeugt werden, welche alle Pfade des zu testenden Programms abdecken. Diese Methode vereinfacht zwar die Portierung einer Software, leidet aber ebenfalls unter komplexen Prozessorarchitekturen.

WCET-Analyse

Die WCET-Analyse berechnet den schlechtesten Fall der Ausführungszeit eines bestimmten Codes einer Anwendung, jedoch besteht keine Garantie der Richtigkeit der Ergebnisse des Codes. Weiter ist die WCET vom Programmcode und von der zugrundeliegenden Hardware abhängig, d. h. verschiedene Programmcodes haben auf verschiedenen Rechnerarchitekturen unterschiedliche Worst Case Execution Times. Daher sollte die Analyse immer mit den Hardwarekomponenten durchgeführt werden die auch das Zielsystem besitzt. Bei dieser Methode wird der Programmcode untersucht und der tatsächlich längste Ausführungsweg ermittelt. Dann addiert man die benötigten Prozessorzyklen aller im Pfad befindlichen Maschinencodebefehle und man erhält die WCET.

Probleme bei der WCET-Analyse

Es gibt drei Problemdomänen bei der WCET-Analyse. Einerseits das Herausfinden des auszuführenden Pfades, die Übersetzung des Sourcecodes in den Maschinencode und die Maschinencodeanalyse.

Bestimmung des auszuführenden Pfades (Programmfluss): Ein Problem der WCET-Analyse ist es, den längsten Weg bezüglich der Laufzeit des Sourcecodes herauszufinden. Ein gutes Beispiel dafür sind Schleifen, die nach Abhängigkeit der Eingabe eine andere Ausführungszeit benötigen. Hierbei muss jeder Eingabefall durchgespielt werden. Allerdings ist das bei komplexeren Systemen unmöglich, weil es zu viele verschiedene Eingabemöglichkeiten gibt.

Übersetzung vom Sourcecode in den Maschinencode: Wenn der Pfad bekannt ist, kann der Sourcecode in den Maschinencode übersetzt werden. Das Problem in diesem Fall ist, dass bei neuen Übersetzern sich auch der Programmfluss im Maschinencode ändert. Daraus folgt dann, dass der gefundene Programmfluss mit übersetzt werden muss, damit er mit dem Maschinencode übereinstimmt.

Maschinencodeanalyse: Die 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 der Cache wieder vom gesamten bis dahin ausgeführten Programm ab. Es kann somit nicht angenommen werden, dass kein Cache existiert. Des Weiteren können auch keine statischen Werte verwendet werden, da sonst die WCET zu ungenau werden würde.

Lösungsansätze der Probleme

Es gibt Lösungsansätze für jedes der drei Probleme, die bei der WCET-Analyse auftreten.

Programmflussanalyse: bei der Programmflussanalyse gibt es mehrere Lösungsansätze. Einer davon wäre, Programmiersprachen zu verwenden, die keinen unüberschaubaren Code erlauben, wie z. B. Rekursionen oder zeitlich unbegrenzt laufende Schleifen. Ein anderer Lösungsansatz wäre es, dem Programmierer im Sourcecode eine Möglichkeit zu geben, Informationen über den Sourcecode zu vermerken. Für diesen Vorschlag müsste jedoch ein spezieller Compiler entwickelt und verwendet werden. Falls man keine speziellen Compiler dafür verwenden will, kann der Programmierer auch seine Informationen außerhalb des Sourcecodes in einer Beschreibungssprache angeben. Eine Bestimmung der Ausführungszeit ist aber nur auf Maschinencodeebene möglich. Somit muss ein WCET-Analyse Tool eine Abbildung von Sourcecodeannotationen auf Maschinencode vornehmen, was nur unter genauer Kenntnis des Compilerverhaltens möglich ist. Dies erfordert eine enge Zusammenarbeit mit dem Analysetool- und Compilerhersteller.

Übersetzung vom Sourcecode in den Maschinencode: das größte Problem liegt jedoch in der Umwandlung des Programmflusses des Sourcecodes in den Programmfluss des Maschinencodes. Ein Lösungsansatz in diesem Fall wäre es, den Programmfluss erst im Maschinencode zu ermitteln. Dadurch fällt die Übersetzung weg. Jedoch ist diese Variante nur schwer lösbar, da der Maschinencode schwer lesbar ist. Die Qualität der WCET-Abschätzung leidet auch darunter, da genaue Informationen zur Ausführungszeit nur im Sourcecode vermerkt werden können.

Maschinencodeanalyse: Einer der sichersten Ansätze um die WCET zu ermitteln ist es, immer einen Cache-Miss anzunehmen, bis die Variable im Datencache steht. Bei der Maschinencodeanalyse wird die Zeit einzelner Befehle und die Beeinflussung anderer Befehle bestimmt. Meistens ist bekannt, wie lange ein Prozessor benötigt, um bestimmte Befehle abzuarbeiten.

Berechnungsmethoden

Die Berechnung der WCET erfolgt aus den Informationen aus Maschinencodeanalyse und Programmflussanalyse. Es gibt verschiedene Möglichkeiten, die WCET zu berechnen. Bei der pfadbasierenden Methode werden alle möglichen Pfade im Programm ermittelt und ihre Ausführungszeit berechnet. Danach wird das Maximum der Ausführungszeit ermittelt. Eine weitere Methode zur Berechnung der WCET ist die baumbasierende Methode. Hierbei wird das gesamte Programm durch einen Parse-Baum ersetzt. Dann wird zu jeder Gruppe von Befehlen eine Ausführungszeit ermittelt. Mit dieser Methode können Programmflussinformationen nur schwer eingebaut werden. Die letzte Methode verwendet einen Integer-Linear-Programm-Solver. Bei dieser Methode wird in jeder möglichen Programmverzweigung eine Integervariable angegeben. Diese Variable erfasst, wie oft der bestimmte Codeteil ausgeführt wurde. Die Zeit für einen bestimmten Pfad im Programm wurde durch die Maschinencodeanalyse ermittelt. Mit dieser Methode wird zusätzlich auch noch der längste Pfad ermittelt.

Liste von Maximale-Laufzeit-Analyse-Tools

  • RapiTime
  • Bound-T
  • aiT
  • OTAWA

Siehe auch

Literatur

  • Reinhard Wilhelm, Jakob Engblom, Andreas Ermedahl, Niklas Holsti, Stephan Thesing, David Whalley, Guillem Bernat, Christian Ferdinand, Reinhold Heckmann, Frank Mueller, Isabelle Puaut, Peter Puschner, Jan Staschulat, and Per Stenström: The Determination of Worst-Case Execution Times-Overview of the Methods and Survey of Tools. ACM Transactions on Embedded Computing Systems (TECS), 7(3), 2008.

Read other articles:

Perfilman Bollywood 1920-an 1920 1921 1922 1923 19241925 1926 1927 1928 1929 1930-an 1930 1931 1932 1933 19341935 1936 1937 1938 1939 1940-an 1940 1941 1942 1943 19441945 1946 1947 1948 1949 1950-an 1950 1951 1952 1953 19541955 1956 1957 1958 1959 1960-an 1960 1961 1962 1963 19641965 1966 1967 1968 1969 1970-an 1970 1971 1972 1973 19741975 1976 1977 1978 1979 1980-an 1980 1981 1982 1983 19841985 1986 1987 1988 1989 1990-an 1990 1991 1992 1993 19941995 1996 1997 1998 1999 2000-an 2000 2001 200...

 

Pangari adalah istilah dari tradisi gotong royong dalam bidang pertanian pada masyarakat Suku Dayak, khususnya yang berada di Kecamatan Simpang Hulu, kabupaten Ketapang, Kalimantan Barat. Tradisi Pangari dilakukan dengan cara saling bertukar jasa dalam bentuk tenaga pada saat kegiatan bertanam atau memanen. Contoh: Keluarga A akan memanen hasil pertaniannya, maka keluarga B dengan jumlah misalnya sepuluh orang akan membantu keluarga A tanpa diberikan imbalan. Nantinya, ketika giliran keluarga...

 

Ten artykuł dotyczy miasta w USA. Zobacz też: stan Waszyngton oraz inne znaczenia nazwy Waszyngton. Dystrykt KolumbiiDistrict of Columbia Pieczęć Flaga Państwo  Stany Zjednoczone Stan  Dystrykt Kolumbii Prawa miejskie 1790 Kod statystyczny FIPS: 50000 Burmistrz Muriel Bowser (D) Powierzchnia 177 km² Wysokość 0–125 m n.p.m. Populacja (2019)• liczba ludności• gęstość 705 749[1]4442 os./km² Nr kierunkowy 202 Kod pocztowy 20001-20098, 20201-20599 ...

العلاقات الإسبانية الماليزية إسبانيا ماليزيا   إسبانيا   ماليزيا تعديل مصدري - تعديل   العلاقات الإسبانية الماليزية هي العلاقات الثنائية التي تجمع بين إسبانيا وماليزيا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه ال...

 

BondowosoKecamatanNegara IndonesiaProvinsiJawa TimurKabupatenBondowosoPemerintahan • CamatYoyok Jalu Santoso, S.STP, MMLuas • Total22,97 km2 (8,87 sq mi)Populasi (2021)[1] • Total78.620 jiwa • Kepadatan3.423/km2 (8,870/sq mi)Kode pos68211 - 68219Kode Kemendagri35.11.11 Desa/kelurahan4 desa 7 kelurahan Pertemuan pamong praja di Bondowoso (1927) Kediaman resident Besuki di Bondowoso pada masa Hindia Belanda Ru...

 

Questa voce sull'argomento scrittori francesi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Françoise Dorin Françoise Dorin (Parigi, 23 gennaio 1928 – Courbevoie, 12 gennaio 2018) è stata un'attrice, drammaturga, scrittrice paroliera francese. Autrice di circa trenta opere teatrali e più di venticinque libri, compose numerosi testi di canzoni per vari artisti. Per le sue attività fu insignita ...

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

 

Guerra Segretaminiserie a fumetti Marvel Omnibus: Secret War Titolo orig.Secret War Lingua orig.inglese PaeseStati Uniti TestiBrian Michael Bendis DisegniGabriele Dell'Otto EditoreMarvel Comics 1ª edizionefebbraio 2004 – dicembre 2005 Periodicitàirregolare Albi5 (completa) Editore it.Panini Comics - Marvel Italia Collana 1ª ed. it.Marvel Mega nn.33-34, 36 1ª edizione it.marzo 2005 – maggio 2006 Period...

 

Visual cryptography is a cryptographic technique which allows visual information (pictures, text, etc.) to be encrypted in such a way that the decrypted information appears as a visual image. One of the best-known techniques has been credited to Moni Naor and Adi Shamir, who developed it in 1994.[1] They demonstrated a visual secret sharing scheme, where an image was broken up into n shares so that only someone with all n shares could decrypt the image, while any n − 1 shares reveal...

Raymond HattonHatton dalam Screenland, 1922Lahir(1887-07-07)7 Juli 1887Red Oak, Iowa, Amerika SerikatMeninggal21 Oktober 1971(1971-10-21) (umur 84)Palmdale, California, Amerika SerikatPekerjaanPemeranTahun aktif1909–1967Suami/istriFrances Hatton ​ ​(m. 1909; meninggal 1971)​ Hatton dan Esther Ralston dalam Fashions for Women (1927) Raymond William Hatton (7 Juli 1887 – 21 Oktober 1971) adalah seorang pemeran film Ame...

 

President of the United States from 1977 to 1981 James Earl Carter redirects here. For his father, see James Earl Carter Sr. For other uses, see Jimmy Carter (disambiguation). Jimmy CarterOfficial portrait, 197839th President of the United StatesIn officeJanuary 20, 1977 – January 20, 1981Vice PresidentWalter MondalePreceded byGerald FordSucceeded byRonald Reagan76th Governor of GeorgiaIn officeJanuary 12, 1971 – January 14, 1975LieutenantLester MaddoxPreceded by...

 

Nuclear power station in South Africa Koeberg Nuclear Power StationKoeburg Nuclear Power Station and its two pressurised light-water nuclear reactorsCountrySouth AfricaLocationWestern CapeCoordinates33°40′35.2″S 18°25′55.37″E / 33.676444°S 18.4320472°E / -33.676444; 18.4320472StatusOperationalConstruction began1976Commission date1984Owner(s)EskomOperator(s)EskomNuclear power station Reactor typePWRReactor supplierFramatomePower...

Comic book series Amazing X-MenCover art for Amazing X-Men #1.Art by Ed McGuinness.Publication informationPublisherMarvel ComicsFormat(vol. 1)Limited series(vol. 2)Ongoing seriesGenre Superhero Publication date(vol. 1)1995(vol. 2)2013-2015No. of issues(vol. 1)4(vol. 2)19Main character(s)Beast ColossusFirestarIcemanNightcrawlerNorthstarStormWolverineCreative teamWritten by(vol. 2)Jason Aaron (issues 1–6) Kathryn Immonen (issue 7) Chris Yost & Craig Kyle (issues 8-19)Artist(s)(vol. 2)Ed M...

 

Para otros usos de este término, véase Arcadia (desambiguación). ArcadiaΠεριφιερειακή Ενότητα Αρκαδίας Unidad periférica Localización de Arcadia en GreciaCoordenadas 37°29′37″N 22°21′21″E / 37.4936, 22.3559Capital TrípoliEntidad Unidad periférica • País  Grecia • Periferia  PeloponesoSuperficie   • Total 4419 km²Población (2005)   • Total 102 035 hab. • Densid...

 

Motor vehicle built by Sinclair-Scott in Maryland, United States (1907–1910) Motor vehicle Maryland1906 Ariel; early Maryland touring cars were technically identical to this.OverviewManufacturerSinclair-Scott CompanyProduction1907-1910AssemblyBaltimore, MarylandBody and chassisBody styleRoadsterTouring carLimousine (from 1908)Town car (from 1909)LayoutFront-engine, rear-wheel driveRelated1905-1907 ArielPowertrainEngineOverhead camshaft inline-four engineDimensionsWheelbase2,794.0 ...

Athletics at the1986 Commonwealth GamesTrack events100 mmenwomen200 mmenwomen400 mmenwomen800 mmenwomen1500 mmenwomen3000 mwomen5000 mmen10,000 mmenwomen100 m hurdleswomen110 m hurdlesmen400 m hurdlesmenwomen3000 msteeplechasemen4×100 m relaymenwomen4×400 m relaymenwomenRoad eventsMarathonmenwomen30 km walkmenField eventsHigh jumpmenwomenPole vaultmenLong jumpmenwomenTriple jumpmenShot putmenwomenDiscus throwmenwomenHammer throwmenJavelin throwmenwomenCombined eventsHeptathlonwomenDecathlo...

 

Depiction of violence in media This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Graphic violence – news · newspapers · books · scholar · JSTOR (April 2007) ...

 

Spyro 2: Season of FlamevideogiocoSpyro alla Mesa d'Inverno, terzo mondo da liberare alle Pianure CelestiPiattaformaGame Boy Advance Data di pubblicazione 25 settembre 2002 3 ottobre 2002 GenerePiattaforme TemaFantasy OrigineStati Uniti SviluppoDigital Eclipse PubblicazioneUniversal Interactive Studios, Nintendo MusicheRobert Baffy, Ed Cosico Modalità di giocoGiocatore singolo SupportoCartuccia Fascia di etàELSPA: 3+ · ESRB: E · OFLC (AU): G...

American neurologist and neuroscientist This article is about the neuroscientist. For the writer and mountaineer, see Jon Krakauer. John W. KrakauerKrakauer in 2015Alma materTrinity College, CambridgeColumbia University College of Physicians and SurgeonsKnown forMotor control and motor learning in stroke and stroke recoveryScientific careerFieldsNeurology, neuroscienceInstitutionsJohns Hopkins UniversityAcademic advisorsClaude Ghez, Eric Kandel John Krakauer is an American neurologi...

 

Альфа-частицаα, α2+, He2+ Альфа-частица Ядро изотопа Гелий-4 ( 2 4 H e 2 + {\displaystyle \textstyle {{}_{2}^{4}\mathrm {He} ^{2+}}} ) Химический элемент Гелий Состав 2 протона, 2 нейтрона Семья Бозон Магнитный момент 0 Электрический квадрупольный момент 0 Массовое число (барионное число) 4 Масса 3,727 379 4066(11) ГэВ...