PCB DFG Schwerpunktprogramm
Rekonfigurierbare Rechensysteme
Kurzbeschreibung
Ausschreibung
Antrag
Projekte
Veranstaltungen
Gremium
Home
Kontakt

Antrag auf Einrichtung eines neuen DFG-Schwerpunktprogramms

"Rekonfigurierbare Rechensysteme"


  • Prof. Dr.-Ing. J. Teich (Datentechnik, Universität Paderborn, Koordinierung)
  • Prof. Dr. M. Glesner (Mikroelektronische Systeme, TU Darmstadt)
  • Prof. Dr. F. Rammig (Methodik des Systementwurfs, Universität Paderborn)
  • Prof. Dr. W. Rosenstiel (Technische Informatik, Universität Tübingen)
  • Prof. Dr. H. Schmeck (Angewandte Informatik und Formale Beschreibungssprachen, Universität Karlsruhe)

Zusammenfassung:

Aufgrund des ungebrochenen Fortschritts der Halbleitertechnologie werden zukünftige Generationen von Mikroprozessoren nicht nur einen, sondern ca. 10-100 Prozessoren heutiger Komplexität auf einem Chip integrieren können (sog. System-on-a-Chip-Technologie (SoC)). Verbreitet ist SoC-Technologie bereits heute in unterschiedlichsten alltäglichen Produkten wie im Automobil, in Kommunikationssatelliten, im Mobiltelefon, in der Medizintechnik oder in Zukunft sogar als fester Bestandteil unserer Kleidung.

Während heutige Spezialprozessoren wie Mikrocontroller und Digitale Signalprozessoren (DSP) jedoch jeweils für einen ganz speziellen Einsatzbereich zugeschnitten und optimiert sind, stellt sich die Frage, wie man zukünftige Rechensysteme auslegen sollte, um in großen Stückzahlen und für eine breite Anwendungsklasse von Problemen sowohl einen Geschwindigkeitsvorteil als auch eine gute Effizienz (Auslastung) der Ressourcen zu gewährleisten.

Möglich werden könnte dies, indem man -- ähnlich wie in der Softwarewelt -- die Hardware durch Programmierung flexibel macht. Sehr populär geworden sind in den 90er Jahren in Forschung und Industrie beispielsweise sog. FPGA (engl. field-programmable gate array)-Architekturen, die sich für den speziellen Anwendungsfall rekonfigurieren lassen. Dies betrifft sowohl die Funktion, als auch die Verbindungsstrukturen von elementaren Recheneinheiten auf Gatterebene.

Wenig untersucht ist hingegen die Rekonfigurierbarkeit auf höheren Abstraktionsebenen der Hardware wie beispielsweise der Register/Transfer-Ebene oder der Systemebene. Ferner gibt es zur Zeit keine Entwurfssprachen oder Modelle genauso wenig wie Entwurfsmethodik für Hardwaresysteme, die Konfigurierbarkeit erlauben und zur Entwurfszeit als auch im Betrieb rekonfiguriert werden können.

Ziel dieses Schwerpunktprogramms ist es, Grundlagen für den Entwurf von Rechensystemen zu legen, die die Fähigkeit besitzen, ihr Verhalten und ihre Struktur aus Effizienz- und Optimalitätsgründen an sich ändernde Anforderungen, Betriebs- und Umgebungsbedingungen dynamisch anpassen zu können, z.B. an neue Protokolle und Standards, andere physikalische Randbedingungen oder veränderliche Optimierungsziele. Aufgrund immer kürzer werdender Lebenszeiten von technischen Produkten werden solche Systeme mit der Fähigkeit der Rekonfigurierbarkeit auf unterschiedlichen Granularitätsebenen der Hardware immer wichtiger werden, denn nur sie sind in der Lage, für ein zur Entwurfszeit oft noch unklares Spektrum an unterschiedlichen Anforderungen jeweils optimale Lösungen zu bieten und hohe Redesignzeiten zu vermeiden. Auch lassen sich mit rekonfigurierbaren Lösungen, insbesondere in Verbindung mit geringen Stückzahlen, die Produktionskosten optimieren. Mit den erwarteten Erkenntnissen können in der Zukunft wiederum Ideen für neue Produkte, so z.B. selbstrekonfigurierende oder gar selbstheilende Rechensysteme, entstehen.

