WWW.ABSTRACT.XLIBX.INFO
FREE ELECTRONIC LIBRARY - Abstract, dissertation, book
 
<< HOME
CONTACTS



Pages:   || 2 | 3 | 4 | 5 |   ...   | 9 |

«Multikriterielle Exploration von Compileroptimierungen und Cacheparametern Diplomarbeit 21. Februar 2011 INTERNE BERICHTE INTERNAL REPORTS Lehrstuhl ...»

-- [ Page 1 ] --

TECHNISCHE UNIVERSITÄT

DORTMUND

FAKULTÄT FÜR INFORMATIK

Arthur Pyka

Multikriterielle Exploration von

Compileroptimierungen und

Cacheparametern

Diplomarbeit

21. Februar 2011

INTERNE BERICHTE

INTERNAL REPORTS

Lehrstuhl Informatik XII

(Technische Informatik und Eingebettete Systeme)

Gutachter:

Prof. Dr. Peter Marwedel Dipl-Inform. Sascha Plazar GERMANY · D-44221 DORTMUND Ich danke allen voran meinem Betreuer Sascha Plazar, der mit viel Engagement und Geduld die Entstehung dieser Arbeit begleitet hat und mir eine unschätzbare Hilfe war.

Danken möchte ich auch meiner Freundin und meinen Freunden, die besonders in der letzten Phase viel Verständnis für meine lange Arbeitszeit gezeigt haben.

Zuletzt gilt ein großer Dank meiner Familie, die mich während meines Studium unterstützt und mir so manche Brücke gebaut hat.

Inhaltsverzeichnis 1 Einleitung 7

1.1 Ziele der Diplomarbeit............................. 8

1.2 Verwandte Arbeiten.............................. 9

1.3 Aufbau der Diplomarbeit........................... 10 2 Grundlagen und technischer Rahmen 11

2.1 ARM7TDMI Plattform............................ 11

2.2 Cachespeicher.................................. 12 2.2.1 Cachegröße............................... 13 2.2.2 Cachezeilengröße............................ 13 2.2.3 Assoziativität.............................. 14

2.3 WCC (WCET-aware C Compiler)....................... 15 2.3.1 Aufbau des WCC............................ 16 2.3.2 WCET Analyse............................. 17 2.3.3 ACET Profiling............................. 18 2.3.4 Energie Profiling............................ 18 2.3.5 Benchmarks...............

–  –  –

1 Einleitung Eingebettete Systeme (ES) durchdringen unser Leben in einer erstaunlichen Tiefe und bleiben dabei oft unbemerkt, in vielen Fällen sogar unsichtbar. Sie sind in größere Produkte integriert und verbergen sich unscheinbar hinter deren Funktionalität. Die Menschen tragen sie in Mobiltelefonen mit sich, fahren sie in Autos durch die Gegend und sind privat und im Beruf vielfach auf sie angewiesen, ohne sich dessen immer bewusst zu sein. Dabei stellt die Verbreitung eingebetteter Systeme die normaler Desktop PCs seit langem in den Schatten. All das macht ES zu einem spannenden und anspruchsvollen Gebiet wissenschaftlicher Forschung, das besondere Herausforderungen mit sich bringt.

Eingebettete Systeme unterscheiden sich vielfach von herkömmlichen Desktop-Systemen.

Als Teil eines speziellen Produktes, sollten sie möglichst klein und kostengünstig produziert werden können. Das schlägt sich in einer beschränkten Rechenkapazität und geringem verfügbaren Speicherplatz nieder. Bei mobilen Geräten, die über eine Batterie betrieben werden, muss der begrenzten Energiequelle Rechnung getragen werden. Zusätzlich stellt die Einhaltung von harten und weichen Echtzeitanforderungen eine Herausforderung dar. Diese Besonderheiten müssen bei der Entwicklung von Hardware und Software für eingebettete Systeme berücksichtigt werden.

