ReCoNodes

Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer Knoten

In diesem Projekt wird der bislang nur unzulänglich automatisierte Zugang zu rekonfigurierbaren Schaltungen, insbesondere FPGA-basierten Architekturen, erschlossen durch Bereitstellung von Modellen und Optimierungsmethoden im Zusammenhang mit der dynamischen Hardwarerekonfiguration. Diese Modelle und Methoden sollen schließlich in einer Art Betriebssystem für Hardwarefunktionen resultieren, das die Verwaltung der Ressourcen zur Laufzeit übernimmt. Konkreter Gegenstand unserer Untersuchungen sind Strategien und Methoden der mathematischen Optimierung für die optimale Steuerung und Nutzung neuester und künftiger Generationen von rekonfigurierbarer Hardware. Solche rekonfigurierbaren Chips werden bereits in verschiedensten technischen Zusammenhängen genutzt. Aufgrund praktischer Hindernisse (vor allem durch den hohen Rekonfigurationsaufwand) und theoretisch noch nicht voll entwickelter Methoden konnte das Potential rekonfigurierbarer Hardware bislang nur zu einem kleinen Teil verwirklicht werden. Wir haben mittlerweile gezeigt, dass die meisten dieser Schwierigkeiten bereits mit bestehender Technologie zu einem guten Teil überwunden werden können. Davon erwarten wir auch neue Impulse für Entwicklung und Einsatz neuer Chipgenerationen.
Modellierung: Die Anforderung von Ressourcen sowie die rekonfigurierbaren Ressourcen und Chips selbst müssen geeignet modelliert werden. Während bei Betriebssystemen für Mikroprozessoren die wichtigsten Einflussgrößen weitgehend bekannt sind, sind viele Eigenschaften im Bereich der Hardwareanforderungen alles andere als klar, etwa die Anzahl und Form angeforderter Ressourcen, die Ausführungszeit oder der erforderliche Rekonfigurationsaufwand. Dennoch reden wir hier in Analogie zum Task-Begriff in der Softwarewelt konsequent von Hardwaretasks bzw. Hardwareprozessen, um Anforderungen zu bezeichnen. Allerdings erweist es sich als zweckmäßig, zwischen Tasks und Modulen zu unterscheiden. Dabei stellt ein Modul eine Hardwarekonfiguration dar, auf der gewisse Tasks ausgeführt werden können; wie wir noch näher erläutern werden, machen es relativ hohe Rekonfigurationszeiten, aber u. U. relativ kurze Taskzeiten möglich und wünschenswert, bestehende Module auch nach Ende einer Task für mögliche weitere Tasks ohne zusätzlichen Rekonfigurationsaufwand bereit zu halten. Dies illustriert bereits, dass die vorhandenen Ressourcen der Hardware geeignet modelliert werden müssen. Eigenschaften, wie die Unterbrechbarkeit von Hardwaretasks, Rekonfigurationsaufwand, Kommunikationsmodelle etc., werden geeignet formalisiert.

Optimierung: Basierend auf den obigen mathematischen Modellen geht es bei der Optimierung darum, die vorhandenen Ressourcen effizient zu verwalten. In der Welt von Softwarebetriebssystemen sind hier die zentralen Probleme der Allokation von Ressourcen sowie der zeitlichen Zuteilung von Ressourcen unter dem Begriff der Ablaufplanung, engl. Scheduling, bekannt. Prinzipiell gilt dies auch für die Ressourcen auf einem rekonfigurierbaren Chip. Die Frage stellt sich nur, welche Optimierungsalgorithmen und welche Optimierungsziele im Rahmen der dynamischen Hardwarerekonfiguration zu verfolgen sind. Hier sollen drei unterschiedliche Szenarien untersucht werden: Das erste Szenario betrifft die optimale Allokation und Ablaufplanung einer statisch gegebenen Menge von Hardwaretasks zur Entwurfszeit. Die beiden anderen Szenarien gehen von unbekannten zeitlichen Anforderungen aus, wobei das erste von sich schnell ändernden Anfragen ausgeht, während das zweite eher den Fall betrachten soll, bei konstanter Last die Auslastung der Ressourcen zu optimieren.

