Suche
Aktuell:
23. Mai 2013
Workshop der schwedischen ITS-EASY Post Graduate School auf Einladung der Fachgruppe Softwaretechnik in der Zukunftsmeile
Die "ITS-EASY Post Graduate School for Embedded Software an Systems" ist eine industrielle Forschungseinrichtung, die an ...
DERty RuSt
DruckenDer Forschungsbereich DERty RuSt befasst sich mit der Entwicklung von Entwurfsmethoden und Optimierungskonzepten für rekonfigurierbare Eingebettete Systeme im Bereich der Hardware. Aufbauend auf der für die Rekonfigurierung erforderlichen Basistechnologie liegt ein besonderer Schwerpunkt in der Optimierung der eingesetzten Verfahren. Die einzelnen Forschungsarbeiten ergänzen sich dabei zu einer gemeinsamen Entwurfsmethodik, welche sich in einer durchgängigen Werkzeugkette widerspiegelt. Beginnend bei einer modellbasierten Modellierung über eine automatisierte Synthese hin zur dynamischen Rekonfigurierung ermöglicht uns dieser Ansatz insbesondere, die Möglichkeiten der vollständigen und partiellen Rekonfigurierung zur Laufzeit zu nutzen.
Ziel der Forschungsarbeit ist es, optimierte Rechensysteme zu entwickeln, die auf rekonfigurierbaren Hardwarebausteinen wie etwa FPGAs (Field Programmable Gate Arrays) basieren. Abhängig von den Charakteristika der Anwendung können solche Bausteine um ein Vielfaches effizienter und leistungsstärker sein als sequentiell arbeitende Prozessoren. Existierende Techniken aus dem Bereich des Reconfigurable Computing werden erweitert und eingesetzt, um die dynamische Rekonfigurierung zur Laufzeit zu ermöglichen. Die Erforschung innovativer Optimierungsstrategien ermöglicht den effizienten Einsatz der Rekonfigurierungstechniken.
Unter dem Gesichtspunkt der Performancesteigerung entwickelt der Forschungsbereich DERty RuSt gezielt Verfahren, um die speziellen Eigenschaften rekonfigurierbarer Hardware auf einer höheren Abstraktionsebene verfügbar zu machen. Laufzeitsysteme, wie das im Forschungsbereich DERty DREAMS entwickelte konfigurierbare Realzeit-Betriebssystem DREAMS erlaubt es, dynamische Rekonfigurierung auf Betriebssystemebene zu steuern und zu organisieren. Dies eröffnet die Möglichkeit, die Vorteile der Hardware Rekonfigurierung in einer eleganten Weise für eine oder mehrere Anwendungen verfügbar zu machen. Entwurfsmethodik und Laufzeitsystem zusammen sollen gewährleisten, dass Anwendungen weitestgehend plattformunabhängig, mit Ausnutzung der Rekonfigurierbarkeit und unter Einhaltung von Echtzeitbedingungen ablaufen.
Partitionierung
Damit Ressourcenrestriktionen verletzende Anwendungen dennoch berechnet werden können, werden Funktionalitäten nach Bedarf geladen, d.h. dynamisch auf einem rekonfigurierbaren Baustein an unterschiedlichen Stellen zur Ausführung gebracht. Speziell entwickelte Partitionierungsverfahren, die insbesondere teure Verbindungsleitungen zwischen Modulen minimieren, ermöglichen es kommunikationsintensive Bereiche jeweils als Einheiten konsekutiv auf beschränkter Hardwarefläche zu berechnen. Die daraus resultierenden Herausforderungen erfordern eine abstrakte Modellierung bis hin zur Umsetzung durch spezifische Syntheseprogramme. Die Arbeiten finden im Rahmen des Schwerpunktprogramms 1148 „Rekonfigurierbare Rechensysteme“ der DFG statt.
Caching und Pipelining
Da eine Rekonfigurierung stets Kosten verursacht, ist man bestrebt möglichst ohne sie auszukommen, bzw. nach Möglichkeit schon im Voraus und somit parallel zu bereits gestarteten Teilberechnungen mit dem Nachladen von Modulen zu beginnen. Für periodische Systeme werden hierfür Cachingverfahren entwickelt, die Teile einer höher priorisierten Anwendung nach Möglichkeiten auf der Hardware vorhalten, wohingegen weniger wichtige oder nur selten aufgerufenen Berechnungen erst bei Bedarf rekonfiguriert werden. Zudem wird die unvermeidliche und oft relativ lange Rekonfigurierungsphase mittels Prinzipien des Pipelinings so geplant, dass eine verzahnte Ausführung von Rekonfigurierung und Berechnung die Antwortzeit des Systems verbessert. Dabei werden mehrere separat rekonfigurierbare Abschnitte der Ausführungsplattform als multifunktionale Pipelinestufen eingesetzt.
Für den Einsatz von rekonfigurierbaren Systemen im Echtzeitbereich wurde ein neuartiges Schedulingverfahren entwickelt, dass bei der Erstellung des Ablaufplans sogar die Unterbrechung der Rekonfigurierungsphase zulässt. Dies ist bedeutend, wenn mehrere Tasks auf einer komplexen Laufzeitumgebung ausgeführt werden, die jedoch nur einen Konfigurationsport besitzt.
Ablaufplanung für Hardware Tasks
Ein wichtiges Einsatzgebiet von rekonfigurierbarer Hardware sind Eingebettete Systeme mit Echtzeitanforderungen. Um vorhandene Hardwareressourcen für mehrere Prozesse effizient nutzbar zu machen, ist es erforderlich, die in Hardware implementierten Prozesse zur Laufzeit auszutauschen. Um mehrere periodischer Prozesse auf rekonfigurierbarer Hardware auszuführen wurden mehrere Schedulingverfahren entwickelt und analysiert. Das server-basierte Schedulingverfahren, welches die geringsten Anforderungen an die rekonfigurierbare Hardware stellt, wurde dabei prototypisch als FPGA-Kernel in Hardware implementiert.
HW/SW Migration von Betriebssystemdiensten
In rekonfigurierbaren hybriden Systemen, die sowohl Prozessoren (CPU) als auch FPGAs (Field Programmable Gate Arrays) beinhalten, ist die Rekonfigurierbarkeit der Hardware ein fundamentaler Bestandteil bei der dynamischen Auslagerung von Betriebssystemdiensten auf die Hardware Plattform. Diese Systeme sind für uns von Interesse, da sie eine große Flexibilität in Kombination mit einer hohen Rechenleistung vorweisen und sich für den Einsatz in einer dynamisch veränderlichen Umgebung hervorragend eignen. Die Aufteilung der jeweiligen Dienste in hybriden Systemen erfolgt daher mit dem Ziel optimaler Performance unter dem Gesichtspunkt einer kosteneffizienten Ressourcennutzung. Zu diesem Zweck wurden Algorithmen entwickelt, die eine Auswertung der Ressourcenbelegung zur Laufzeit und die damit verbundene Migration der Anwendungen zwischen CPU und FPGA ermöglichen. In Echtzeitsystemen sind die gegebenen Zeitschranken der Anwendungen trotz ablaufender Migration einzuhalten. Um dies zu gewährleisten, wurden Scheduling Techniken aus der RTOS-Domäne erweitert und angepasst, die nun als Grundlage für die Ablaufplanung der Migration dienen.
Schnittstellensynthese und Anwendungen
Schnittstellensynthese
Ein weiteres Forschungsthema behandelt die Modellierung und automatisierte Synthese von rekonfigurierbaren Schnittstellen. Diese ermöglichen es, heterogene Anwendungen mit unterschiedlichen Kommunikationsprotokollen, wie sie unter Anderem im IP (Intellectual Property) basierten Entwurf zu finden sind, miteinander zu verbinden. Die Schnittstellen agieren als Protokolladapter und können mehrere Anwendungen gleichzeitig verbinden (Multi-Task Interfaces). Durch ihren modularen Aufbau ermöglichen die Schnittstellenmodule den Austausch einzelner Anwendungen zur Laufzeit. Dabei werden gleichzeitig die betroffenen Teile der Schnittstelle umkonfiguriert. Dieser Ansatz ermöglicht den Austausch von Anwendungen in echtzeitfähigen und sicherheitskritischen Systemen, da selbst während der Rekonfigurierung ein deterministisches Verhalten gewährleistet wird. Ein in unserer Fachgruppe entwickeltes Werkzeug unterstützt die Modellierung vollständiger Kommunikationssysteme basierend auf UML2.0. Eine anschließende automatische Synthese generiert die rekonfigurierbaren Schnittstellen als VHDL Module.
Anwendungen
Eine weitere Anwendung unserer Methodik findet sich bei der Lastverteilung in heterogenen Clustern, in denen rekonfigurierbare Hardware als dynamische Rechenressource eingesetzt wird. Das besondere hierbei ist die Verschmelzung von Konzepten homogenen Hochleistungsrechnen mit denen von rekonfigurierbaren Systemen.