Software für eingebettete Systeme muss verschiedenen Anforderungen genügen. Neben einem geringen Energieverbrauch und einer geringen Codegröße, spielt die Laufzeit eine entscheidende Rolle. Die durchschnittliche Laufzeit (Average Case Execution Time

- ACET ) muss in einem für die Funktion des Systems angemessenen Rahmen liegen.

Die maximale Ausführungszeit (Worst Case Execution Time - WCET ) darf die (harten) Echtzeitschranken nicht überschreiten.

Bei der Einhaltung dieser speziellen Anforderungen spielen Compiler eine herausragende Rolle. Bei der Übersetzung von Quellcode in den Maschinencode bieten sich zahlreiche Ansätze für Optimierungen, die unterschiedliche Auswirkungen auf den Code haben. Der Wunsch eines Entwicklers mag es sein, nach allen erwähnten Kriterien(Laufzeit, Codegröße, Energie) zu optimieren, um den Anforderungen an das System am besten zu genügen.

Jedoch wirken sich die Compileroptimierungen nicht gleichermaßen auf alle Kriterien aus.

Eine Verringerung der Laufzeit hat manchmal eine höhere Codegröße zur Folge, während weniger Codegröße nicht unbedingt weniger Energieverbrauch bedeutet. In der Realität muss ein Kompromiss gefunden werden, also eine Auswahl von Optimierungen die den Anforderungen hinreichend genügt. Aber wie sieht diese Auswahl aus? Die Vielzahl von zur Verfügung stehenden Compileroptimierungen macht das Finden der optimalen Auswahl zu einem scheinbar unlösbaren Problem. Zumal die Daten zur ACET, WCET und zum Energieverbrauch der Software nicht direkt zu Verfügung stehen sondern erst nachträglich ermittelt werden können.





1 Einleitung

In Hardware für eingebettete Systeme wird Cachespeicher eingesetzt um eine Brücke zwischen immer schnelleren Prozessoren und langsamen Hauptspeichern zu schlagen. Bei der Entwicklung eines Systems stehen für den Cache mehrere Parameter (Cachegröße, Cachezeilengröße und Assoziativität) zur Konfiguration zu Verfügung. Diese Parameter stellen eine weitere Möglichkeit dar, Laufzeit und Energieverbrauch der Software zu beeinflussen. Ein Entwickler muss die beste Konfiguration für sein System wählen und auch dabei die möglicherweise konträren Auswirkungen auf Laufzeit und Energieverbrauch berücksichtigen.

Compileroptimierungen und Cacheparameter sind wichtige Varianten bei der Entwicklung eingebetteter Systeme mit schwer vorhersehbaren Auswirkungen auf Laufzeit und Energieverbrauch. Im folgenden werden diese Auswirkungen systematisch untersucht und aus den Resultaten Schlussfolgerungen gezogen, die für die Entwicklung eingebetteter Systeme hilfreich sind.

1.1 Ziele der Diplomarbeit Diese Diplomarbeit untersucht die Auswirkungen von Compileroptimierungen und Cacheparametern auf die WCET, ACET und den Energieverbrauch von Software für eingebettete Systeme am Beispiel der Zielarchitektur ARM7TDMI. Ziel der Arbeit ist es zum

Einen den Zusammenhang zwischen den genannten Kriterien zu ergründen:

• Verändern sich ACET und WCET synchron zueinander?

Eine Verringerung der ACET muss nicht unbedingt auch die maximale Ausführungszeit reduzieren. Zudem stellt sich die Frage ob sich die WCET genau so stark beeinflussen lässt wie die ACET.

• Bewirkt eine Verringerung der einzelnen Laufzeiten auch einen sinkenden Energieverbrauch?

Der Energieverbrauch hängt von vielen Faktoren ab. Es soll ergründet werden inwieweit er mit der Ausführungszeit verknüpft ist.