Implementierung: Die obigen Verfahren werden im Kontext realer Hardware untersucht. Dazu wurde eine FPGA-Plattform, genannt Erlangen Slot Machine (ESM), entwickelt und gefertigt, auf der die verschiedenen Online-, Offline- und Caching- Algorithmen zur Allokation und Ablaufplanung auf einer speziellen CPU laufen, der ein kommerzielles FPGA ansteuert. Die ESM kann als einer der ersten voll partiell und dynamisch rekonfigurierbaren Computer auf FPGA-Basis weltweit aufgefasst werden. Bezüglich der partiellen dynamischen Rekonfiguration bietet die ESM eine bisher unerreichte Flexibilität. Diese Plattform und die Implementierung der Algorithmen werden als Beweis und Verifikation der Modellannahmen und des Rekonfigurationsoverheads dienen.

ESM-Architektur: ”Herz“ der ESM-Architektur ist ein großer relativ homogener FPGA. Um die I/O-Pin-Problematik zu lösen, müssen I/O-Pins flexibel zu den entsprechenden Peripherieeinheiten verdrahtet werden. Unsere Lösung ist eine Crossbar-Architektur außerhalb des FPGAs, mit der die I/O-Pins in Abhängigkeit von der Modulplatzierung korrekt mit Signalen der Peripherie verschaltet werden. Zahlreiche Applikationen, insbesondere im Bereich der Bildverarbeitung, benötigen mehr Speicher als auf heutigen FPGAs zur Verfügung steht. Deshalb wird dem FPGA auf der Plattform ausreichend viel Speicher zur Seite gestellt. Um Algorithmen zur Modulplatzierung erproben zu können, wurde für die Plattform ein Betriebssystem entworfen. Dies läuft auf einem externen Prozessor. Dieser Prozessor (PowerPC) dient als ”Gehirn“ der ESM-Architektur. über ihn laufen Anwendungen sowie die Optimierungsalgorithmen zum Scheduling und zur Platzierung der Module. Weitere Aufgabe des Prozessors ist die Steuerung des Crossbars. Nach erfolgter Platzierung eines neuen Moduls wird bei Bedarf eine Verbindung zu den Peripheriebausteinen geschaffen bzw. umgeroutet. Zwischen dem Prozessor und dem Haupt-FPGA befindet sich der sog. Rekonfigurationsmanager, ebenfalls realisiert durch einen FPGA. Seine Funktionen beinhalten das Speichern, Laden und Relokieren von Modul-Konfigurationen auf dem Haupt-FPGA. Sobald der Rekonfigurationsmanager vom Prozessor aufgefordert wird, die Konfiguration eines bestimmten Moduls zu laden, wird diese ”on the fly“ für den gewünschten Bereich angepasst bzw. relokiert.

Anwendung: Schließlich werden die implementierten Algorithmen auf der eben beschriebenen Plattform getestet. Als Anwendungen betrachten wir erstens Anforderungen, die im Zusammenhang mit der Einbettung rekonfigurierbarer Knoten in verteilten Steuerungssystemen entstehen, sog. ReCoNets. Als Anwendungsszenario untersuchen wir die Anforderungen an ReCoNodes, für die in einem Netzwerk neue Hardwaretasks generiert werden. Dies ist realistisch beispielsweise im Bereich der Automobilinnenraumelektronik, für den am Lehrstuhl bereits Vorarbeiten geleistet wurden. In dem zweiten Anwendungsbereich untersuchen wir die adaptive Videoverarbeitung, die in der Lage ist, während der Verarbeitung von Videobildern die Filter durch Rekonfiguration auszutauschen. Hierbei liegt der Vorteil in dem unterbrechungsfreien Wechsel auf den optimalen Filter, wobei der Zeitpunkt der Anpassung adaptiv von der Anwendung selbst entschieden wird.

 
URL: http://www.reconodes.de

Publications