Dieser Kurs zeigt einige der Implikationen auf, die aktuelle Trends der Hardwaretechnologie auf die Datenbankverarbeitung haben. Fortschritte wie tiefe Cache-Hierarchien oder die Verwendung von Hardwarebeschleunigern haben starke Auswirkungen auf Algorithmen der Datenverarbeitung. Im Kurs wird gezeigt, wie sorgfältiges Algorithmendesign die Effektivität von Hardware-Caches steigern kann; es wird gezeigt, wie die Parallelität moderner CPUs verwendet werden kann, um Datenbankaufgaben zu beschleunigen; es wird gezeigt, wie moderne und spezialisierte Prozessoren (z.B. Grafikprozessoren) zur Datenverarbeitung ausgenutzt werden können; und wir werden einen Blick werfen auf programmierbare Hardwarebausteine (field-programmable gate arrays, FPGAs) als eine vielversprechende Technologie jenseits dessen was in konventionellen Systemen bereits verfügbar ist.
Der Kurs wird begleitet von Übungen, in denen die gezeigten Erkenntnisse und Ideen verifiziert werden. Dazu werden kleine Softwareprogramme geschrieben, um die Effekte auf tatsächlichen Systemen zu zeigen.
Kap. | Inhalt | Letzte Änderung | |
---|---|---|---|
1 | Introduction | 10.04.2014 | |
2 | Cache Awareness | 26.04.2014 | |
3 | Instruction Execution | 08.05.2014 | |
Einschub | GPU-accelerated Data Management | 15.05.2014 | |
4 | Vectorization | 12.06.2014 | |
5 | Execution on Multiple Cores | 12.06.2014 | |
6 | Graphics Processing Units (GPUs) | 02.07.2014 | |
7 | FPGAs | 10.07.2014 |
Nr. | Ausgabe | Abgabe | Inhalt | Sonstiges |
---|---|---|---|---|
1 | 11.04.2014 | 24.04.2014 | Cache-Benchmark | Lösung |
2 | 26.04.2014 | 08.05.2014 | CPU Counter | |
3 | 13.05.2014 | 22.05.2014 | Hash Joins | Lösung |
4 | 05.06.2014 | 12.06.2014 | Vectorization | Lösung |
5 | 12.06.2014 | 26.06.2014 | Parallele Hashjoins | Lösung |
6 | 03.07.2014 | 10.07.2014 | GPU-Programmierung |
Weitere Materialien – Informationen zur Idee des Virtual Memory sowie zur Implementation (u.a. zu TLBs) finden Sie z.B. im Buch von Hennessy und Patterson (Anhang B), das Sie z.B. hier als e-Book finden.
Vorlesungsevaluation – Die Ergebnisse der Vorlesungsevaluation (jetzt mit textuellen Kommentaren) sind eingetroffen.
Prüfungstermine – Für die mündlichen Prüfungstermine habe ich mehrere Prüfungstage vorgesehen; an jedem Prüfungstagen gibt es mehrere Prüfungs-Slots. Zu den Prüfungstagen habe ich jeweils einen Doodle-Poll eingerichtet (alle Termine in einem Poll wäre etwas unübersichtlich geworden).
Bitte suchen Sie sich aus den angegebenen Tagen/Slots einen aus, an dem Sie gerne zur Prüfung kommen möchten (bitte nur an einem Tag einen Slot wählen). Es gilt "first come, first served". Wenn Sie einen Slot ausgewählt haben, melden Sie sich bitte bei mir, damit wir gemeinsam die Prüfungsanmeldung im Prüfungsamt ausfüllen können.
Hier die Termine:
Vorlesung am 5. Juni 2014 – Die Vorlesung am 5. Juni 2014 findet statt. Allerdings wird Sebastian Breß als Vertretung die Vorlesung halten. Er wird das reguläre nächste Kapitel (zum Thema Vektorisierung) vorstellen.