Jump label

Service navigation

Main navigation

You are here:

Main content

Seminar "Transaktionsverwaltung auf moderner Hardware"

Neuigkeiten

18.10.2017 – Moodle-Arbeitsraum eingerichtet

Zum Seminar gibt es jetzt hier einen Moodle-Arbeitsraum.

Für das Blockseminar haben wir uns auf die zwei Tage 4. und 5. Dezember 2017 (Montag und Dienstag) geeinigt.

Beschreibung

Tiefgreifende Entwicklungen der Hardwaretechnologie rütteln ganz gewaltig an etablierten Techniken der Datenbankimplementation. Hauptspeicher ist nicht mehr unbedingt eine knappe Ressource, die einzig als Cache für Festplatten verwendet wird – Rechner mit 1 TB und mehr an Hauptspeicher sind verfügbar und erschwinglich. Parallelitätsgrade mit hunderten von Prozessoren sind keine Fiktion mehr. Dazu gesellen sich ganz revolutionäre Technologien wie etwa „non-volatile memories“ – nicht-flüchtiger Speicher mit Zugriffscharakteristika ähnlich denen von DRAM – oder Netzwerke mit Hardwarebeschleunigung und extrem hoher Bandbreite.

Im Seminar wollen wir auf einige der (möglichen) Auswirkungen solcher Technologien auf Datenbankarchitekturen schauen. Ein Schwerpunkt wird dabei die Transaktionsverwaltung sein (die etwa in der Vorlesung „Data Processing on Modern Hardware“ etwas zu kurz kommt).

Die Transaktionsverwaltung in modernen Systemen ist zunächst eine große Herausforderung. Many-Core-Systeme erlauben Parallelitätsgrade und Transaktionslasten, denen klassische Ansätze (z.B. Two-Phase Locking) nicht gewachsen sind. Gleichzeitig bietet die Hardware auch neue Rettungsanker, etwa in Form großer Hauptspeicher, schneller Netzwerke oder eben auch nicht-flüchtigen Speichertechnologien. Im Seminar sollen aktuelle Forschungsarbeiten diskutiert werden, die sich dieser Herausforderungen annehmen bzw. die neuen Technologien als Lösung einzusetzen versuchen.

Grundsätzlich beinhaltet die Transaktionskontrolle zwei Komponenten. Durch Concurrency Control (Nebenläufigkeitskontrolle) wird primär die Isolation-Komponente der ACID-Eigenschaften realisiert; nebenläufige Transaktionen verhalten sich dadurch korrekt. Eine klassische Realisierung stellt zum Beispiel Two-Phase Locking (2PL) dar. In der Praxis geht die Nebenläufigkeitskontrolle oft Hand-in-Hand mit dem Problem des Recovery (Wiederherstellung im Fehlerfall), um insbesondere die Durability-Eigenschaft (aber auch Atomicity) zu garantieren. Notwendig sind dazu Mechanismen wie Redundanz oder verlässliche, nicht-flüchtige Speicher (stable storage). Bekanntester Vertreter zur Realisierung von Recovery ist das ARIES-Protokoll.

Themen

Die nachfolgende Themenliste ist noch unvollständig, soll aber einen Eindruck der Seminarinhalte geben:

1. Klassische Concurrency Control-Mechanismen: 2PL und Multi-Version Concurrency Control — Inessa Azizova

