Efficient Scans on Modern Hardware (Benjamin Kramer)
In recent years, hardware characteristics, software systems, and
application patterns have all changed in a way that emphasizes the
importance of scan tasks in modern main-memory database systems. Main
memory is available cheaply and can hold significant amounts of data
nowadays. In-memory computing has matured and has resulted in key
business platforms such as SAP HANA. Expectations for ad-hoc querying
defeat the use of pre-built index structures and mandate scans
instead.
At the same time, it is still unclear how the latest advances on the
hardware side can best be leveraged to support efficient scans. Growing
SIMD widths, for instance, appeal with theoretical speed-ups of up 16×
or more. But existing strategies for predicate evaluation and scans are
not prepared for such large SIMD widths. In fact, even for smaller SIMD
sizes it is not clear how, e. g., predicates that involve multiple data
types and widths can be realized most efficiently.
This thesis studies and evaluates methods that make use of modern
hardware technologies to accelerate scans, in particular SIMD-Scan,
BitWeaving and ByteSlice. Starting from SIMD-Scan, methods to further
reduce memory bandwidth are explored by skipping parts of the input
efficiently or by reducing the output size by handling intermediate
results more efficiently.
Effiziente Filteroperationen auf Intel Xeon Phis (Tim Mühlig)
Aufgrund des fortwährenden Anstiegs der Datenmengen in Datenbanken wird stetig mehr Rechenleistung benötigt, um diese zu verwalten. Diverse Forschungsarbeiten haben gezeigt, dass durch die Auslagerung von Datenbankoperationen auf Grafikprozessoren (GPU), welche eine massiv-parallele Architektur besitzen, eine signifikante Leistungssteigerung erreicht werden kann. Da die neue Intel Xeon Phi Coprozessorarchitektur viele Eigenschaften einer GPU aufweist, könnte auch sie sich für den Einsatz in Datenbanksystemen eignen. In dieser Bachelorarbeit werden verschiedene Implementierungen für zwei essenzielle Datenbankoperationen (Scans und Sortieren) gezeigt und auf dem Coprozessor ausgewertet. Dabei stellt sich heraus, dass spezielle Anpassungen zur parallelen Programmausführung für einen effektiven Scan-Operator auf dem Intel Xeon Phi von sehr großer Bedeutung sind. Es zeigt sich, dass die Geschwindigkeit hauptsächlich von der verfügbaren Speicherbandbreite beschränkt wird. Im Vergleich ist eine optimierte Scan-Implementierung bis zu 400-mal schneller als eine nicht angepasste Variante. Auch beim Sortieren können große Geschwindigkeitsschübe durch Nebenläufigkeit erreicht werden. Nicht für die Architektur ausgelegte Sortierverfahren erzielen auf dem Coprozessor hingegen eine vergleichsweise schlechte Performance. Basierend auf diesen Ergebnissen ist anzunehmen, dass auch komplexere Operatoren von der Leistungsfähigkeit des Xeon Phi profitieren können.
Effizientes Laden von Rohdaten in modernen Hauptspeicherdatenbanksystemen (Daniel Smit)
Das Volumen von Daten, die im CSV-Format abgelegt werden, wächst immer weiter. Diese werden in verschiedenen wissenschaftlichen und wirtschaftlichen Branchen und Anwendungen eingesetzt.
Ziel dieser Arbeit ist es, einen effizienten CSV-Parser für das Hauptspeicherdatenbanksystem CoGaDB zu entwickeln. Insbesondere die von Mühlbauer et al. vorgeschlagenen Optimierungen sollen hierbei untersucht und ihr jeweiliger Geschwindigkeitsvorteil experimentell gemessen werden. Dies sind vor allem:
1. Parallelisierung durch Multithreading,
2. Ausnutzung moderner CPU-Instruktionen, insbesondere der SSE4.2,
3. Optimierung des Cache-Verhaltens.