Der erfolgreiche Einzug von rekonfigurierbaren Rechensystemen in technische Produkte von Morgen, die durch den rasant wachsenden Markt eingebetteter elektronischer Systeme bestimmt sind, bedarf der Zusammenführung und Kooperation eines interdisziplinären Teams von Spitzenforschergruppen, bestehend aus Technologen (System-on-a-Chip (SoC)-Technologie, Analog/Digital-Design), aus Rechnerarchitekten (Multiprozessortechnik, fehlertolerantes Rechnen), aus Experten im Bereich der systemnahen Programmierung (Compiler, Betriebssysteme), aus Anwendern (z.B. Signal- und Bildverarbeitung) sowie aus Experten im Bereich der Entwurfsmethodik für heterogene Systeme (Modellierung, Partitionierung, Scheduling, etc.). Eine solche, nur im Rahmen eines Schwerpunktprogramms mögliche, Förderung könnte eine führende Stellung Deutschlands im Bereich rekonfigurierbarer Rechensysteme unterstützen.

Es ist zu erwarten, dass die wissenschaftlich-technischen Ergebnisse des beantragten Schwerpunktprogramms dazu beitragen werden, rekonfigurierbare SoC-Technologie für ein breites Feld von Anwendungen in der Zukunft effizient nutzbar zu machen.

Motivation:

Der ungebrochene Fortschritt der Miniaturisierung in der Halbleitertechnik hat dazu geführt, dass Heute ganze Systeme mit mehreren Prozessoren auf einem Chip der Größe eines Fingernagels integriert werden können (System-on-a-Chip-Technologie (SoC)). Hochkomplexe Rechensysteme tendieren zu spezifischen Systemlösungen für ganz spezielle Anwendungen. Durch die dadurch implizierten geringen Produktionsstückzahlen ist die Wirtschaftlichkeit derartiger SoC-Lösungen jedoch fraglich.

Rekonfigurierbare Rechensysteme (engl. (re)configurable computing machines) eröffnen durch ihre Flexibilität auf Hardwareebene das Potenzial, SoC-Lösungen in hoher Stückzahl für eine breite Klasse von Anwendungen nutzbar zu machen. Sie besitzen die Fähigkeit, sich neben der konventionellen Programmierung durch Software auch in der Hardware an die Erfordernisse einer aktuellen Anwendung und Umgebung dynamisch und flexibel anpassen zu können.

Auch wenn erste elementare Mechanismen der Hardware-Rekonfigurierbarkeit, insbesondere rekonfigurierbare Funktionseinheiten, programmierbare Logik und schaltbare Verbindungen bereits technisch verfügbar sind, erfordert der Entwurf und die Nutzung rekonfigurierbarer Hardware völlig neuartige Entwurfsverfahren.

Die Fähigkeit der Rekonfigurierbarkeit von Hardware stellt nämlich fundamental neue Anforderungen gegenüber bisherigen Entwurfspraktiken dar und es gibt zur Zeit so gut wie keine Modelle und Entwurfstechniken, die das Potenzial der Optimierung und Anpassung (Adaption) zur Betriebszeit betrachten und ausnutzen können, insbesondere für diejenigen Teilsysteme, die in Hardware realisiert sind.

Ziel des geplanten Schwerpunktprogramms Rekonfigurierbare Rechensysteme ist es daher, Rechensysteme mit der Fähigkeit der zeitlichen Veränderbarkeit der Funktionalität und Struktur der Hardware zu untersuchen und dafür Architekturen und Entwurfsverfahren bereitzustellen und anhand von Anwendungen zu validieren bzw. zu verifizieren.

