TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

Integration und Abhärtung des Paxos Protokolls in Memcached++

BetreuerArthur Martens
ProfessorProf. Dr. Rüdiger Kapitza
Projektdanceos
IBR GruppeDS (Prof. Kapitza)
ArtBachelorarbeit
Statusabgeschlossen

Problemstellung

Ein immer wichtiger werdender Aspekt von verteilten Systemen ist die Zuverlässigkeit des Dienstes. Erreicht wird dies häufig, indem man den Dienst auf mehreren Maschinen repliziert, so dass ein Ausfall eines sogenannten Replikats durch die verbleibenden Replikate toleriert werden kann. Eine spezielle Form der Replikation, die schnell auf Fehler reagiert, ist State Machine Replication. Hierbei wird der Dienst als deterministischer Zustandsautomat implementiert und alle Replikate müssen sich auf eine identische Reihenfolge der eingehenden Anfragen einigen.

Ein besonders effizientes Protokoll zur Konsens Findung ist Paxos. Im Idealfall erreicht man damit eine Einigung innerhalb von zwei Nachrichtenrunden.

Paxos abstrahiert das Problem und unterteilt alle Teilnehmer in drei Gruppen: Der Proposer verschickt entweder eine vorbereitende Nachricht oder die eigentliche Anfrage und erwartet verbindliche Zusagen von dem Acceptor. Dieser vergibt verbindliche Zusagen und teilt dem Proposer damit implizit mit wann es für ihn sicher ist eine Anfrage zu Senden. Wird eine Nachricht vom Acceptor akzeptiert teilt er sie schließlich dem Learner mit.

Als Demonstrator für zuverlässige, verteilte Systeme wird am IBR der Key-Value-Store Memcached++ verwendet. Zur Konsens Findung wird hier das Spread-Toolkit verwendet, welches im Vergleich zu Paxos ineffizienter und schwerer abzuhärten ist.

Aufgabenbeschreibung

In dieser Bachelor Arbeit soll eine C++ basierte Version des Paxos Protokolls in Memcached++ integriert und mit sogenannter Generic Object Protection (GOP) gegenüber transienten Fehlern abgesichert werden. Hierfür sollen im Einzelnen folgende Schritte durchgeführt werden:

  • Recherche nach existierenden und geeigneten Paxos Implementierungen
  • Einarbeitung in Memcached++, Paxos und der Verwendung von GOP
  • Integration einer Paxos Implementierung in Memcached++
  • Abhärtung von Paxos mittels GOP
  • Vergleich der Paxos und Spread basierten Memcached++ Versionen


aktualisiert am 15.10.2014, 11:44 von Arthur Martens
printemailtop