Zum anderen soll die Exploration von Optimierungsequenzen und Cacheparametern Erkenntnisse zu folgenden Fragestellungen liefern.

• Wie sehen die „optimalen Kompromisse“ aus?

Nach der der Exploration von Compileroptimierungen wird es Sequenzen geben, die „beste Lösungen“ darstellen. Dies kann ein globales Optimum sein, das für alle Kriterien die besten Resultate enthält oder es gibt mehrere Lösungen, die jede für sich genommen nicht besonders gute Ergebnisse erzielen. Untersucht wird auch, ob die Sequenzen bessere Ergebnisse als die bisher verwendeten Optimierungslevel liefern?

• Welche Compileroptimierungen werden dabei verwendet?

Die besten Lösungen können zeigen, welche Optimierungen entscheidend für gute

–  –  –

Werte sind und welche vielleicht sogar schädlich sind. Zudem könnte die Reihenfolge der Optimierungen von Interesse sein.

• Kann man eine Heuristik für die Wahl der Cacheparameter herleiten?

Möglicherweise zeigen die Resultate der Exploration von Cacheparametern einen Zusammenhang zwischen den Parameterwerten und den Kriterien, so dass mit einer einfachen Heuristik die bestmögliche Kombination gefunden werden kann.

• Lassen sich Schlüsse für die Entwicklung von eingebetteten Systemen ziehen? Möglicherweise deuten die Resultate auf Zusammenhänge oder Besonderheiten bezügliche Compileroptimierungen und Cacheparameter hin, die für die speziellen Anforderungen von eingebetteten Systemen von Bedeutung sind.

Zuletzt soll untersucht werden in wieweit die Resultate Potential bieten, Compileroptimierungen für einzelne Kriterien zu verbessern.

1.2 Verwandte Arbeiten Es sind einige Arbeiten zu finden, die sich mit den Themen Exploration vom Compileroptimierungen, Cacheparametern und Energieverbrauch von Instruktionen beschäftigen und für diese Arbeit von Interesse sind.

Zentrales Werkzeug für diese Arbeit ist der WCET-aware C Compiler (WCC) [Lok07].

Er wird hier verwendet um die WCET, ACET und den Energieverbrauch automatisiert zu ermitteln.

Die in dieser Diplomarbeit realisierten Optimierungen bauen auf der Arbeit von Lokuciejewski [LPF+ 10] auf. Dort wurden bereits zweidimensionale multikriterielle Explorationen von Compileroptimierungen für die Tricore Architektur durchgeführt. Die Kriterien waren ACET, WCET und Codegröße. Im Gegensatz zu [LPF+ 10] wird in dieser Diplomarbeit erstmalig der Energieverbrauch als zusätzliche Dimension betrachtet.

Der Energieverbrauch bei der Ausführung von Programmcode unter Berücksichtigung der Speicher für den ARM7TDMI wurde in [The00] gemessen. Diese Arbeit greift auf die dort gewonnenen Daten zurück. Das dort entwickelte Energiemodell wurde für die in dieser Arbeit nötige Energiemessung angepasst.

Der Einfluss verschiedener Cacheparameter auf den Energieverbrauch wurde von Zhang [ZVN05] ausführlich untersucht, um eine konfigurierbare Cachearchitektur zu entwickeln.

Die Resultate werden als Vergleich zur Exploration in dieser Arbeit herangezogen. Neben der Betrachtung der WCET und ACET ist die Anzahl der untersuchten Konfigurationen und Benchmarks in dieser Arbeit deutlich größer.

Die Messung des Energieverbrauches von unterschiedlichen Cachearchitekturen für den ARM7 war auch in [Lee01] ein Thema. Der Fokus lag dort auf dem Vergleich zwischen Cache- und Scratchpad-Speichern. Es wurde die Cache-Miss Rate und der Energieverbrauch für verschiedene Cachegrößen und Assoziativitäten untersucht.