Als Vorteile und Potenziale rekonfigurierbarer Hardware lassen sich folgende Kriterien nennen:

  • Senkung von Entwurfs- und Fertigungskosten:
    Der Anpassbarkeit von Hardware ist eine hohe wirtschaftliche Bedeutung zuzuordnen, da die Fabrikationskosten und -zeiten wesentlich kleiner als bei der Fertigung einer dedizierten integrierten Schaltung sind. Weder müssen Masken- und Testdaten über lange Wege zum Halbleiterhersteller und zurück wechseln, noch treten Kosten für den Test der Hardware auf.
  • Vermeidung von Redesign:
    Nicht selten kommt es vor, dass ein Entwurfsteam in der Projektierung Entscheidungen treffen muss, welche Komponenten verwendet werden sollen, ohne aber die Details von gerade aufkommenden Standards und die damit verbundenen Anforderungen (u.a. Protokolle) zu kennen. Ein Beispiel ist der Entwurf eines Rechensystems, das in der Lage sein soll, noch recht spät im Entwurf auf Änderungen der Spezifikation anpassbar zu sein oder einen Einsatzbereich besitzen soll, der mehrere unterschiedliche Varianten implementieren kann. Ein weiteres Beispiel ist die Automobiltechnik: Hier haben die Lebenszyklen der Mechanik (typ. Lebensdauer eines Automobils: 10-15 Jahre) und die Lebensdauer der Elektronik (typ. Lebensdauer: 5 Jahre) eine so hohe Diskrepanz, dass man während der Lebensdauer des Autos zwei bis dreimal die Elektronik austauschen müsste, um das Auto technisch auf dem neuesten Stand zu halten, z.B. Telefon, Navigation, Infotainment, etc. Indem man rekonfigurierbare Hardware zur Realisierung der elektronischen Steuergeräte einsetzt, wären Updates jederzeit ohne Hardwareaustausch möglich. Ein drittes, exzellentes Beispiel sind Kommunikationssatelliten. Sie sind viele Jahre im Einsatz und ein Austausch der Hardware ist unmöglich, deren Rekonfiguration jedoch einfach.
  • Ressourceneffizienz:
    Durch die Eigenschaft der Rekonfigurierbarkeit kann ein System aber nicht nur beim Entwurf, sondern auch im Betrieb bei sich ändernden Betriebs- und Umweltbedingungen reagieren, um sich optimal auf neue Bedingungen einzustellen. Beispielsweise könnte man die Versorgungsspannung oder die Taktfrequenz eines Systems dynamisch rekonfigurieren, um den Energieverbrauch zu reduzieren. Eine effiziente Auslastung der Hardwareressourcen (Chipfläche) ist weiterhin jederzeit möglich durch Nachladen von Funktionalität auf Teilen des Chips, die zeitlich ungenutzt sind.
  • Anpassung an Problemparameter:
    Rekonfigurierbare Hardware ermöglicht deutliche Leistungsgewinne in Anwendungen, bei denen Problemparameter wie beispielsweise Operanden arithmetisch/logischer Operationen festliegen und dadurch erheblich effizientere Realisierungen von Funktionen möglich sind. Typische Beispiele liefern Filteroperationen in der Signal- und Bildverarbeitung, bei denen Eingangsdaten unterschiedlich gewichtet werden können. Festliegende Gewichte können dann zu wesentlich effizienteren Schaltkreisen für die auszuführenden Multiplikationen führen. Eine derartige datenabhängige Anpassung ist ohne rekonfigurierbare Hardware nicht möglich, das größte Potenzial bieten hier dynamisch rekonfigurierbare Komponenten.
  • Ausfallsicherheit und Fehlertoleranz:
    Ein ganz wichtiger Aspekt, dem ebenfalls eine hohe wirtschaftliche Bedeutung zuzuordnen ist, liegt in der Ausfallsicherheit eines Systems bei Defekten. Rekonfigurierbare Rechensysteme können hier Abhilfe schaffen, in dem zur Laufzeit fehlerhafte Komponenten erkannt und isoliert werden, und ihre Funktionalität durch Rekonfiguration auf andere Komponenten verlagert wird. Ein wichtiges Anwendungsszenario ist hier beispielsweise die Automobiltechnik: Statt auf bestimmte Funktionen bei Ausfall eines spezifischen Steuergeräts komplett verzichten zu müssen, könnten rekonfigurierbare Verbindungen in einem Netzwerk von Steuergeräten Defekte bis zu einem gewissen Grad kompensieren. Dies könnte zu erheblich weniger Werkstattbesuchen und Rückrufaktionen führen.
  • Potenzial zur Selbstoptimierung:
    Falls ein System in der Lage ist, sich selbst, evtl. im Verbund mit anderen, mit dem Ziel der Optimierung zu rekonfigurieren, kann man schließlich sogar von einem gewissen Grad an Intelligenz sprechen.

