ReCoNodes - Optimierungsmethodik zur Steuerung hardwarekonfigurierbarer KnotenIn 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. Weitere Informationen sind im WWW unter folgenden URLs verfügbar: http://www.reconodes.de, http://www.r-space.de | Projektleitung: Prof. Dr.-Ing. Jürgen Teich
Beteiligte: Dipl.-Ing. Diana Göhringer, Dr.-Ing. Josef Angermeier
Laufzeit: 1.6.2003 - 31.5.2009
Förderer: Deutsche Forschungsgemeinschaft
Kontakt: Teich, Jürgen Telefon +49-9131-85-25150, Fax +49-9131-85-25149, E-Mail: juergen.teich@fau.de
|