Detailseite
Projekt Druckansicht

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
 
Erstellungsjahr 2022

Zusammenfassung der Projektergebnisse

Viele Compiler-basierte Optimierungen wurden vorgeschlagen, um eine einzelnes Entwurfskriterium zu optimieren, während andere Kriterien ignoriert werden. Dies kann zu einer drastischen Verschlechterung der ignorierten Entwurfskriterien führen. In diesem Projekt haben wir Ansätze zur Lösung von mehrkriteriellen Optimierungsproblemen zur Übersetzungszeit vorgestellt. Unser Ziel war, die maximale Ausführungszeit (WCET), die Codegröße und den Energieverbrauch, welche entscheidende Kriterien für harte Echtzeitsysteme sind, zu optimieren. Wir haben eine neuartige Compiler-basierte Kompressionstechnik für harte Echtzeitsysteme vorgestellt. Da das Hauptziel der Kompression darin besteht, die Codegröße so weit wie möglich zu verringern, haben wir das mehrkriterielle Kompressionsproblem als ein Problem mit nur einem Entwurfskriterium umformuliert. Dieses minimiert die Codegröße unter Einhaltung von WCET- und/oder Energieverbrauchsbeschränkungen. Die vorgeschlagene Kompression komprimiert Teile des Eingabecodes zur Übersetzungszeit und dekomprimiert sie zur Ausführungszeit. Der Ansatz erfordert keine teure Hardware zum Dekomprimieren, da ein Compiler den Code der Dekompressionsroutine in den Ausgabe- Assemblercode einfügt, um den Code zur Ausführungszeit zu dekomprimieren. Die Umformulierung eines mehrkriteriellen Problems in ein Problem mit nur einem Zielkriterium ermöglicht das Auffinden einer einzigen optimalen Lösung. Eine solche Umformulierung ist aber nur dann sinnvoll, wenn aus der Problemformulierung eine einzige Zielfunktion erstellt werden kann. Darüber hinaus bedeutet das Setzen von Beschränkungen von Entwurfskriterien, dass diese beschränkten Kriterien möglicherweise nicht vollständig optimiert werden. Ein weiterer Ansatz zur Lösung mehrkriterieller Optimierungsprobleme besteht darin, mögliche Kompromisse zwischen den einzelnen betrachteten Kriterien zu finden. Wir haben evolutionäre Algorithmen im Hinblick auf das Auffinden solcher Kompromisse zwischen WCET, Codegröße und Energieverbrauch zur Übersetzungszeit untersucht. Diese Algorithmen produzieren jedoch nur Lösungen für kleine Benchmarks. Solche Ansätze werden für große Benchmarks undurchführbar aufgrund zeitaufwändiger WCET- und Energieverbrauchsanalysen, die während der evolutionären Algorithmen durchgeführt werden. Wir haben ein auf maschinellem Lernen basierendes Modell entwickelt, das WCET und Energieverbrauch zur Übersetzungszeit vorhersagt. Während der Ausführung evolutionärer Algorithmen haben wir anschließend die zeitaufwändigen Analysen von Entwurfskriterien durch diese schnelleren Vorhersagen ersetzt. Wir haben weiterhin einen neuartigen Ansatz zur Reduktion des Suchraums vorgestellt, der überzählige Dimensionen aus dem Suchraum entfernt. Evolutionäre Algorithmen, die auf dem reduzierten Suchraum ausgeführt werden, erfordern weniger teure Auswertungen der Entwurfskriterien. Die Kombination des Vorhersagemodells und der Reduktionstechnik hat für die meisten Benchmarks die Qualität der Lösungen beibehalten oder sogar verbessert, im Vergleich zu evolutionären Algorithmen, die auf dem reduzierten Suchraum aber jedoch ohne Vorhersagen ausgeführt wurden. Zum Lösen eines mehrkriteriellen Optimierungsproblems zur Übersetzungszeit können wir somit evolutionäre Algorithmen beschleunigen und auch die Qualität der Lösungen verbessern, indem wir Suchräume reduzieren und zeitaufwändige Entwurfskriterien vorhersagen.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung