nw  

Consensus

Zusammenfassung

In dieser Arbeit wurde der Raft Algorithmus als .NET-Bibliothek implementiert.

Schlüsselbegriffe

C#, .NET Framework, verteilter Algorithmus

Zielsetzung

Am Ende soll eine .NET-Bibliothek erstellt werden mit welcher verteilte Systeme schneller und einfacher realisiert werden können.

Ausgangslage

Von vielen verteilten Systemen wird heute erwartet das sie rund um die Uhr global verfügbar sind, doch Rechner und Netzwerkverbindungen können jederzeit unerwartet ausfallen oder müssen für Wartungsarbeiten vom Netz genommen werden.

Um trotzdem eine hohe Zuverlässigkeit zu erreichen werden die Aufgaben häufig auf mehreren Rechnern ausgeführt, wobei alle die gleichen Anweisungen nacheinander ausführen sollen.

Um dies zu erreichen ist ein komplexer Algorithmus nötig, da es sehr viele mögliche Fehlzustände und Kommunikationsprobleme geben kann, dies nennt man einen Consensus-Algorithmus.

Der bekannteste Consensus-Algorithmus ist der Paxos-Algorithmus. Dieser ist zwar mathematisch klar definiert aber schwierig umzusetzen. Aus diesem Grund haben Stanford-Forscher den Raft-Algorithmus, einen einfach verständlichen und implementierbaren Consensus-Algorithmus, entwickelt.

Ergebnisse

Es wurde eine Bibliothek entwickelt, welche es erlaubt beliebige Befehle in Form von Byte-Arrays mit Hilfe des Raft-Algorithmus auf verschiedene Rechner zu replizieren und dort auf selbst programmierten State-Machines ausführen zu lassen.

Projektdaten
Projekttyp Bachelorthesis
Projektdauer 1 Semester, Februar 2014 - August 2014
Aufwand in Personenstunden 360 Stunden je Teammitglied
Teamgrösse 1 Person
Auftraggeber

Institut für 4D-Technologien
Simon Felix

Projektteam

Daniel Gürber

Kontakt
Betreuer Email
Simon Felix simon.felix@fhnw.ch
Prof. Dr. André Csillaghy andre.csillaghy@fhnw.ch
<< zurück