Institute of Microelectronic Systems Studies Final exams and theses Abgeschlossene Arbeiten
Konzeptionierung und Implementierung von Mikrobenchmarks zur Analyse laufzeitentscheidender Charakteristika von Mehrkernprozessoren

Konzeptionierung und Implementierung von Mikrobenchmarks zur Analyse laufzeitentscheidender Charakteristika von Mehrkernprozessoren

Led by:  Arndt, Jakob
Team:  Jan Tumbrägel
Year:  2015
Date:  09-01-15
Duration:  09.07.2014-09.01.2015
Is Finished:  yes

Am Institut für Mikroelektronische Systeme werden im Rahmen eines Forschungsvorhabens im Bereich kamerabasierte Fahrassistenz unterschiedliche Hardwareplattformen auf ihre Eignung zur algorithmischen Umsetzung untersucht. Dabei werden unterschiedliche Multicore-Systeme als potentielle Plattform in Betracht gezogen. Es werden Laufzeiteigenschaften und Plattformparameter von stromsparenden eingebetteten Systemen bis hin zu leistungsstarken High-End Prozessoren analysiert, um Gesetzmäßigkeiten herauszustellen. Im Vordergrund steht hierbei eine theoretische Modellierung des Laufzeitverhaltens von paralleler Software auf gegebenen Architekturen.

Ziel bei der Entwicklung von paralleler Software für Multicore-Prozessoren ist es, eine portable Lösung zu implementieren, die dennoch die vorhandenen Hardware-Ressourcen der jeweiligen Zielplattform möglichst gut ausnutzt. Dazu ist eine Parallelisierung auf unterschiedlichen Ebenen (Task- und Datenparallelität) notwendig. Da sich architekturspezifische Parameter jedoch unterschiedlich auf das Laufzeitverhalten eines Algorithmus auswirken, müssen diese bei der Auswahl einer geeigneten Parallelisierungsstrategie berücksichtigt werden. Um bereits frühzeitig eine objektive Einschätzung der Skalierungseigenschaften eines Algorithmus zu ermöglichen, sollen relevante Parameter aus Hardware und Software in einer Modellierung kombiniert werden. Für die Softwareanalyse stehen am Institut geeignete Werkzeuge, sowie Referenzalgorithmen mit unterschiedlichen Parallelisierungsstrategien und Skalierungseigenschaften zur Verfügung.

Herr Tumbrägel erhält die Aufgabe, an mindestens zwei am Institut vorhandenen Multicore-Plattformen charakteristische und laufzeitentscheidende Eigenschaften anhand von Mikrobenchmarks zu extrahieren. Dabei sollen zunächst nach einer Einarbeitungsphase in Prozessorarchitekturen und parallele Programmierung, Mikrobenchmarks aus vorhandenen Arbeiten  getestet werden. Hierbei soll speziell die Aussagekraft und Eignung für verschiedene Architekturklassen untersucht werden. Anschließend soll nach einer Zusammenstellung der relevantesten Hardwareparameter, ein Set an Mikrobenchmarks implementiert werden, das ggf. manuell um weitere Systeminformationen (z.B. Speicher-, Kommunikationstopologie oder Instruktionssatzinformationen) erweitert werden kann. Als Abschluss der Arbeit soll anhand einer exemplarischen Modellierung eines parallelen Programms gezeigt werden, wie sich verschiedene Hardwareeigenschaften auf das plattformabhängige, nicht-deterministische Laufzeitverhalten auswirken. Auf eine gute Dokumentation des C++ Codes ist zu achten. Die eingereichten Exemplare, sowie die Ergebnisse der Arbeit bleiben Eigentum des Instituts.