Aktuelle digitale Signalprozessoren (DSPs) basieren auf einer Very Long Instruction Word-Architektur (VLIW), welche durch die parallele Ausführung von Operationen eine besonders hohe Performanz bietet. Weiterhin erlaubt die im Vergleich zu anderen parallelen Architekturkonzepten geringere Siliziumfläche eine reduzierte Verlustleistungsaufnahme. Die Parallelisierung erfolgt dabei durch VLIW-Compiler, indem unabhängige Operationen des Eingangsprogramms in sehr lange Instruktionsworte kombiniert werden. Nichtsdestotrotz kann das Instruction-Scheduling aufgrund der Problemkomplexität (bis zu n! verschiedene Lösungen für n Operationen) und verschiedenen Architekturbeschränkungen (z.B. durch Hardwareressourcenkonflikte) nicht immer optimal gelöst werden. Traditionell wird dieses Problem durch heuristische Algorithmen behandelt, welche manuell auf eine bestimmte Prozessorarchitektur zugeschnitten werden und nur ein einziges Schedulingziel (z.B. besonders kompakter Code) verfolgen. In diesem Projekt wird der Einsatz eines Multi-Objective Evolutionary Algorithm-Ansatzes (MOEA) in VLIW-Compilern für kombiniertes Instruction-Scheduling, Registerallokation und Code-Selection untersucht. Durch die evolutionäre Entwicklung einer Population von Lösungen bietet dieser Ansatz die Flexibilität für den Einsatz mit verschiedenen Zielarchitekturen ("Retargetable Compiler") und überwindet außerdem die Beschränkungen traditioneller statischer Heuristiken. Der Nachteil langer Compilierungszeiten kann durch Parallelisierung verringert werden. Zusätzlich kann der MOEA-Ansatz verschiedene Compilierungsziele (z.B. kompakter Code, geringer Energiebedarf) berücksichtigen, da verschiedene Schedules eines Codes unterschiedliche interne Schaltaktivität verursachen, welche wiederum den Hauptgrund für dynamischen Energiebedarf darstellt.Weiterhin wird in diesem Projekt ein auf maschinellem Lernen basierter Ansatz zur Identifizierung signifikanter Code-Features ("Feature Mining") für die automatische Erzeugung architekturspezifischer Heuristikfunktionen untersucht. Diese können traditionelle heuristikbasierte Compiler erweitern, um deren kurze Compilierungszeit und ihr deterministisches Verhalten zu nutzen.Beide vorgeschlagenen Ansätze werden untersucht, mit aktuellen heuristikbasierten Compilern ("List Scheduling") verglichen und auf vier unterschiedlichen kommerziellen und Forschungs-VLIW-DSPs evaluiert. Mithilfe zwei verschiedener DSP-Entwicklungsplattformen werden auch die Auswirkungen des Instruction-Schedulings auf die Verlustleistungsaufnahme untersucht.
Leitung: Prof. Dr.-Ing. Guillermo Payá Vayá
Team: M.Sc. Fabian Stuckmann
Laufzeit: 2019-2021
Förderung: Deutsche Forschungsgemeinschaft