Projekt FPGA-Cluster DB

Beschleunigung relationaler Datenbanken mittels laufzeitadaptiver FPGA-Cluster (ZIM)

Projektleiter

PD Dr. rer. nat. habil. Sven Groppe

Wissenschaftliche Mitarbeiter

Dipl.-Inf. Stefan Werner

Das Ziel dieses Projektes ist eine Hardwarebeschleunigung von Datenbankoperationen bei relationalen Datenbanken mit großen Datenvolumina. Hiermit wird die Kernthematik von sogenannten „big data“ Szenarien adressiert, indem, ohne große Eingriffe in die Daten und Analysewerkzeuge der Kunden zu erfordern, eine Beschleunigung der Datenbankzugriffe und damit Datenverarbeitung ermöglicht wird. Die technische Umsetzung und Innovation soll mittels eines kombinierten Hardware- /Softwaresystems erreicht werden, welches zeitintensive Datenbankoperationen auf ein skalierbares Cluster aus programmierbaren Logikbausteinen (FPGAs, Field Programmable Gate Arrays) auslagert. Das zu entwickelnde Datenbankmanagementsystem FPGA-Cluster DB soll mehrere Anfragen gleichzeitig bearbeiten, zeitintensive Operationen erkennen und auf ein Cluster aus FPGAs auslagern. Die FPGAs realisieren dabei immer nur die Schaltungsstrukturen, welche für die aktuell zu bearbeitenden Anfragen benötigt werden. Dies wird mittels partieller dynamischer Rekonfiguration erreicht, welche es ermöglicht, Teile der Konfiguration eines FPGAs und damit dessen realisierte Schaltungsstrukturen zur Laufzeit beliebig zu ändern. Die aktuell benötigten Datenpfade werden dabei aus einer Menge von vorsynthetisierten Datenbankoperatoren nach dem Baukastenprinzip zusammengesetzt und in das FPGA-Cluster eingeschrieben.

Das IFIS bearbeitet in diesem Rahmen das Teilprojekt "Integration von Hardwarebeschleunigern in Datenbanksysteme", welches sich mit den verfahrens- und datenbankbezogenen Aspekten des Vorhabens befasst. Das weit verbreitete Open-Source Datenbanksystem MySQL soll dabei so erweitert werden dass bei der Erstellung des Operatorgraphen die Möglichkeiten der Hardwarebeschleuniger mit berücksichtigt werden und entsprechende Operatoren auf das FPGA-Cluster ausgelagert werden. Auch soll das Optimierungspotenzial bei der Bearbeitung paralleler Anfragen ausgenutzt werden.