Themenbereiche:

Ziel dieses Schwerpunktprogramms ist es, Grundlagen für den Entwurf von Rechensystemen zu legen, die die Fähigkeit besitzen, ihr Verhalten und ihre Struktur aus Effizienz- und Optimalitätsgründen an sich ändernde Anforderungen, Betriebs- und Umgebungsbedingungen dynamisch anpassen zu können, z.B. an neue Protokolle und Standards, andere physikalische Randbedingungen oder veränderliche Optimierungsziele. Aufgrund immer kürzer werdender Lebenszeiten von technischen Produkten werden solche Systeme mit der Fähigkeit der Rekonfigurierbarkeit auf unterschiedlichen Granularitätsebenen der Hardware immer wichtiger werden, denn nur sie sind in der Lage, für ein zur Entwurfszeit oft noch unklares Spektrum an unterschiedlichen Anforderungen jeweils optimale Lösungen zu bieten und hohe Redesignzeiten zu vermeiden.

Sinnvoll erscheint uns eine Aufteilung der Forschungsaktivitäten in vier Themenbereiche: Der Themenbereich Mechanismen und Effizienz rekonfigurierbarer Systeme soll grundsätzliche Mechanismen der Rekonfiguration von funktionellen, Verbindungs- und Speicherkomponenten untersuchen und dabei die Frage der Effizienz solcher Mechanismen hinsichtlich zusätzlicher Kosten, Entwicklungsaufwand und Flexibilität untersuchen.

Um den Aspekt der Rekonfigurierbarkeit für den Entwurf und Betrieb eines Systems nutzbar zu machen, bedarf es geeigneter Sprachen und Modelle. Sprachen zur Hardwaremodellierung und - synthese berücksichtigen bislang nicht explizit den Aspekt der zeitlichen Veränderbarkeit von Schaltungen.

Der dritte Themenkomplex zielt auf die Entwurfsmethodik für rekonfigurierbare Rechensysteme.

Schließlich sollen die in diesem Zusammenhang zu untersuchenden Entwurfsverfahren dann dazu dienen, neue Architekturen zu entwerfen und anhand von Anwendungen validiert zu werden. Dieser Bereich Architekturen und Anwendungen stellt daher den vierten Themenkomplex des geplanten Schwerpunktprogramms dar.

Die Ziele der vier Themenbereiche werden im Folgenden beschrieben.

Mechanismen und Effizienz

Zunächst möchten wir kurz auf die Unterschiede von konfigurierbaren und (dynamisch) rekonfigurierbaren Systemen eingehen.

  • Konfiguration:
    Im Idealfall wird ein System für eine spezielle Aufgabe konfiguriert, in dem man es aus vorhandenen Komponenten zusammensetzt. Man spricht auch von einem sog. plattformbasierten Entwurf, wenn eine bestehende Plattform (Architektur und Werkzeuge) Ausgangspunkt des Entwurfs eines neuen Systems sind. Spezialisierung erfolgt durch angepasste Auswahl aus einer Vielfalt existierender Komponenten und Werkzeuge, so dass sich der Entwicklungsaufwand auf nur wenige neu zu implementierende Funktionen und Komponenten reduziert. Konfiguration erfolgt zur Entwurfszeit (Compilezeit) (engl. (CTR) - compile-time reconfiguration).
  • Rekonfiguration:
    Von Rekonfigurierbarkeit spricht man, wenn ein System auch nach dem Entwurf noch angepasst werden kann, also mehrfach konfiguriert werden kann. Zum Beispiel erlaubt die Implementierung einer Funktion in Software die Änderbarkeit gegenüber einer Hardwareimplementierung noch nach der Inbetriebnahme. Man spricht von partieller Rekonfigurierbarkeit, wenn die Konfigurierbarkeit nur Teile des Systems betrifft.
  • Dynamische Rekonfiguration:
    Von dynamischer Rekonfiguration spricht man schließlich, wenn die Fähigkeit zur Rekonfiguration während des Betriebs, also zur Laufzeit, ein integraler Bestandteil der Funktionalität eines Systems ist. Man spricht auch von Rekonfiguration zur Laufzeit (engl. (RTR) - run-time reconfiguration).