1 Einleitung

1.3 Aufbau der Diplomarbeit

Die Diplomarbeit ist in folgende Kapitel gegliedert, die kurz vorgestellt werden:

In Kapitel 2 werden die Grundlagen zu Compileroptimierungen, Cachespeicher, multikriterieller Exploration und genetischen Algorithmen erläutert. Außerdem beschreibt es die verschiedenen Tools, die bei der Exploration zum Einsatz kommen. Es geht detailliert auf den verwendeten Compiler WCC und seine Analyse- und Profilingwerkzeuge ein.

Kapitel 3 beinhaltet die Exploration der Compileroptimierungen und deren Auswertung. Es erläutert die Problembeschreibung, den verwendeten genetischen Algorithmus und beschreibt den Ablauf der Analyse. Die Resultate der Exploration werden in Form von Tabellen und Diagrammen präsentiert und ausführlich besprochen. Im Verlauf der Auswertungen werden interessante Resultate zu einzelnen Compileroptimierungen näher untersucht. In Abschnitt 3.6 werden Optimierungen aus dem dritten Kapitel näher untersucht. Ziel ist es festzustellen, warum es beim Einsatz dieser Optimierungen zu Verschlechterungen in den ermittelten Werten kommt. Es wird untersucht, ob es Möglichkeiten gibt die negativen Auswirkungen zu beseitigen. Am Ende des Kapitels sind die Schlussfolgerungen im Hinblick auf die Fragestellungen der Diplomarbeit formuliert.

Das Kapitel 4 thematisiert die Exploration der Cacheparameter. Der Ablauf der Exploration und die Auswahl der zu untersuchenden Parameterwerte werden besprochen.

Die Resultate geben die Auswirkungen der Variation der verschiedenen Cacheparameter wieder und erlauben Rückschlüsse auf die Abhängigkeiten zwischen Parametern, Programmcode und der Systemarchitektur.

Kapitel 5 fasst alle Resultate und und deren Schlussfolgerungen zusammen und zieht ein abschließendes Fazit. Die Arbeit schießt mit einen Ausblick auf zukünftige Arbeiten ab.

2 Grundlagen und technischer Rahmen Bevor im Hauptteil dieser Arbeit die Explorationen von Compileroptimierungen und Cacheparametern besprochen werden, ist es notwendig einige Grundlagen zu erläutern.

Zum einen sind das Details bezüglich des betrachteten Mikroprozessors (Abschnitt 2.1) und des Cachespeichers (Abschnitt 6). Dabei wird insbesondere auf die untersuchtet Cacheparameter eingegangen. Die Explorationen stützen sich auf zahlreiche Werkzeuge deren Funktionsweise ebenfalls kurz erläutert wird. Der Aufbau des WCC-Compilers (Unterabschnitt 2.3.1) und die verschiedenen Stationen der Code-Erzeugung werden detailliert betrachtet. Zum besseren Verständnis sind außerdem theoretische Grundlagen zur multikriteriellen Optimierung (Abschnitt 2.6) und Informationen zur Verwendung des PISA-Frameworks (Abschnitt 2.5) notwendig.

2.1 ARM7TDMI Plattform

Die Zielplattform für die Codeerzeugung und vorgestellten Optimierungen dieser Arbeit ist der ARM7TDMI Mikroprozessor von ARM [Lim04]. Das Kürzel TDMI steht für Thumb-Debug-Multiplier-ICE und beschreibt damit seine besonderen Eigenschaften.

Es handelt sich um einen 32-Bit RISC Prozessor mit klassischer Load/Store Architektur. Er verfügt über zwei verschiedene Befehlssätze, das ARM-Instruction-Set mit 80 Instruktionen von 32-Bit Wortbreite und das Thumb-Instruction-Set, welches auf 36 Befehle beschränkt ist. Thumb-Instruktionen sind nur 16-Bit breit und erlauben weniger Adressierungsarten. Im Vergleich zu den ARM ermöglicht die Verwendung des ThumbInstruktionssatzes eine höhere Codedichte. Ein Programm kann sowohl ARM- als auch Thumb-Instruktionen enthalten und es ist möglich im laufenden Betrieb mit speziellen Sprung-Instruktionen zwischen ARM- und Thumb-Mode umzuschalten.



