FPGA-Based System Virtual Machines
Translated title
FPGA-basierte Systemvirtualisierung
Publication date
2014
Document type
PhD thesis (dissertation)
Author
Advisor
Referee
Granting institution
Helmut-Schmidt-Universität / Universität der Bundeswehr Hamburg
Exam date
2014-03-31
Organisational unit
DOI
Part of the university bibliography
✅
DDC Class
000 Informatik, Wissen & Systeme
Keyword
Field Programmable Gate Array
Operating System
Virtuelle Maschine
Betriebssystem
Abstract
Nowadays, FPGAs are commonly used to take advantage of their reconfigurability as accelerator units. Moores Law still predicts increasing transistor densities for integrated circuits. Some Authors predict, that this will result in the general usage of reconfigurable areas in future computer architectures. This thesis proposes to combine those reconfigurable areas with the idea of system virtual machines. The capability of reconfigurable hardware to provide software as needed is exploited to support system virtual machines with their own hardware on demand. Firstly, the architectural requirements to take advantage of reconfigurable areas for the purpose of supporting virtual machines are discussed theoretically for the important parts of a computer: main memory, devices and processors. As a second step, a proof of concept demonstrator is developed to proof the theoretically discussed advantages of such a FPGA supported virtualization system. The ability to perform dynamic and partial reconfiguration of a FPGA is used to implement both, the static (for the host system) and the reconfigurable parts (for the guest systems) of the hardware of such a virtualization system. The demonstrator not only includes hardware, but also an full fledged operating system (an adapted Linux kernel, able to be executed on the hardware) including all necessary device drivers. Finally, the theoretically expected advantages of a FPGA based virtualization system over conventional virtualization systems are measured and therefore shown on base of the proof of concept demonstrator. Furthermore remaining problems and possible solutions will be presented.
Die Verwendung von FPGAs als rekonfigurierbare Hardwarebausteine findet bereits heute eine immer weitere Verbreitung. Das Gesetz von Moore sagt eine immer weitere Zunahme der Transistorzahlen auf immer kleineren Flächen voraus. Einige Autoren sind der Auffassung, das dies dazu führen wird, dass rekonfigurierbare Hardware fester Bestandteil zukünftiger Rechnerarchitekturen sein wird. Die vorliegende Arbeit schlägt eine Nutzungsmöglichkeit dieser dann vorhandenen rekonfigurierbaren Flächen vor, die über die heutzutage gebräuchliche Nutzung als Hardwarebeschleuniger für spezifische Berechnungsaufgaben (engl. accelerator units), hinausgeht. Die Arbeit vereinigt die Ansätze von konfigurierbarer Hardware und systemorientierten Virtuellen Maschinen. Dabei wird die Eigenschaft von konfigurierbarer Hardware, bei Bedarf die benötigte Hardwarefunktionalität bereitzustellen, genutzt, um das Erzeugen und Verwalten von systemorientierten Virtuellen Maschinen als tatsächlich vorliegende Hardware zu ermöglichen. Die Arbeit analysiert dabei zunächst theoretisch die notwendigen Voraussetzungen (Schnittstellen zwischen rekonfigurierbarer und statischer Hardware; Betriebssystemfunktionalitäten) an ein solches Virtualisierungssystem. In einem zweiten Schritt der Arbeit wird ein FPGA basierter Prototyp eines solchen Virtualisierungssystems vorgestellt. Ein FPGA bietet dabei durch Nutzung von partieller und dynamischer (Selbst)rekonfiguration die Möglichkeit, sowohl die zur Laufzeit des Systems statische, als auch die rekonfigurierbare Hardware abzubilden. Der Prototyp beinhaltet dabei nicht nur die benötigte Hardware sondern auch ein auf diese Hardware angepasstes Betriebssystem (Linux) inklusive der benötigten Gerätetreiber. Im abschließenden Teil der Arbeit werden die im theoretischen Teil erarbeiteten Vorteile eines FPGA basierten Virtualisierungssystems durch Benchmarkmessungen am Protoypen gezeigt. Weiterhin werden noch offenen Probleme und Lösungsvorschläge vorgestellt, die in weiterführenden Arbeiten bearbeitet werden können.
Version
Not applicable (or unknown)
Access right on openHSU
Open access