Snapshots in Scalaris

Stefan Keidel · 2013

Eines der grosten Hindernisse beim praktischen Einsatz von Scalaris, einer skalierbaren Implementierung einer verteilten Hashtabelle mit Unterstutzung fur Transaktionen, ist das Fehlen eines Verfahrens zur Aufnahme eines konsistenten Zustandes des gesamten Systems. Wir stellen in dieser Arbeit ein einfaches Protokoll vor, dass diese Aufgabe erfullt und sich, auf Grund der von uns gewahlten Herangehensweise, leicht implementieren lasst. Als Ausgangspunkt dafur wahlen wir aus einer Reihe von „klassischen“ Snapshot-Algorithmen ein 1993 von Mattern entworfenes Verfahren, welches auf dem Algorithmus von Lai und Yang basiert, aus. Diese Entscheidung basiert auf einer grundlichen Analyse der Protokolle unter Berucksichtigung der Architektur der existierenden Software. Im nachsten Arbeitsschritt benutzen wir unser vollstandiges Wissen uber die Interna des Transaktionssystems von Scalaris und vereinfachen damit das Verfahren hinsichtlich Benutzbarkeit und Implementierungskomplexitat, ohne die Anforderungen an den aufgenommenen Zustand aufzuweichen. Statt einer losen Anhaufung lokaler Zustande der einzelnen Teilnehmerknoten konnen wir am Ende eine grose Schlussel-Wert-Tabelle als Ergebnis erzeugen, die konsistent ist, sich leicht weiterverarbeiten lasst und die einem Zustand entspricht, in dem sich das System einmal befunden haben konnte. Nachdem wir das Verfahren dann in Software umgesetzt haben, werten wir die Ergebnisse hinsichtlich des Einflusses auf die Performanz des Gesamtsystems aus und diskutieren mogliche Weiterentwicklungen.

Read the paper · More papers on PaperTik