Multicore Reconfiguration Platform - A Research and Evaluation FPGA Framework for Runtime Reconfigurable Systems

Multicore Reconfiguration Platform - Ein Forschungs und Evaluations FPGA Framework für laufzeitrekonfigurierbare Systeme

URN urn:nbn:de:gbv:705-opus-30984
URL
Dokumentart: Dissertation
Institut: Lehrstuhl: Technische Informatik
Fakultät: Fakultät Elektrotechnik
Hauptberichter: Prof. Dr. Bernd Klauer
Sprache: Englisch
Tag der mündlichen Prüfung: 16.03.2015
Erstellungsjahr: 2015
Publikationsdatum:
Originalveröffentlichung: elektronische Quelle (2015)
SWD-Schlagwörter: Field programmable gate array , Rekonfiguration , Netzwerk
Freie Schlagwörter (Deutsch): FPGA, laufzeit Rekonfiguration, Universalrechner
Freie Schlagwörter (Englisch): FPGA, dynamic runtime reconfiguration, general-purpose computing
DDC-Sachgruppe: Informatik

Kurzfassung auf Englisch:

Field Programmable Gate Arrays (FPGAs) support the change of its hardware functionality, even after production. They are already very common in research and industry. Their main field of application is hardware prototyping and High Performance Computing (HPC). This work suggests an extension of this field of application, towards general-purpose computing, such as standard personal computers. Typical applications, which will profit from this extensions, are image and video processing and cryptographic applications and also the simulation of physical systems. The requirement analysis, for the development process of such a system and the FPGA layout, suggests the importance of flexibility and the dynamic runtime reconfiguration of hardware components without interfering with running computations. A good operating system support is also very important. The granularity problem of runtime reconfigurable design flow is identified as one major problem. It arises from the fact that the runtime reconfigurable design flows at the moment require a decision about the number and size of the reconfigurable components at their first step. This work presents two solutions to the granularity problem. Furthermore, the work presents a multi FPFA framework. It implements one of the solutions to the granularity problem and is optimized for the use in a general-purpose environment. This Multicore Reconfiguration Platform (MRP) is easily extensible by adding FPGA boards at runtime. The evaluation of the MRP is done using the dimensions time and area and an example application. The example application consist of a small microprocessor core.

Kurzfassung auf Deutsch:

Field Programmable Gate Arrays (FPGAs) erlauben die Veränderung ihrer Hardwarefunktionalität noch nach ihrer Produktion. Sie kommen in Forschung und Wirtschaft immer mehr zum Einsatz. Ihre Hauptanwendungsbereiche sind derzeit Hardware Prototyping und High Performance Computing. Die vorliegende Arbeit schlägt eine Erweiterung der Anwendungsbereiche auch auf Universalrechner, wie zum Beispiel Standard PCs, vor. Von dieser Erweiterung werden sich Leistungssteigerungen für Anwendungen und eine verringerter Strombedarf versprochen. Typische Anwendungen, die von dieser Erweiterung profitieren würden, sind Bildbearbeitungsprogramme und physikalische Simulationen, zum Beispiel in den Bereichen elektromagnetischer Felder oder der Festkörperphysik. Die Analyse der Anforderungen an den Entwicklungsprozess und des zu verwendenden FPGA Designs ergab, dass beide sehr flexibel gestaltet werden müssen, dass Hardwarebausteine zur Laufzeit austauschbar sein müssen und dabei, bereits laufende Berechnungen, nicht stören dürfen. Eine gute Betriebssystemintegration ist ebenfalls wichtig. Als ein großes Problem wurde das Granularitätsproblem erkannt, welches auftritt, wenn viele verschieden große Komponenten mit guter Platzausnutzung auf einem FPGA platziert werden sollen. Die Arbeit präsentiert zwei Lösungsvorschläge für das Granularitätsproblem. Der erste stellt auf dem FPGA Gruppen für unterschiedlich große Komponenten bereit und der zweite teilt den FPGA in viele kleine und gleichgroße Plätze für Komponenten auf. Größere Komponenten müssen dann auf mehrere kleine Plätze verteilt werden. Außerdem beschreibt die Arbeit ein mehr FPGA Framework, welches den zweiten Lösungsvorschlag verwendet, um ein für Universalrechner optimiertes, zur Laufzeit partiell rekonfigurierbares System, bereitzustellen. Diese Multicore Reconfiguration Platform (MRP) erlaubt es, komplexe Hardwarebausteine in viele kleinere zu zerlegen und diese dann einzeln auf dem FPGA zu konfigurieren. Diese werden dann über ein leitungsvermittelndes Netzwerk miteinander verbunden. Außerdem lässt sich das MRP einfach, durch Hinzufügen weiterer FPGAs, erweitern und bietet den Zugriff auf externe FPGA Board Komponenten an. Die Verbindung zu einem Universalrechner wird durch eine 1Gbit Ethernet Verbindung bereitgestellt. Für das Betriebssystem Linux wurden Treiber entwickelt, die die einfache Integration des MRP durch Socket Netzwerkprogrammierung erlauben. Das MRP wird in den Dimensionen Zeit und Raum, sowie durch eine Beispiel Anwendung evaluiert. Als Beispielanwendung wurde ein kleiner Mikrokontroller auf das MRP portiert und Beispielrechnungen damit durchgeführt. Zum Abschluss bietet die Arbeit einen kurzen Ausblick auf noch offene Fragestellungen bei der Kopplung von FPGAs und Universalrechnern.

Hinweis zum Urheberrecht

Für Dokumente, die in elektronischer Form über Datenenetze angeboten werden, gilt uneingeschränkt das Urheberrechtsgesetz (UrhG). Insbesondere gilt:

Einzelne Vervielfältigungen, z.B. Kopien und Ausdrucke, dürfen nur zum privaten und sonstigen eigenen Gebrauch angefertigt werden (Paragraph 53 Urheberrecht). Die Herstellung und Verbreitung von weiteren Reproduktionen ist nur mit ausdrücklicher Genehmigung des Urhebers gestattet.

Der Benutzer ist für die Einhaltung der Rechtsvorschriften selbst verantwortlich und kann bei Mißbrauch haftbar gemacht werden.