Es folgt nun eine Übersicht, auf welchen Ebenen der Hardware Rekonfigurierbarkeit potenziell ausgenutzt werden kann.

Abstraktionsebene/
Konfigurierbare
Objekte
Kommunikation Speicher Datenverarbeitung
Gatterebene Schalter
Multiplexer
RAM-
Organisation
CLB, parametrisierbare
IP-Blöcke
Analogelemente Schalter Energiespeicher Op-Verst., Kapazitäten
Register/Transfer Crossbar, Busse Registerfeldgröße
Cachearchitektur
Ausführungseinheiten
Instruktionssatz Größe
Adress/Datenbus
Register
Speicherarchitektur
Sonderfunktionen
Interrupts
Prozess/System-
architektur
Verbindungsnetzwerk Puffergrößen Anzahl und Typen
von Prozessen,
Tasks

Man sieht also, dass Konfigurierbarkeit auf verschiedenen Abstraktionsebenen ausgenutzt werden kann. Desgleichen erkennt man, dass nicht nur datenverarbeitende Komponenten, sondern gleichfalls Kommunikationskomponenten (Schalter, Busse, Netzwerke) sowie Speicher (Größe, Organisation, Puffer) und sogar analoge Komponenten rekonfigurierbar ausgelegt werden können.

Was die Effizienz rekonfigurierbarer Hardware gegenüber dedizierter Hardware oder Software angeht, stehen Untersuchungen im Wesentlichen noch aus. Zum Beispiel stellt sich die Frage, wieviel Flexibilität man mit welchen zusätzlichen Hardwarekosten gewinnt.

Das Potenzial der Rekonfigurierbarkeit soll sowohl für datenverarbeitende Einheiten, Kommunikationskomponenten als auch für Speicher untersucht werden.

Gesucht sind Kostenfunktionen, die einem Systementwickler einen Kosten/Nutzen-Vergleich ermöglichen. Des Weiteren sollen Untersuchungen erfolgen, auf welchen Ebenen und in welcher Art man Rekonfigurierbarkeit im implementierten System am Besten nutzen sollte.

Sprachen und Modelle

Im Systementwurf sind bislang keine Modelle für Anwendungen und Architekturen bekannt, die das Potenzial haben, sich im Betrieb zu verändern. Ebenso fehlen spezifische Sprachen, die in der Lage wären, solche zeitvarianten Strukturen zu beschreiben. Arbeiten auf dem Gebiet des Hardware/Software Codesigns könnten hier als Ausgangspunkt für entsprechende Erweiterungen bekannter Modelle und Sprachen oder als Basis für neue Ansätze dienen. Die geeignete Modellierung eines Systems (zum Beispiel in Form einer formalen Beschreibung in einer Hochsprache) ist eine wichtige Voraussetzung für erfolgreiche Verifikationsansätze und den automatisierten Entwurf des Systems.

Entwurfsmethodik

Die Entwurfsmethodik befasst sich mit der Erforschung durchgängiger Methoden zur Unterstützung des Entwurfs rekonfigurierbarer Systeme und der Werkzeugentwicklung. Die zu untersuchenden Methoden betreffen retargierbare Compiler, Echtzeitbetriebssysteme und neue Synthesewerkzeuge. Ein zentrales Entwurfsproblem ist hier die dynamische Rekonfiguration zur Laufzeit. Untersucht werden sollen daher Verfahren der dynamischen Hardware/Software-(Re)partitionierung, der Online-Rekonfiguration als auch der Untersuchung von Mechanismen der Selbstrekonfiguration und -adaption. Ebenfalls sollen Verfahren der {\em Verifikation rekonfigurierbarer Systeme} (Cosimulation und formale Verifikation) erstmals untersucht werden.

