Detailseite
Projekt Druckansicht

Gegenüberstellung von evolutionären Algorithmen und maschinellen Lernverfahren für energiebewusstes Instruction Scheduling

Fachliche Zuordnung Rechnerarchitektur, eingebettete und massiv parallele Systeme
Elektronische Halbleiter, Bauelemente und Schaltungen, Integrierte Systeme, Sensorik, Theoretische Elektrotechnik
Förderung Förderung von 2019 bis 2023
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 415838871
 
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.
DFG-Verfahren Sachbeihilfen
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung