Friedrich-Alexander-Universität UnivisSuche FAU-Logo
Techn. Fakultšt Willkommen am Department Informatik FAU-Logo
Logo I4
Lehrstuhl für Informatik 4
Verteilte Systeme
 
  Vorlesung
    - UnivIS-Infos
    - Inhalt
    - Prüfungen
    - Folien
 
  Übungen
    - Inhalt
    - Tipps
    - Folien
    - Aufgaben
Department Informatik  >  Informatik 4  >  Lehre  >  SS 2012  >  VS  >  Übung

Verteilte Systeme (VS) - Übungen (SS 2012)

Inhalt der Übungen

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

Als Grundlage für das eigene Fernaufrufsystem wird zunächst eine objektorientierte Kommunikation zwischen einem Client und einem Server ermöglicht. Ausgehend davon erweitern die folgenden Übungsaufgaben das bestehende System um die eigentlichen Mechanismen zur Durchführung von Fernaufrufen. Hinzu kommt außerdem zusätzliche Funktionalität, wie beispielsweise die Unterstützung von Rückrufen. Darüber hinaus wird durch den Einsatz geeigneter Fernaufrufsemantiken sowie die Replikation der Server-Seite die Fehlertoleranz des Systems erhöht, so dass sich am Ende auch Ausfälle ganzer Rechner tolerieren lassen.

Der Austausch von Nachrichten zwischen einzelnen Dienstreplikaten wird mit Hilfe der Gruppenkommunikation JGroups abgewickelt. Um das Verständnis für den Aufbau solcher Systeme zu vertiefen, wird in einer Übungsaufgabe eine eigene Protokollschicht für JGroups realisiert, die sicherstellt, dass alle Replikate alle über die Gruppenkommunikation verschickten Nachrichten in der selben Reihenfolge erhalten und somit konsistente Entscheidungen treffen können. In der letzten Übungsaufgabe wird schließlich auf Basis von JGroups ein verteilter Synchronisationsalgorithmus für wechselseitigen Ausschluss implementiert.

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

Bei Fragen zu den Übungen kontaktiert bitte Tobias, Klaus oder Timo.

Hinweise

  • Zusatzmaterial: Für einige der Übungsaufgaben werden Vorgaben und Hilfen im Verzeichnis /proj/i4vs/pub bereitgestellt
  • Teamarbeit mit svn: Beschreibt den Umgang mit Subversion in gängigen Szenarien der Teamarbeit

Übungsfolien

Nr. Datum Thema Folien (1x1) Folien (2x2)
1 23.04.2012 Organisatorisches
Java RMI
2 30.04.2012 Multithreading in Java
3 07.05.2012 Stubs & Skeletons
08.05.2012 Abgabe: Aufgabe 1
4 14.05.2012 Rückrufe, Evaluation von Systemen
5 21.05.2012 RPC-Semantiken
22.05.2012 Abgabe: Aufgabe 2
6 04.06.2012 Lesen und Begutachten von Fachliteratur
05.06.2012 Abgabe: Aufgabe 3
7 11.06.2012 Replikation
8 18.06.2012 Papier-Diskussion
9 26.06.2012 Zuverlässige Gruppenkommunikation
Abgabe: Aufgabe 4
10 02.07.2012 Cloud Computing
11 09.07.2012 Verteilte Synchronisation
10.07.2012 Abgabe: Aufgabe 5
12 16.07.2012 Fragen zur Prüfung, Besprechung der Evaluation
17.07.2012 Abgabe: Aufgabe 6

Übungsaufgaben

Nr. Titel Ausgabe Abgabe
1 Java RMI 23.04.2012 08.05.2012
2 Stubs & Skeletons
07.05.2012 22.05.2012
3 RPC-Semantiken 21.05.2012 05.06.2012
4 Replikation 04.06.2012 17/26.06.2012
5 Zuverlässige Gruppenkommunikation 26.06.2012 10.07.2012
6 Verteilte Synchronisation 09.07.2012 17.07.2012

Evaluation

Die Evaluation im Sommersemester 2012 wurde in der Zeit vom 18. Juni bis zum 7. Juli 2012 durchgeführt.
  • In den Übungen wurden 22 Transaktionsnummern für den Zugriff auf die Evaluationsformulare verteilt.
  • Es wurden 8 Fragebögen zu den Übungen ausgefüllt.
  • Ergebnis der Übungsevaluation [PDF]
Vielen Dank an alle, die sich an der Evaluation beteiligt haben!
  Impressum Stand: 2012-07-16 14:18   TD