In diesem Vortrag soll es darum gehen, die grundlegenden, bestehenden Techniken der Nebenläufigkeitskontrolle vorzustellen und zusammenzufassen. Im wesentlichen sind das two-phase locking (2PL) (was allerdings ja bereits in der Vorlesung diskutiert wurde) sowie multi-version concurrency control (MVCC) (der wohl interessantere Ansatz im Kontext dieses Seminars.

Die Arbeit von Wu et al. enthält einen kurzen Überblick über die grundlegenden Techniken. Für den Vortrag wird es sicherlich notwendig sein, auch noch weitere Literatur (evtl. auch Lehrbücher) mit heran zu ziehen.

  • Yingjun Wu, Joy Arulraj, Jiexi Lin, Ran Xian, and Andrew Pavlo. An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. Proc. of the VLDB Endowment, vol. 10, no. 7, March 2017. PDF.

2. Klassische Concurrency Control-Mechanismen: Optimistic Concurrency Control — Jens Knipper

Optimistische Verfahren zur Nebenläufigkeitskontrolle arbeiten ähnlich wie Systeme zur Source Code-Versionskontrolle (z.B. SVN). Transaktionen arbeiten zunächst auf lokalen Arbeitskopien der Daten; Konflikte können dabei nicht auftreten. Mit dem Commit wird zunächst eine Validierung durchgeführt um aufgetretene Konflikte zu erkennen; gegebenenfalls wird die Transaktion abgebrochen. Zuletzt werden die Ergebnisse von erfolgreichen Transaktionen in einer Schreibphase festgeschrieben.

  • H. T. Kung und John T. Robinson. On Optimistic Methods for Concurrency Control. ACM Transactions on Database Systems (TODS), vol. 6, no. 2, Junie 1981. DOI: 10.1145/319566.319567.

3. Bestehende Techniken und moderne Hardware — Roland Kühn

In experimentellen Arbeiten wurde untersucht, wie sich die bestehenden Ansätze auf moderner und zukünftiger Hardware verhalten (würden).

  • Yingjun Wu, Joy Arulraj, Jiexi Lin, Ran Xian, and Andrew Pavlo. An Empirical Evaluation of In-Memory Multi-Version Concurrency Control. Proc. of the VLDB Endowment, vol. 10, no. 7, March 2017. PDF.
  • Xiangyao Yu, George Bezerra, Andrew Pavlo, Srinivas Devandas, and Michael Stonebraker. Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores. Proc. of the VLDB Endowment, vol. 8, no. 3, November 2014. PDF.

4. Timestamp-Order MVCC in Deuteronomy — Jakob Knorr

Deuteronomy ist eine Forschungs-Prototyp, der in der Forschungsabteilung von Microsoft entwickelt wird. Im Projekt wurden zahlreiche Techniken für die Transaktionsverarbeitung entwickelt, um einerseits effizient in modernen Hauptspeichersystemen zu funktionieren; andererseits aber auch so skalieren, dass sie mit hohen Parallelitätsgraden und Verteilung umgehen können.

  • Justin Levandoski, David Lomet, Sudipta Sengupta, Ryan Stutsman, and Rui Wang. High Performance Transactions in Deuteronomy. CIDR 2015, January 2015. PDF.

6. Serializability in HyPer — Eric Fiege

HyPer, entwickelt an der TU München, ist ein Hauptspeicherdatenbanksystem, das ebenfalls volle Serialisierbarkeit garantiert. Serialisierbarkeit und Effizienz werden erreicht durch eine geschickte Implementierung, die den Eigenschaften moderner Hardware Rechnung trägt.

  • Thomas Neumann, Tobias Mühlbauer, and Alfons Kemper. Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems. SIGMOD 2015, May 2015. DOI: 10.1145/2723372.2749436.

7. Optimistic Concurrency Control in Silo — Marcel Johannfunke

Silo ist ein Hauptspeicherdatenbanksystem. Zur Nebenläufigkeitskontrolle verwendet es Optimistic Concurrency Control. Zusätzlich wird ein Epoch-Mechanismus eingesetzt, um die Synchronisation zwischen Threads zu minimieren.

  • Stephen Tu, Winting Zheng, Eddie Kohler, Barbara Liskov, and Samual Madden. Speedy Transactions in Multicore In-Memory Databases. SOSP 2013, November 2013. DOI: 10.1145/2517349.2522713.

8. “Serial Safety Net”: Serialisierbarkeit für Concurrency Control-Verfahren mit unzureichenden Serialisierbarkeitsgarantien — Florian Lüdiger

Das klassische Zwei-Phasen-Sperrprotokoll garantiert (abgesehen vom Phantom-Problem) Serialiserbarkeit. Multi-Versions-Verfahren, insbesondere Snapshot Isolation sind effizienter, garantieren jedoch keine volle Serialisierbarkeit. Diese Lücke schließt das “Serial Safety Net (SSN)” von Wang et al.SSN überwacht die Ausführung eines Systems das z.B. Snapshot Isolation verwendet. Wird eine mögliche Verletzung der Serialiserbarkeit erkannt, werden Transaktionen abgebrochen und dadurch die Serialisierbarkeit sichergestellt.

  • Tianzheng Wang, Ryan Johnson, Alan Fekete, and Ippokratis Pandis. The Serial Safety Net: Efficient Concurrency Control on Modern Hardware. DaMoN 2015, June 2015. DOI: 10.1145/2771937.2771949.

10. Transaction Healing — Fabian Gürtler

Im TheDB-Prototyp stellen Wu et al. eine Technik vor, die auf Optimistic Concurrency Control (OCC) aufbaut. In OCC-Verfahren werden Transaktionen erst zum Ende auf mögliche Konflikte untersucht; falls notwendig, werden Transaktionen dann noch abgebrochen (und üblicherweise neu gestartet). Solche Transaktionsabbrüche können sehr teuer werden. Transaction Healing soll vollständige Abbrüche verhindern und stattdessen Transaktionen „reparieren“, sobald ein Konflikt festgestellt wurde.

  • Yingjun Wu, Chee-Yong Chan, and Kian-Lee Tan. Transaction Healing: Scaling Optimistic Concurrency Control on Multicores. SIGMOD 2016, June 2016. DOI: 10.1145/2882903.2915202

11. Write-Ahead Logging mit Non-Volatile Memories I — Philipp Menken

Die Markteinführung von neuartigen, nicht-flüchtigen Speichermedien steht unmittelbar bevor. Sie sollen die Vorteile von RAM (schnell und byte-adressierbar) und persistenten Medien (billig und nicht-flüchtig) vereinen. Das wird den Recovery-Aspekt in der Transaktionsverarbeitung nachhaltig verändern.

Ein naheliegender Ansatz ist die Verwendung von Non-Volatile Memories zum Speichern des Write-Ahead Log. Durch die Laufzeit-Charakteristika der neuen Speichertechniken werden allerdings Engpässe in konventionellen Log-basierten Ansätzen schnell deutlich. Huang et al. haben sich dieses Problems angenommen.

  • Jian Huang, Karsten Schwan, and Moinuddin K. Qureshi. NVRAM-aware Logging in Transaction Systems. Proc. of the VLDB Endowment, vol. 8, no. 4, December 2014. PDF.

12. Write-Ahead Logging mit Non-Volatile Memories II — Andrej Plenne

Chatzistergiou et al. verwenden Non-Volatile Memory ebenfalls in Form von Write-Ahead Logging. Die Arbeit geht jedoch deutlich stärker auf Implementierungsdetails ein.

  • Andreas Chatzistergiou, Marcelo Cintra, and Stratis D. Viglas. REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures. Proc. of the VLDB Endowment, vol. 8, no. 5, January 2015. PDF.

13. Speicherverwaltung in Non-Volatile Memories I — Vanessa Böhrk

Durch ihre Laufzeiteigenschaften werden Non-Volatile Memories in der Systemarchitektur eine DRAM-ähnliche Rolle einnehmen. Neben den vielen positiven Konsequenzen bringt das allerdings auch neue Probleme mit sich, zum Beispiel wenn Memory Leaks plötzlich persistent werden. Die Arbeit von Oukid et al. diskutiert daher mögliche Techniken zur Speicherverwaltung beim Einsatz von Non-Volatile Memories.

  • Ismail Oukid, Daniel Booss, Adrien Lespinasse, Wolfgang Lehner, Thomas Willhalm, and Grégoire Gomes. Memory Management Techniques for Large-Scale Persistent-Main-Memory Systems. Proc. of the VLDB Endowment, vol. 10, no. 11, August 2017. PDF.

13a. Speicherverwaltung in Non-Volatile Memories II — Benedikt Freisen

Schwalb et al. stellen ebenfalls Techniken zur Speicherverwaltung in Non-Volatile Memories vor.

  • David Schwalb, Tim Berning, Martin Faust, Markus Dreseler, and Hasso Plattner. nvm_malloc: Memory Allocation for NVRAM. ADMS 2015, August 2015. PDF.

13b. Speicherverwaltung in Non-Volatile Memories III — Pernes Panta

Mnemosyne kapselt den Umgang mit non-volatile memory in einer Programmierschnittstelle und stellt verschiedene Persistenzgarantien sicher.

  • Haris Volos, Andres Jaan Tack, and Michael M. Swift. Mnemosyne: Lightweight Persistent Memory. ASPLOS 2011, March 2011. DOI: 10.1145/1950365.1950379.

14. Foster B-Trees — Christian Günter

In transaktionalen Workloads spielen B-Bäume meist eine zentrale Rolle. Im klassischen Design sind sie aber weder optimiert für die reine Verwendung im Hauptspeicher, noch für hohe Grade an Nebenläufigkeit, noch interagieren sie gut mit den Eigenheiten von tiefen Cache-Hierarchien und/oder Non-Volatile Memory-Technologien. Varianten wie Foster B-Trees oder Bw-Treessollen diese Lücke schließen.

  • Goetz Graefe, Hideaki Kimura, and Harumi Kuno. Foster B-Trees. ACM TODS, vol. 37, no. 3, August 2012. DOI: 10.1145/2338626.2338630.

15. Bw-Trees — Cihat Altin

Bw-Trees sind für hohe Nebenläufigkeit und die Verwendung im Hauptspeicher und auf Flash-Medien optimiert. Sie werden z.B. in Microsoft Hekaton eingesetzt.

  • Justin J. Levandoski, David B. Lomet, Sudipta Sengupta. The Bw-Tree: A B-tree for New Hardware Platforms. ICDE 2013, April 2013. DOI: 10.1109/ICDE.2013.6544834.
  • Justin J. Levandoski, David B. Lomet, Sudipta Sengupta, Adrian Birka, and Cristian Diaconu. Indexing on Modern Hardware: Hekaton and Beyond. SIGMOD 2014, June 2014. DOI: 10.1145/2588555.2594536.

16. Lock-Free Indexing in Non-Volatile Memory — Dominik Görtz

Durch sehr schnelle Zugriffzeiten sind Non-Volatile Memories sensibel auf eine sorgfältige Implementierung. Hier bietet die persistent multi-word compare-and-swap-Operation eine Hilfestellung, die im Umfeld der Bw-Trees entwickelt wurde.

  • Tianzheng Wang, Justin Levandoski, and Per-Ake Larson. Easy Lock-Free Indexing in Non-Volatile Memory. Technical Report, Microsoft Research, 2017. PDF.

16a. Non-Volatile Memories und Hardware Transactional Memory — Danny Textores

Reale Systeme werden meist Kombinationen aus non-volatile memory (NVM) und konventionellem DRAM anbieten. Für konventionelles DRAM bieten moderne Prozessoren hardware transactional memory (HTM) an, um Transaktionssemantik mit geringem Aufwand und ohne Sperren zu realisieren. Avni und Brown zeigen, wie man NVM und HTM kombinieren kann.

  • Hillel Avni and Trevor Brown. PHyTM: Persistent Hybrid Transactional Memory. Proc. of the VLDB Endowment, vol. 10, no. 4, December 2016. PDF.

17. FOEDUS: Ein System für viele Rechenkerne und NVRAM — Jan Mühlig

Mit FOEDUS wurde prototypisch ein System entwickelt, das den Umgang mit mehreren neuen Hardwaretechnologien vereint. Insbesondere ist FOEDUS auf Parallelisierbarkeit (viele Rechenkerne) und den Einsatz von non-volatile memories ausgelegt.

  • Hideaki Kimura. FOEDUS: OLTP Engine for a Thousand Cores and NVRAM. SIGMOD 2015, May 2015. DOI: 10.1145/2723372.2746480

18. RAMCloud Storage System — Daniel Sendzik

Alternativ zu persistenten Speichermedien (wie HDDs, Flash oder NVM) kann eine Wiederherstellungsmöglichkeit auch sicher gestellt werden, in dem Informationen z.B. über ein Netzwerk auf anderen Maschinen „persistent“ gespeichert werden. Damit das Netzwerk dabei nicht zum Flaschenhals wird, können dabei moderne Hardwaretechnologien – allen voran Netzwerke mit Hardwarebeschleunigung, RDMA – eingesetzt werden. Ein System, das auf dieser Idee aufbaut, ist das RAMCloud-System aus Stanford. RAMCloud bietet allerdings keine Transaktionssemantik im klassischen Datenbank-Verständnis (ACID).

  • John Ousterhout, Arjun Gopalan, Ashish Gupta, Ankita Kejriwal, Collin Lee, Behnam Montazeri, Diego Ongaro, Seo Jin Park, Henry Qin, Mendel Rosenblum, Stephen Rumble, Ryan Stutsman, and Stephen Yang. The RAMCloud Storage System. ACM Transactions on Computer Systems (TOCS), vol. 33, no. 3, September 2015. DOI: 10.1145/2806887.

19. Verteilte Transaktionen über RDMA: FaRM — Rico van Endern

FaRM setzt verteilte Commit-Protokolle in Kombination mit RDMA ein, um volle Serialisierbarkeit zu garantieren.

  • Aleksandar Dragojević, Dushyanth Narayanan, Edmund B. Nightingale, Matthew Renzelmann, Alex Shamis, Anirudh Badam, and Miguel Castro. No Compromises: Distributed Transactions with Consistency, Availability, and Performance. SOSP 2015, October 2015. DOI: 10.1145/2815400.2815425.

20. Verteilte Transaktionen über RDMA: NAM-DB — Oliver Zietek

NAM-DB verfolgt eine ähnliche Idee with FaRM, jedoch bietet NAM-DB „nur“ Snapshot Isolation.

  • Erfan Zamanian, Carsten Binnig, Tim Harris, and Tim Kraska. The End of a Myth: Distributed Transactions can Scale. Proc. of the VLDB Endowment, vol. 10, no. 6, February 2017. PDF.

Organisation

Vorbesprechung

Eine Vorbesprechung zum Seminar wird stattfinden am Dienstag, 17. Oktober 2017, 16:15 Uhr im Raum OH14/304.

Im Rahmen der Vorbesprechung findet auch eine Themenvergabe statt. Bitte schauen Sie sich schon im Vorfeld einige der angegebenen Forschungsarbeiten an, damit Sie entsprechende Präferenzen nennen können.

Seminar

Das Seminar wird als Blockseminar am 4. und 5. Dezember 2017 stattfinden.