Architekturen und Anwendungen

Als Architekturen sollen gleichsam FPGA-basierte Architekturen, rekonfigurierbare Datenpfade auf der Register/Transfer-Ebene, Prozessoren mit konfigurierbarem Instruktionssatz und dynamisch rekonfigurierbare Netzwerke betrachtet werden.

Die Evaluation der Vorteile rekonfigurierbarer Hardware soll anhand konkreter, industrierelevanter Anwendungsgebiete erfolgen. Dabei soll spezielles Augenmerk auf Anwendungsbereiche gelegt werden, die von den Vorteilen der Ausfallsicherheit, hoher Rechenleistung, Effizienz, kurzer Entwurfszeit und dynamischer Rekonfigurierbarkeit nachhaltig profitieren.

Als konkrete Resultate erwarten wir unter anderem Kosten/Nutzen-Funktionen für den Einsatz rekonfigurierbarer Hardware im Systementwurf sowie eine erste Generation von Entwurfsmethoden und -werkzeugen, die den Entwurf und die Programmierung rekonfigurierbarer Rechensysteme ermöglichen. Aus dem akuten Mangel und der großen Nachfrage nach Systemen, die rekonfigurierbar sind, ergibt sich das folgende geplante Arbeitsprogramm.

Arbeitsprogramm:

Wie bereits dargelegt, besteht das besondere Ziel dieses Schwerpunktprogramms in der Entwicklung von Entwurfsverfahren sowie in der Untersuchung von Architekturen und Anwendungen für rekonfigurierbare Rechensysteme. Aus den vier genannten Schwerpunkten lassen sich die folgenden, zentralen Fragestellungen bzw. Themenbereiche definieren.

Mechanismen und Effizienz

Zentral für diesen Themenbereich ist die Erforschung und Analyse der Mechanismen der Rekonfiguration auf verschiedenen Abstraktionsebenen hinsichtlich Kosten und Nutzen. Bislang gibt es wenig Erfahrung, ob rekonfigurierbare Architekturen, die flexibel, aber natürlich auch teurer und in den meisten Fällen weniger ressourceneffizient als dedizierte Hardwarelösungen sind, sich auszahlen und für welche Anwendungen solche Implementierungen Nutzen bringen. Gebraucht werden Kostenfunktionen, die einem Systementwickler einen Kosten/Nutzen-Vergleich ermöglichen. Ferner sind Untersuchungen notwendig, um Schlüsse ziehen zu können, auf welcher Ebene und in welcher Art man Rekonfigurierbarkeit im implementierten System am Besten nutzen sollte.

Sprachen und Modelle

Im Bereich konventioneller Rechner und eingebetteter Systeme werden bislang keine Modelle für Anwendungen und Architekturen eingesetzt, die das Potenzial haben, sich im Betrieb zu verändern. Dies betrifft auf der Verhaltensseite neue Funktionen, auf der Architekturseite geänderte Komponenten, Datenpfade, Kommunikationswege und Speicherstrukturen. Arbeiten auf dem Gebiet fehlertoleranter Systeme sowie auf dem Gebiet des Hardware/Software Codesigns könnten hier Ausgangspunkt für neue oder Erweiterungen bekannter Modelle und Sprachen dienen.

Der Einsatz rekonfigurierbarer Hardware ist bisher stark produktspezifisch geprägt, proprietäre Entwurfswerkzeuge erzeugen eine zu starke Bindung an spezielle technologische Parameter von Produktfamilien. Hier könnte die Entwicklung von Modellen deutliche Vorteile bringen, sofern es gelingt, die wesentlichen Möglichkeiten der Rekonfigurierung in den Modellen zu repräsentieren und die Modelle effizient auf reale Produktfamilien abzubilden. Modellangepasste Sprachen könnten dann die Grundlage für einen wesentlich systematischeren und effektiveren Entwurfsprozess für rekonfigurierbare Systeme darstellen.

