Betreuer | Arthur Martens |
Professor | Prof. Dr. Rüdiger Kapitza |
Projekt | DanceOS |
IBR Gruppe | DS (Prof. Kapitza) |
Art | Bachelorarbeit |
Status | abgeschlossen |
ProblemstellungEin 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. AufgabenbeschreibungIn 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:
|
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
Postfach: 38092 Braunschweig
Telefon: +49 (0) 531 391-0