Pages:   || 2 | 3 | 4 | 5 |   ...   | 9 |


Similar works:

«Workshop on Advances in Nanotechnology: Fabrication, Processing and Applications 28th February – 1st March 2014 Book of Abstracts Centre for Nanoscience and Nanotechnology School of Physics Bharathidasan University Tiruchirappalli – 620 024. Sponsored by UGC-BDU UGC-SAP PHYSICS DST-PURSE BDU Workshop on Advances in Nanotechnology: Fabrication, Processing and Applications (28th February – 1st March, 2014) Convener Dr. K. Jeganathan Associate Professor & Coordinator Centre for Nanoscience...»

«Pirandello Herausgegeben von Sandro Moraldo und Ronald Michael Schmidt HVA Dokumentationsband zur Ausstellung der Universitätsbibliothek in der Alten Universität Heidelberg vom 4. bis 23. April 1986 Ausstellungskonzeption: Sandro Moraldo und Dr. Ronald Michael Schmidt Zusammenstellung: Georgia Ehbrecht, Doris Hämmerle, Karin Lachat, Claus Munder, Barbara Saur und Walter Schmitt UnivorsitStsBibliothek München Bildnachweis: Stadt. Reiss-Museum Mannheim (1), Prof. Karl Riha (1), Foto Menzen...»

«GLOBAL FUTURES FUND KAPITALSCHUTZZERTIFIKATE 8 THIS DOCUMENT CONSISTS OF A NON-BINDING GERMAN CONVENIENCE TRANSLATION OF THE PROSPECTUS FOLLOWED BY THE PROSPECTUS DIESES DOKUMENT BESTEHT AUS EINER NICHT VERBINDLICHEN DEUTSCHEN LESEÜBERSETZUNG DES PROSPEKTS GEFOLGT VOM PROSPEKT Leseübersetzung – einzig rechtsverbindlich ist die englische Sprachfassung Credit Suisse International Eingetragen als Gesellschaft mit unbeschränkter Haftung in England und Wales unter der Nummer 2500199 Serien-Nr.:...»

«Diss. ETH No. 17477 Numerical Analysis of Mixture Formation and Combustion in a Hydrogen Direct-Injection Internal Combustion Engine A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of DOCTOR OF SCIENCE presented by UDO GERKE Dipl.-Ing. Uni. Stuttgart born February 26th, 1978 citizen of Munich, Germany accepted on the recommendation of Prof. Dr. Konstantinos Boulouchos, ETH Zurich, examiner Prof. Dr. Andreas Wimmer, TU Graz, co-examiner Prof. Dr. Aldo...»

«Copyright by Li Ma The Dissertation Committee for Li Ma Certifies that this is the approved version of the following dissertation: Textured Thin Metal Shells on Metal Oxide Nanoparticles with Strong NIR Absorbance and High Magnetization for Imaging and Therapy Committee: Keith P. Johnston, Supervisor Marc D. Feldman, Co-Supervisor Thomas E. Milner Konstantin V. Sokolov Charles B. Mullins Gyeong S. Hwang Textured Thin Metal Shells on Metal Oxide Nanoparticles with Strong NIR Absorbance and High...»

«Krebs im Kindesund Jugendalter Kann soziale Betreuung während und nach dem Spitalsaufenthalt der sozialen Isolation entgegenwirken? Cancer during childhood and adolescence Can different social care during and after hospitalisation counter the social isolation? Diplomarbeit zur Erlangung des akademischen Grades Magister/ Magistra (FH) für sozialwissenschaftliche Berufe der Fachhochschule Campus Wien Diplomstudiengang Sozialarbeit (im städtischen Raum) Vorgelegt von: Bianca Ertlthallner...»