Untersucht werden sollen einerseits abstrakte Modelle, die es erlauben, die dynamische Veränderbarkeit der Zielhardware darzustellen, auf der dann Verfahren der Hardwarerekonfiguration als Teil der Entwurfsmethodik aufbauen können.

Andererseits soll untersucht werden, wie aktuelle Entwurfssprachen, z.B. SystemC, so erweitert werden können, dass Mechanismen der Hardwarerekonfiguration beschrieben und die Synthese rekonfigurierbarer Systeme unterstützt werden kann.

Entwurfsmethodik

Besonderer Wert wird im Rahmen dieses Themenbereichs auf die Erforschung durchgängiger Methoden zur Unterstützung des Entwurfs rekonfigurierbarer Rechensysteme gelegt sowie auf die Werkzeugentwicklung. Diese Methoden betreffen retargierbare Compiler, Echtzeitbetriebssysteme und neue Synthesewerkzeuge.

Ein wichtiges, zu lösendes Problem betrifft hier die dynamische Rekonfiguration zur Laufzeit. Hier sind Soft- und Hardwaremodelle zu entwerfen, die es erlauben, gültige Abbildungen von Funktionalität zu bestimmen und dabei bestimmte Ziele zu optimieren. Diese Probleme gehen über klassische Verfahren der Hardware/Software-Partitionierung hinaus, da sowohl die Aufgaben des Systems, als auch die Architektur sich zeitlich ändern können (z.B. durch Ausfall und Hinzufügen von Komponenten). Unklar ist, wie man beispielsweise Abbildungen von Funktionalität auf Ressourcen findet, die im Sinne des Aufrechterhaltens der Systemfunktionalität bei Ausfall einzelner Komponenten geeignet sind. Untersucht werden sollen daher Verfahren der dynamischen Hardware/Software-(Re)partitionierung und der Online-Rekonfiguration. Als Erweiterung der Rekonfigurationsproblematik könnte man sich vorstellen, dass sich ein System in Zukunft im Sinne der Optimierung und Anpassung an neue Applikationen auch selbst rekonfigurieren kann. Es sollen daher auch Mechanismen der Selbstrekonfiguration und -adaption erforscht werden. Darunter stellen wir uns einerseits zentralistische, andererseits verteilte Ansätze vor.

Im Zusammenhang mit der Rekonfigurierbarkeit spielen Sicherheitsaspekte eine wichtige Rolle. Beispielsweise muss in einem System, das Echtzeitbeschränkungen unterliegt, garantiert sein, dass eine Repartitionierung in einem bestimmten Zeitrahmen abgeschlossen ist und alle Realzeitbeschränkungen auch nach der Repartitionierung erfüllt bleiben. Daher sollen auch Verfahren der Verifikation von rekonfigurierbaren Systemen behandelt werden. Dazu gehören Verfahren der Co-simulation, der Analogsimulation als auch der formalen Verifikation der betreffenden Komponenten. Die Herausforderung hier liegt ebenfalls in der Veränderlichkeit des Systems bei zeitvarianter Last und zeitvarianter Struktur. Ausgenutzt werden kann das Potenzial der Rekonfigurierbarkeit auch im Sinne der Steigerung der Ausfallsicherheit. Auch wenn dies eventuell mit einem einmaligen Mehraufwand verbunden ist, wäre man in Zukunft an Architekturen interessiert, die sowohl in der Kommunikationsstruktur (Topologie) als auch in der Verteilung von Funktionen auf Hardwarekomponenten (Bindung) so flexibel ist, dass garantiert werden kann, dass die Funktionalität des Systems ganz oder bis zu einem gewissen Grad bei Ausfall eines Teilsystems oder bei Auf- und Umrüstung (z.B. Hinzufügen oder Aktivieren weiterer Funktionalität) aufrecht erhalten werden kann. Dazu müssen Maße der Ausfallsicherheit definiert werden und in die Optimierung miteinbezogen werden. Ferner sollen Sicherheitsmechanismen aus der Domäne fehlertoleranter Systeme wie Fehlererkennung, Diagnose und Verfahren des Wiederaufsetzens eines Systems nach einem Fehlerfall im Zusammenhang mit rekonfigurierbarer Hardware untersucht werden.

