Detailseite
Multi-Opt - Multikriterielle Code-Optimierung für Eingebettete Harte Echtzeitsysteme
Antragsteller
Professor Dr. Heiko Falk
Fachliche Zuordnung
Rechnerarchitektur, eingebettete und massiv parallele Systeme
Förderung
Förderung von 2017 bis 2022
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 380772147
Die Schlüsselanforderung eines harten Echtzeitsystems ist, dass die schlimmstmögliche Laufzeit des Programms, die sogenannte Worst-Case Execution Time (WCET), die vorgegebene Zeitschranke einhält. In Eingebetteten Systemen existieren aufgrund technischer Einschränkungen oder finanzieller Vorgaben allerdings häufig weitere Design-Kriterien. Beispielsweise sind die vorhandenen Daten- und Instruktionsspeicher häufig knapp dimensioniert. Außerdem spielt der Energieverbrauch eine wichtige Rolle bei batteriebetriebenen Geräten. Deshalb ist es wichtig, alle diese Kriterien WCET, Code-Größe und Energieverbrauch im Rahmen des Entwurfsprozesses gleichermaßen zu berücksichtigen.Im Falle, dass mindestens eines der Kriterien die jeweiligen Vorgaben verletzt, kann die zugrunde liegende Hardware-Plattform entsprechend angepasst werden. Solche Änderungen führen jedoch häufig zu höheren Kosten oder schwer vorhersagbaren technischen Nebeneffekten. Deshalb wird im Rahmen dieses Projekts angestrebt, ein gegebenes System durch Compiler-Optimierungen so zu optimieren, dass alle Anforderungen an das System eingehalten werden.Die erste Förderperiode betrachtete Compiler-Techniken zur Optimierung von WCET, Code-Größe und Energieverbrauch. Diese wurden als Multi-Kriterielle Optimierungsverfahren ausgelegt, da eine gleichzeitige Optimierung aller Kriterien unter Umständen nicht möglich ist. Üblicherweise widersprechen sich einzelne Optimierungsziele gegenseitig, so dass die Verbesserung eines Ziels negative Auswirkungen auf andere Ziele haben kann. Im Rahmen der ersten Förderperiode konnte gezeigt werden, dass sich hierbei mit populationsbasierten Verfahren gute Ergebnisse erzielen lassen, die einen Kompromiss zwischen den sich widersprechenden Zielfunktionen darstellen. Allerdings zeigte sich auch, dass diese Optimierungen aufgrund der Vielzahl an notwendigen WCET-Analysen sehr zeit- und speicherintensiv sind. Anstatt nun jedes Mal eine vollständige und kostenintensive Code-Analyse durchzuführen, wann immer der Compiler einen Wert für die WCET benötigt, könnte die effiziente Vorhersage solcher Zielkriterien helfen, die Ausführungszeiten des Compilers zu verbessern.Daher sollen im vorliegenden Folgeantrag neue Ansätze untersucht werden, die gute Vorhersagen von Zielkriterien ermöglichen, um populationsbasierte Optimierungsverfahren innerhalb des Compilers zu unterstützen. Ziel ist es, mithilfe mathematischer Vorhersagemodelle ein Framework zu entwerfen, das es erlaubt, ein gegebenes System performant und mit qualitativ hochwertigen Ergebnissen hinsichtlich mehrerer Kriterien simultan zu optimieren.
DFG-Verfahren
Sachbeihilfen