Query-Optimierung und Near-Data-Processing auf rekonfigurierbaren SoCs für Big Data Analyse (Phase II)
Query-Optimierung und Near-Data-Processing auf rekonfigurierbaren SoCs für Big Data Analyse (Phase II)
(Drittmittelfinanzierte Einzelförderung)
Titel des Gesamtprojektes:
Projektleitung: Klaus Meyer-Wegener
Projektbeteiligte: Maximilian Langohr
Projektstart: 1. August 2021
Projektende: 31. Juli 2024
Akronym: ReProVide II INF6
Mittelgeber: Deutsche Forschungsgemeinschaft (DFG)
URL: https://www.dfg-spp2037.de/me943-9/
Abstract
Die schnelle und energieeffiziente Analyse von Petabytes an Daten erfordert eine massiv parallele Verarbeitung bereits an der Datenquelle. Das Ziel des ReProVide-Projekts ist es, neuartige FPGA-basierte Lösungen zur intelligenten Speicherung und quellnahen Datenverarbeitung zusammen mit neuartigen Optimierungstechniken bereitzustellen, die die Geschwindigkeit und Rekonfigurierbarkeit von FPGA-Hardware für die skalierbare und leistungsfähige Reduktion großer Datenmengen nutzen.
In Phase I haben wir die dafür notwendigen Grundlagen geschaffen, insbesondere einen FPGA-basierten Architekturentwurf für rekonfigurierbare Data-Provider-Units (RPUs). RPUs bieten direkte Schnittstellen zu einer Vielzahl von Speichertypen (wie SSDs). Die Architektur ermöglicht die Ausführung von Software, aber auch das dynamische Laden von anfragespezifische Hardware-Beschleunigern durch dynamische Hardware-Rekonfiguration des FPGAs. Für die Integration von RPUs in ein DBMS wurden neue Kostenmodelle entwickelt, die die Eigenschaften eines RPU-Systems berücksichtigen. Wir haben eine neuartige hierarchische (mehrstufige) Abfrage-Optimierungstechnik erfunden, um zu entscheiden:
a) welche Operationen sich lohnen, einer RPU zugeordnet zu werden (Query Partitioning) und b) wie die zugeordneten (Sub-)Abfragen oder Datenbankoperatoren auf der RPU eingesetzt und ausgeführt werden sollen (Query Placement).
Der Abfrageoptimierer teilt sich die Arbeit zwischen dem globalen Optimierer des DBMS und einem architekturspezifischen lokalen Optimierer, der auf dem CPU-System einer RPU läuft. In Phase II sind unsere Forschungsziele folgende:
1.) Datenstromverarbeitung: RPUs könnten auch für die Filterung von Datenströmen vielfältige Vorteile bieten. Hier muss eine Fülle grundlegend neuer Hardwarekonzepte zur Unterstützung nicht- relationaler und vor allem von Datenstromoperatoren untersucht werden. Angestrebt werden RPUs, die für eine viel vielfältigere Klasse von Aufgaben einsetzbar sind, einschließlich Fensteroperationen und Datenvorbereitungsfunktionen.
2.) Skalierbarkeit: Die Benutzerinteraktion mit modernen Datenbanken umfasst in der Regel nicht nur eine, sondern eine Abfolge von Abfragen auf relationalen und nicht standardisierten Daten (Anfragesequenzen). Gleichzeitig laufen mehrere Anwendungen gleichzeitig. Wir werden einen RPU-Cluster mit acht Knoten entwerfen, der an Netzwerk und Speicher angeschlossen ist und die verteilte und parallele Datenverarbeitung auf großen Datenbanken und Datenströmen ermöglicht. Dies erfordert Konzepte zur Datenpartitionierung sowie neuartige Techniken zur Anfrageoptimierung unter Nutzung von Informationen über Anfragesequenzen.
3.) Demonstrator: Als Testplattform und Nachweis der Vorteile des ReProVide-Ansatzes im Allgemeinen und eines FPGA-basierten RPU-Clusters im Besonderen wollen wir sowohl analytisch als auch experimentell die Margen der Energieeinsparungen bewerten, die durch eine datennahe Verarbeitung möglich werden.
Publikationen
- Langohr M., Vogler T., Meyer-Wegener K.:
SKYSHARK: A Benchmark with Real-world Data for Line-rate Stream Processing with FPGAs
Lernen, Wissen, Daten, Analysen (LWDA) (Marburg, 9. Oktober 2023 - 11. Oktober 2023)
In: Leyer M, Wichmann J (Hrsg.): Lernen, Wissen, Daten, Analysen (LWDA) Conference Proceedings, Marburg, Germany, October 9-11, 2023 2023
Open Access: https://ceur-ws.org/Vol-3630/LWDA2023-paper9.pdf
URL: https://ceur-ws.org/Vol-3630/LWDA2023-paper9.pdf
BibTeX: Download
Abschlussarbeiten
Bachelorarbeit – KR@KEN “Planung und Implementierung eines Anfrageprozessors zur Ausführung von Teilgraphen relationaler logischer Ausführungspläne” [Vergeben]
Im Rahmen der Bachelorarbeit soll eine solche prototypische Implementierung geplant und umgesetzt werden. Dabei sind folgende Punkte besonders wichtig:
- Implementierung der physischen Operatoren zur Ausführung der Teilgraphen
- Integration von möglichen Verzögerungen, die jederzeit angepasst werden können
- Modularer Aufbau des Prototypens für zukünftige Erweiterungen
Der entwickelte Prototyp muss mit dem bestehenden System kommunizieren können. Nötige Schnittstellen und Protokolle sind bereits vorhanden. Die Implementierung des Prototypens findet in Java statt. Ein wichtiger Teil der Arbeit ist neben der Ausarbeitung der Bachelorarbeit die Dokumentation des Codes.
Masterarbeit – SKYSHARK Konzeptionierung und Entwicklung eines Datenbank-Benchmarks auf Basis von Echtzeit Flugdaten (ADS-B) und Flugplänen” [Vergeben]
Im Rahmen der Masterarbeit soll ein Prototyp entwickelt werden, der es ermöglicht Echtzeit Flugdaten mittels Diensten wie OpenSky Network (https://opensky-network.org ) zu sammeln und mit Informationen zu Flugplänen anzureichern. Weiterhin sollen Anfragen aus den oben genannten Kategorien konzeptioniert und an Hand der vorhandenen Daten getestet und evaluiert werden. Als letztes solle der so entwickelte Benchmark mit bestehenden Benchmarks, verglichen und Vor- und Nachteil herausgestellt werden.
Personen
Maximilian Langohr, M. Sc.
91058 Erlangen
Bayern
- Telefon: +49 9131 85-27800
- E-Mail: maximilian.langohr@fau.de
- Webseite: https://www.cs6.tf.fau.de/person/maximilian-langohr/
Prof. i. R. Dr. Klaus Meyer-Wegener
91058 Erlangen
- Telefon: +49 9131 85-27892
- E-Mail: klaus.meyer-wegener@fau.de
- Webseite: https://www.cs6.tf.fau.de/person/klaus-meyer-wegener/