C. Computer Systems Organization
Refine
Year of publication
- 2013 (3)
Document Type
- Bachelor's Thesis (2)
- Master's Thesis (1)
Language
- German (3)
Has Fulltext
- yes (3) (remove)
Is part of the Bibliography
- no (3)
Keywords
- Benchmark (1)
- HDFS (1)
- Hadoop (1)
- XtreemFS (1)
- algorithm (1)
- dht (1)
- distributed storage systems (1)
- dynamic reconfiguration (1)
- replication (1)
- scalaris (1)
Institute
Snapshots in Scalaris
(2013)
Eines der größten Hindernisse beim praktischen Einsatz von Scalaris, einer skalierbaren Implementierung einer verteilten Hashtabelle mit Unterstützung für 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 erfüllt und sich, auf Grund der von uns gewählten Herangehensweise, leicht implementieren lässt.
Als Ausgangspunkt dafür wählen 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 gründlichen Analyse der Protokolle unter Berücksichtigung der Architektur der existierenden Software.
Im nächsten Arbeitsschritt benutzen wir unser vollständiges Wissen über die Interna des Transaktionssystems von Scalaris und vereinfachen damit das Verfahren hinsichtlich Benutzbarkeit und Implementierungskomplexität, ohne die Anforderungen an den aufgenommenen Zustand aufzuweichen. Statt einer losen Anhäufung lokaler Zustände der einzelnen Teilnehmerknoten können wir am Ende eine große Schlüssel-Wert-Tabelle als Ergebnis erzeugen, die konsistent ist, sich leicht weiterverarbeiten lässt und die einem Zustand entspricht, in dem sich das System einmal befunden haben könnte.
Nachdem wir das Verfahren dann in Software umgesetzt haben, werten wir die Ergebnisse hinsichtlich des Einflusses auf die Performanz des Gesamtsystems aus und diskutieren mögliche Weiterentwicklungen.
In dieser Arbeit wird die Leistungsfähigkeit des MapReduce-Framework Hadoop mit XtreemFS als verteiltes und POSIX-konformes Dateisystem bestimmt. Damit wird XtreemFS das für die Nutzung mit Hadoop entwickelte Dateisystem HDFS ersetzen.
HDFS und XtreemFS werden verglichen und XtreemFS für Nutzung unter Hadoop konfiguriert. Zudem werden Optimierungen an der Hadoop-Schnittstelle von XtreemFS vorgenommen. Die Leistung von Hadoop mit XtreemFS wird mittels synthetischer Benchmarks und realer Hadoop Anwendungen gemessen und mit der Leistung von Hadoop mit HDFS verglichen.
In replizierten Systemen muss es möglich sein ausgefallene Server zu ersetzen und Replikate dynamisch hinzuzufügen oder zu entfernen. Veränderungen an der Menge der eingesetzten Replikate können zu inkonsistenten Daten führen. In dieser Arbeit wird ein Algorithmus für das konsistente Hinzufügen und Entfernen von Replikaten für das verteilte Dateisystem XtreemFS vorgestellt. Der Algorithmus nutzt einen fehlertoleranten Service, der die Replikatliste speichert sowie Veränderungen koordiniert und diese aus globaler Sicht atomar ausführt.