Da Realzeit-Betriebssysteme bislang nur den Aspekt der zeitlichen Verteilung von Aufgaben, nicht aber den Aspekt zeitvarianter Architekturen (Repartitionierung) untersuchen, sind hier ebenfalls ausgiebige Untersuchungen notwendig.

Schließlich soll die Thematik des plattformbasierten Entwurfs im Zusammenhang mit rekonfigurierbaren Systemen untersucht werden.

Architekturen und Anwendungen

Weitere Themen betreffen die Erforschung und Entwicklung spezieller mikroprozessor-basierter Architekturen rekonfigurierbarer Systeme unter besonderer Berücksichtigung der Rekonfigurierbarkeit auf den unterschiedlichen genannten Abstraktionsebenen. Dazu gehören neue SoC-Architekturen, Multiprozessorsysteme, FPGA-basierte Co-Prozessoren und neue, nicht FPGA-basierte Ansätze für hochdynamisches Rekonfigurieren. Ferner sind Untersuchungen zur Charakterisierung von Anwendungsgebieten mit einem hohem Potenzial für Rekonfigurierbarkeit durchzuführen.

Als zentrale Anwendungsgebiete erscheinen uns die Bereiche der Automobiltechnik (ausfallsichere Systeme), der Signal- und Bildverarbeitung (hohe Rechenleistung) sowie der Kryptographie (z.B. Elliptische Kurven-Kryptochips) sehr interessant, insbesondere auch im Bereich des Mobile Computing.

Für zukünftige Implementierungen flexibler Systems-on-a-Chip (SoC) stellt die Gestaltung des auf dem Chip zu integrierenden Kommunikationsnetzwerkes eine zunehmend größere Herausforderung dar. Mit einer wachsenden Anzahl von integrierten Komponenten steigen die Anforderungen an die Flexibilität einer solchen Kommunikationstruktur. Über letztere müssen sowohl Datentransfers während des Normalbetriebs des Chips als auch die Steuerung und Beobachtung des Testvorgangs nach der Fertigung abgewickelt werden. Daher werden hierfür zunehmend flexible rekonfigurierbare Verbindungsstrukturen benötigt. Die Entwicklung neuer Methoden für die Synthese und Rekonfiguration von Kommunikationsstrukturen für echtzeitfähige SoC stellt daher einen wesentlichen Teilaspekt der Gesamtentwurfsmethodik für rekonfigurierbare Rechensysteme dar.

Richtlinien für Antragsteller

Schwerpunktmäßig sollten im Rahmen dieses Schwerpunktprogramms Projekte gefördert werden, die Beiträge zu den im vorherigen Abschnitt genannten Themenbereichen liefern. Gegenstand des Interesses sind Entwurfs- und Entwicklungsarbeiten im Bereich konkreter rekonfigurierbarer Rechensysteme für spezielle Anwendungsgebiete sowie von Forschungs- und Entwicklungsarbeiten im Bereich der Entwurfsmethodik und der Werkzeugentwicklung. Idealerweise sollte der Schwerpunkt eines beantragten Projekts auf einem dieser Teilziele liegen, jedoch stets um aussichtsreiche Teilaspekte des jeweils anderen Bereichs ergänzt werden. Der Aspekt der Rekonfigurierbarkeit von Hardware sollte im Projektantrag klar erkennbar sein.

Nicht gefördert werden sollen Projekte zu den Themenkomplexen besonderer Rechnerparadigmen wie DNA- und Quantencomputing, optische Rechner sowie Projekte im Bereich der Softwaremethodenentwicklung, die den Aspekt der Hardwarerekonfiguration nicht direkt zum Gegenstand haben.

CD

Copyright © Hardware-Software-Co-Design, Universität Erlangen-Nürnberg, Frank Hannig
Letzte Änderung am 24. März 2003.