Vorlesung

Inhalt

Verteilte Systeme bestehen aus mehreren Rechnern, die über ein Netzwerk miteinander verbunden sind und einen gemeinsamen Dienst erbringen. Obwohl die beteiligten Rechner hierfür in weiten Teilen unabhängig voneinander agieren, erscheinen sie ihren Nutzern gegenüber in der Gesamtheit dabei trotzdem als ein einheitliches System. Die Einsatzmöglichkeiten für verteilte Systeme erstrecken sich über ein weites Spektrum an Szenarien: Von der Zusammenschaltung kleinster Rechenknoten zur Sammlung von Daten im Rahmen von Sensornetzwerken über Steuerungssysteme für Kraftfahrzeuge und Industrieanlagen bis hin zu weltumspannenden, Internet-gestützten Infrastrukturen mit Komponenten in Datenzentren auf verschiedenen Kontinenten.

Ziel der Vorlesung ist es, die sich durch die speziellen Eigenschaften verteilter Systeme ergebenden Problemstellungen zu verdeutlichen und Ansätze zu vermitteln, mit deren Hilfe sie gelöst werden können; Beispiele hierfür sind etwa die Interaktion zwischen heterogenen Systemkomponenten, der Umgang mit erhöhten Netzwerklatenzen sowie die Wahrung konsistenter Zustände über Rechnergrenzen hinweg. Gleichzeitig zeigt die Vorlesung auf, dass die Verteiltheit eines Systems nicht nur Herausforderungen mit sich bringt, sondern auf der anderen Seite auch Chancen eröffnet. Dies gilt insbesondere in Bezug auf die im Vergleich zu nicht verteilten Systemen erzielbare höhere Widerstandsfähigkeit eines Gesamtsystems gegenüber Fehlern wie den Ausfällen ganzer Rechner oder sogar kompletter Datenzentren.

Ausgehend von den einfachsten, aus nur einem Client und einem Server bestehenden verteilten Systemen, beschäftigt sich die Vorlesung danach mit der deutlich komplexeren Replikation der Server-Seite und behandelt anschließend die Verteilung eines Systems über mehrere, mitunter weit voneinander entfernte geografische Standorte. In allen Abschnitten umfasst die Betrachtung des jeweiligen Themas eine Auswahl aus Grundlagen, im Praxiseinsatz befindlicher Ansätze und Techniken sowie für den aktuellen Stand der Forschung repräsentativer Konzepte.

  • Serialisierung von Nachrichten (XDR, Google Protocol Buffers)
  • Fernmethodenaufrufe (XML-RPC)
  • Spekulative Ausführung in verteilten Dateisystemen (NFS)
  • RDMA-basierte Fernaufrufe (DaRPC)
  • Fehlertolerante Replikation von Diensten (Paxos, Raft)
  • Georeplizierte und weitverteilte Systeme (Pileus, Yahoo PNUTS, Akamai)
  • Synchronisation von Uhren (NTP)

Materialien

Datum Thema Folien (1x1) Folien (2x2) Video
17.04.2024 Organisatorisches
Einführung
24.04.2024 Middleware
08.05.2024 Fernaufrufe
15.05.2024 Effizienz
22.05.2024 Fehlertoleranz
29.05.2024 Replikation
05.06.2024 Multicast
12.06.2024 Georeplikation
19.06.2024 Papierdiskussion:
Diego Ongaro and John Ousterhout
In Search of an Understandable Consensus Algorithm
Proceedings of the 2014 USENIX Annual Technical Conference (ATC '14), pages 305–320, 2014.
26.06.2024 Weitverteilte Systeme
03.07.2024 Verteilte Synchronisation
10.07.2024 Einblick in die Forschung des Lehrstuhls:
Harald Böhm, Tobias Distler, and Peter Wägemann
TinyBFT: Byzantine Fault-Tolerant Replication for Highly Resource-Constrained Embedded Systems
Proceedings of the 30th Real-Time and Embedded Technology and Applications Symposium (RTAS '24), pages 225–238, 2024.
17.07.2024 Semesterabschluss

Hinweis: Die meisten der hier verlinkten Videos stammen aus dem Sommersemester 2021 und können daher vom aktuellen Foliensatz geringfügig abweichen.

Nähere Details zu den behandelten Themen finden sich in der zugehörigen Fachliteratur.

Prüfung

Für eine Prüfung sind grundsätzlich sowohl die Themen der Vorlesung als auch die Inhalte der Übung von Belang. Beste Grundlage für die Prüfung ist daher neben der Teilnahme an Vorlesung und Übung, insbesondere auch die aktive Bearbeitung aller Übungsaufgaben. Der eigene Prüfungstermin ist mit dem Prüfer gegen Ende des Semesters direkt zu vereinbaren. Einzelheiten hierzu werden in der Vorlesung bekanntgegeben.

Evaluation

Die Evaluation im Sommersemester 2024 fand in der Zeit vom 20. Juni bis 7. Juli statt.
  • Alle 34 Teilnehmenden erhielten einen Link für den Zugriff auf die Evaluationsformulare.
  • Es wurden 16 Fragebögen zur Vorlesung ausgefüllt.
  • Ergebnis der Vorlesungsevaluation: PDF
  • Mit diesem Ergebnis erzielte die Vorlesung fakultätsweit den 1. Platz von 43 Veranstaltungen in der Kategorie Vorlesung / Wahlfach / ≥10 Rückläufer

Vielen Dank an alle, die sich an der Evaluation beteiligt haben!