Direkt zum Inhalt
Logo des Instituts für Verteilte Systeme Logo der Universität Ulm

Fehlertolerante Verteilte Systeme

Sommersemester 2023

   
Titel: Fehlertolerante Verteilte Systeme
Typ: Vorlesung mit Übung, Modul mit nur dieser Lehrveranstaltung
Kürzel / Nr. / Modulnr.: FTDS / - / 74239
SWS / LP: 3V+1Ü / 6LP SWS / 3V+1Ü / 6LP LP
Dozent: Prof. Dr.-Ing. Franz J. Hauck
Betreuung: Prof. Dr.-Ing. Franz J. Hauck
Termine: Vorlesung: in Präsenz und gleichzeitig online (hybrid), aufgezeichnet Dienstag 14:15 Uhr - 15:45, O28-H21, Beginn am 18.4.2023 Donnerstag 12:30 Uhr - 14:00, O27-2203 Übung: in Präsenz und gleichzeitig online (hybrid); unregelmäßig nach Ankündigung statt Vorlesung
Lernplattform: Der Übungsbetrieb wird mit Moodle abgewickelt. Bitte registrieren Sie sich hier. Kurs ist spätestens ab April freigeschaltet.
Notenbonus: Für die erfolgreiche Teilnahme an der Übung gibt es einen Notenbonus von 0,3 bzw. 0,4 auf die mündliche Prüfung. Zur erfolgreichen Teilnahme besteht Präsenzpflicht bei den Übungsveranstaltungen, Abgabepflicht bei den Übungsaufgaben (leere Blätter gelten nicht als Abgabe) sowie die Verpflichtung während des Semesters die eigene Lösung in der Übung vorzustellen.
Prüfungstermine: freie Wahl nach Absprache mit dem Prüfer

Beschreibung und allgemeine Angaben

Einordnung in die Studiengänge: Informatik, M.Sc.: Kernfach Technische und Systemnahe Informatik Informatik, M.Sc.: Vertiefungsfach Verteilte Systeme Informatik, Lehramt Staatsexamen: Wahl Medieninformatik, M.Sc.: Kernfach Technische und Systemnahe Informatik Medieninformatik, M.Sc.: Vertiefungsfach Verteilte Systeme Software Engineering, M.Sc.: Kernfach Technische und Systemnahe Informatik Software Engineering, M.Sc.: Vertiefungsfach Verteilte und Eingebettete Systeme Computational Science and Engineering, M.Sc.: Wahlpflichtmodul
Lehr- und Lernformen:
Verantwortlich: Prof. Dr.-Ing. Franz J. Hauck
Dozent: Prof. Dr.-Ing. Franz J. Hauck
Unterrichtssprache: Englisch
Turnus / Dauer: jedes Sommersemester / ein Semester
Voraussetzungen (inhaltlich): Grundkenntnisse über Verteilte Systeme z.B. aus dem Modul Grundlagen Verteilter Systeme
Voraussetzungen (formal): -
Grundlage für (inhaltlich): Masterarbeit im Bereich fehlertolerante Verteilte Systeme
Lernergebnisse: Fehlertoleranz ist ein Muss für kritische Systeme, aber auch nützlich für alle verteilten Softwaresysteme. In diesem Modul lernen Studierende mehrere Ansätze Fehler zu maskieren  basierend auf Standard Hardware und Netzwerken durch den Einsatz spezieller verteilter Algorithmen. Studeierende können diese Ansätze beschreiben und erläutern sowie die Unterschiede zwischen ihnen identifizieren, insbesonder auch Vor- und Nachteile. Sie können beurteilen, welcher Ansatz und welche individuelle Konfiguration am besten für ein gegebenes Anwendungsszenario und ein gegebenes Fehlermodel geeignet ist. Studierende verstehen die darunterliegenden Mechanismen, z.B. Einigungsprotokolle, konfliktfreie replizierte Datentypen, Zustandssicherung und Zustandstransfer., auf denen die verschiedenen Ansätze aufbauen, einschließlich ihrer Randbedingungen und Voraussetzungen. Durch die präsentierten Fallbeispiele und praktischen Übungen erkennen Studierende wie diese Mechanismen zu einem lauffähigen fehlertoleranten System kombiniert werden können.
Inhalt: * Terminologie, System- und Fehlermodelle, Randbedingungen, Architekturüberlegungen * Konzepte und Ansätze für Redundanz, Fehlererkennung, Fehlererholung * Zustandssicherung, Event Sourcing: Fallbeispiele, Überlegungen für die Praxis * Replizierte Zustandsmaschinen: Einigung, deterministische Ausführung, deterministisches Scheduling, Fallbeispiele, Überlegungen für die Praxis * Datengetriebene Replikation: k-aus-n Systeme, verteilter gemeinsamer Speicher, transaktionale Systeme, Fallbeispiele, Überlegungen für die Praxis * Master-Slave-Replikation: Fehlererkennung, Aktualisierungstrategien, deterministische Ausführung, Fallbeispiele, Überlegungen für die Praxis * Eventual Consistency: Master-Master-Replikation, CRDT, Fallbeispiele, Überlegungen für die Praxis * Testen, Fehlerinjektion
Literatur: * G. Coulouris, J. Dollimore, T. Kindberg, G. Blair: Distributed systems. Concepts and design. 5th ed., Pearson, 2012. * P. Jalote: Fault tolerance in distributed systems. Prentice Hall, 1994. * Various articles provided during the lecture
Bewertungsmethode: mündliche Prüfung; keine Leistungsnachweise; Notenbonus bei erfolgreicher Übungsteilnahme (Modalitäten werden zu Beginn jeweils bekannt gegeben)
Arbeitsaufwand: Präsenzzeit Vorlesung, Übung, Prüfung: 60h (2LP) Selbststudium mit Nachbereitung der Vorlesung, Übungsaufgaben, Prüfungsvorbereitung: 120h (4LP) Summe: 180h (6LP)
Logo: Zertifikat seit 2008 – Audit familiengerechte Hochschule Logo: StudyCheck - Top Universität Logo: StudyCheck - digital readiness Logo: Weltoffene Hochschulen – Gegen Fremdenfeindlichkeit