«“The Greatest Morale Factor Next to the Red Army”: Books and Libraries in American and British Prisoners of War Camps in Germany During World War II David Shavit The demand for books in American and British prisoners of war (POW) camps in Germany during World War II was insatiable. Libraries, both lending and reference, were established in almost all the camps. In addition, there was a considerable number of privately held books. This article details ways in which books were supplied to the...»

«UNIVERSITY OF ZAGREB FACULTY OF SCIENCE DEPARTMENT OF GEOPHYSICS IVAN GÜTTLER SYSTEMATIC ERRORS IN REGIONAL CLIMATE MODELS IN THE LOWER ATMOSPHERE DOCTORAL DISSERTATION Zagreb, 2014 SVEUČILIŠTE U ZAGREBU PRIRODOSLOVNO-MATEMATIČKI FAKULTET GEOFIZIČKI ODSJEK IVAN GÜTTLER SUSTAVNE POGREŠKE U REGIONALNIM KLIMATSKIM MODELIMA U NIŽOJ ATMOSFERI DOKTORSKA DISERTACIJA Mentor: dr. sc. Čedo Branković Zagreb, 2014 This dissertation is elaborated on Meteorological and Hydrological Service of...»

«Outdoor Recreation Management John J. Pigram and John M. Jenkins Outdoor Recreation Management The ability to manage natural resources within an outdoor recreation context is becoming increasingly important as greater participation in recreational activities is placing pressure on the environment. The second edition of this text provides a comprehensive, non-specialised introduction to outdoor recreation management as an area of study and of real world significance.The book: • clarifies the...»

«Die Expeditionen AN des Forschungsschi The Expeditions ANTA of the Research Vessel Herausgegeben von I Edited by Ulrich Bathmann, Meinhard chulz-Baldes, Eberhard Fahrbach, Victor Smetacek, Hans-Wolfgang Hubberten unter Mitarbeit der Fahrtteilnehmer I with contributions of the participants Ber. Polarforsch. 100 (1992) ISSN 01 76 5027 ANTARKTIS 1x11-4 20 October 1990 13 May 1991 KOORDINATOR/COORDINATOR Victor Smetacek Bremerhaven Punta Arenas ANT IW1: FAHRTLEITEWCHIEF SCIENTIST Meinhard...»

«KING HENRY THE FOURTH (2ND PART) by William Shakespeare www.writingshome.com William Shakespeare – King Henry the fourth 2nd part www.writingshome.com William Shakespeare – King Henry the fourth 2nd part Dramatis Personae RUMOUR, the Presenter KING HENRY THE FOURTH HENRY, PRINCE OF WALES, afterwards HENRY PRINCE JOHN OF LANCASTER PRINCE HUMPHREY OF GLOUCESTER THOMAS, DUKE OF CLARENCE Sons of Henry IV www.writingshome.com William Shakespeare – King Henry the fourth 2nd part EARL OF...»

«London UCSB Summer Sessions 2014 Travel Study Program Student Handbook by ACCENT and UCSB LONDON SUMMER 2014: GLOBAL CITY, GLOBAL JUSTICE The programme is run jointly by ACCENT (an independent study abroad organization) & UCSB ACADEMICS ABROAD ACCENT is an independent study abroad organization coordinating overseas study programs with over 50 colleges and universities throughout the U.S. As the program provider for your study abroad program, ACCENT is responsible for coordinating housing,...»





 
<<  HOME   |    CONTACTS
2016 www.abstract.xlibx.info - Free e-library - Abstract, dissertation, book

Materials of this site are available for review, all rights belong to their respective owners.
If you do not agree with the fact that your material is placed on this site, please, email us, we will within 1-2 business days delete him.