Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Verteilte Systeme (VS) - Übung (SS 2021)

Weitere Details zum Ablauf von Verteilte Systeme im Corona-Modus finden sich auf dieser Informationsseite.

Inhalt der Übungen

Im Rahmen der ersten drei Übungsaufgaben wird ein plattformunabhängiges Fernaufrufsystem schrittweise entwickelt und parallel dazu getestet. Als Vorlage und Orientierungshilfe dient dabei das in der Praxis weit verbreitete Java RMI. In den weiteren Übungsaufgaben stehen klassische Problemstellungen von verteilten Systemen wie fehlertolerante Replikation und verteilte Synchronisation im Mittelpunkt.

Die Bearbeitung der Übungsaufgaben erfolgt in Gruppen und überwiegend in der Programmiersprache Java. Für die erfolgreiche Abgabe einer Aufgabe ist es erforderlich, die eigene Implementierung einem Übungsleiter zu präsentieren.

Übungsbetrieb

Zur jeder Übungsaufgabe werden zu Beginn des Bearbeitungszeitraums Videos und die dazugehörigen Foliensätze veröffentlicht, in denen die Aufgabe vorgestellt wird, sowie relevante Hintergründe näher beleuchtet. Die Bearbeitung der Übungsaufgaben erfolgt in 3er-Gruppen, für die Zusammenarbeit sind keine persönlichen Treffen notwendig.

Bei Fragen zu den Übungen stellt diese über eine der dafür eingerichteten Mailinglisten oder schaut in unserer virtuellen Rechnerübung vorbei.

Eine ausführlichere Beschreibung des Übungsablaufs im Corona-Modus findet sich auf dieser Informationsseite.

Übungsmaterialien

Für die Übungsaufgaben werden Vorgaben und Hilfen im Verzeichnis /proj/i4vs/pub bereitgestellt.

Es ist empfehlenswert, die jeweilige Aufgabenstellung vor der Bearbeitung einer Aufgabe vollständig zu lesen, um von Beginn an einen Überblick über das zu erstellende System zu haben.

Organisation / Grundlagen
Live-Konferenz am 15.04.2021, 12:15 - 13:45 Uhr

Thema Folien Video Aufgabenblatt
Organisatorisches
Versionsverwaltung mit Git*
Git in Eclipse*
Java - Collections / Threads*
Verteilte Ausführung*
* Die Grundlagenvideos und -folien sind aus der Veranstaltung Middleware aus dem Wintersemester 2020/21

Hinweise:
  • Hier wird es zusätzliche Hinweise zur jeweiligen Übungsaufgabe und deren Abgabe geben
  • Die Aufgabestellung sollte vor Bearbeitung einer Aufgabe vollständig gelesen werden, um von Beginn an einen Überblick über das zu erstellende System zu haben.

Aufgabe 1: Java RMI
Bearbeitungszeitraum: 19.04.2021 - 04.05.2021

Thema Folien Video Aufgabenblatt
Aufgabe 1: Java RMI
Java Remote Method Invocation
Marshalling und Unmarshalling
Hinweis:
  • Dienste und Clients müssen bei der Abgabe auf verschiedenen Rechnern laufen

Aufgabe 2: Stubs & Skeletons
Bearbeitungszeitraum: 03.05.2021 - 18.05.2021

Thema Folien Video Aufgabenblatt
Aufgabe 2: Stubs & Skeletons
Java Reflection API
Stubs & Skeletons
Rückrufe
Evaluation von Systemen
Hinweise:
  • Dienste und Clients müssen bei der Abgabe auf verschiedenen Rechnern laufen
  • Eine Methode besitzt mehrere Parameter und einen Rückgabewert

Aufgabe 3: Fernaufrufsemantiken
Bearbeitungszeitraum: 17.05.2021 - 01.06.2021

Thema Folien Video Aufgabenblatt
Aufgabe 3: Fernaufrufsemantiken
Fehler & Fernaufrufsemantiken
Hinweise:
  • Was passiert wenn eine neue Anfrage eintrifft während die alte noch verarbeitet wird?

Aufgabe 4: Papierdiskussion
Bearbeitungszeitraum: 31.05.2021 - 15.06.2021

Thema Folien Video Aufgabenblatt
Aufgabe 4: Papierdiskussion
Papier: "In Search of an Understandable Consensus Algorithm"
Hinweise:

Aufgabe 5: Replikation
Bearbeitungszeitraum: 14.06.2021 - 29.06.2021

Thema Folien Video Aufgabenblatt
Grundlagen der Replikation & Raft
Aufgabe 5: Replikation
Hinweise:
  • Der Zählerdienst muss auch mit einem ausgefallenem Replikat weiterhin funktionieren

Aufgabe 6: Verteilte Synchronisation
Bearbeitungszeitraum: 28.06.2021 - 13.07.2021

Thema Folien Video Aufgabenblatt
Zeit in verteilten Systemen
Verteilte Synchronisation & Lockprotokoll von Lamport
Aufgabe 6: Verteilte Synchronisation
Hinweise:
  • Alle Replikate müssen bei der Abgabe auf unterschiedlichen Rechnern ausgeführt werden

Fragen zur Prüfung, Besprechung der Evaluation
Live-Konferenz am 15.07.2021, 12:15 - 13:45 Uhr

Evaluation

Die Evaluation im Sommersemester 2021 fand in der Zeit vom 11. Juni bis 10. Juli 2021 statt.
  • Alle Teilnehmenden erhielten einen Link für den Zugriff auf die Evaluationsformulare.
  • Es wurden 14 Fragebögen zu den Übungen ausgefüllt.
  • Ergebnis der Übungsevaluation [PDF]
Vielen Dank an alle, die sich an der Evaluation beteiligt haben!