Vorlesung Verteilte Systeme

Unter Verteilten Systemen verstehen wir vernetze, häufig topologisch weit verteilte Rechnerressourcen, die miteinander kooperieren. Ein klassisches Interaktionsmuster ist das Client-Server-Computing wie wir es im lokalen Bereich zwischen Client und Fileserver finden, aber auch Webapplikationen wie Suchmaschinen und soziale Netzwerke im Internet. Voraussetzung für die Interaktion ist jeweils die Möglichkeit der Kommunikation zwischen den Rechnerressourcen. Neben dem Client-Server-Computing hat sich auch das P2P-Computing als erfolgreiches Interaktionsmuster durchgesetzt. Aktuelle Erscheinungsformen der Verteilten Systeme finden wir im Grid und Cloud Computing, sowie in Sensornetzen bis hin zum Smart Metering.


Veranstalter

Prof. Dr. Bettina Schnor, Institut für Informatik
Steffen Christgau, Institut für Informatik


Modulnummern

  • Bachelor Informatik:
    3010, 3020, 3030, 3040, 3050, 3060
  • Bachelor Computational Science:
    551211, 551221
  • Bachelor Wirtschaftsinformatik:
    3010, 3020, 3030, 3040, 3050, 3060
  • Master Informatik:
    3011, 3021, 3031
  • Master Computational Science:
    553101

Ort/Termine

Die Vorlesungen und die Übungen werden im Raum 3.06.H01 stattfinden.
Am Freitag, von 10:00 Uhr bis 12:00 Uhr, wird die Vorlesung gehalten. Am Dienstag, von 12:00 Uhr bis 14:00 Uhr, wird abwechselnd die Vorlesung und die Übung stattfinden.

Aktuelles
Nachklausur 23.09.2014, 10:00 Uhr - 12:00 Uhr Universität Potsdam, Raum 03.04.2.19
Klausureinsicht 02.09.2014, 10:00 Uhr - 12:00 Uhr Universität Potsdam, Raum 03.04.2.19
Klausurergebnisse 26.08.2014 Die Klausurergebnisse sind veröffentlicht.

Materialien


  • Zulassung zur Klausur (nach Übungspunkten, vorbehaltlich Anmeldung zur Modulprüfung)
  • Klausurrelevantes Szenario (zum Schmunzeln)
  • Punkteliste
  • Übungsblatt 6
    Abgabe bis zum 03.07.2014, 12:00 Uhr
  • Übungsblatt 5
    Abgabe bis zum 19.06.2014, 12:00 Uhr
  • Übungsblatt 4
    Abgabe bis zum 05.06.2014, 12:00 Uhr.
    Das C-Programm für Aufgabe 4 finden Sie unter Materialien (s.o.) Aufgabe 4 ist zudem optional. Hinweis zu Aufgabe 4: Die Aufgabenstellung für Teilaufgabe b wurde korrigiert (siehe Aufgabenblatt). Fordern Sie zunächst die Locks für beide Dateien an und geben Sie diese erst danach (also nach dem Erhalt beider Locks) wieder frei!
  • Übungsblatt 3
    Abgabe bis zum 22.05.2014, 12:00 Uhr.
    Hinweis zu Aufgabe 3.3.1: Gehen Sie davon aus, dass statt NFS zuvor ein lokales Dateisystem verwendet wurde.
  • Übungsblatt 2
    Abgabe bis zum 08.05.2014, 12:00 Uhr.
  • Übungsblatt 1
    Abgabe bis zum 24.04.2014, 12:00 Uhr.
    Im Ordner Material (s.o.) finden Sie die Datei local_example.tar.gz, die Sie für das Lösen von Aufgabe 3 verwenden können.

Themenliste

Die Vorlesung behandelt Kommunikationsmodelle für Verteilte Anwendungen (socketbasierte Kommunikation, RPC, Java RMI), Konzepte verteilter Dateisysteme, Synchronisationsverfahren für verteilte Anwendungen mit Beispielen z.B. aus Cloud-Datenbanken, sowie Konzepte der Lastverteilung in Hochverfügbarkeits-Clustern wie Google.


  1. Einführung
    • Terminologie, Transparenzeigenschaften
    • Historie
  2. Grundlagen Kommunikationssysteme
    • Das ISO-Referenzmodell OSI
    • Internet Protokoll IPv4
    • Transportprotokolle UDP und TCP
  3. Interprozeßkommunikation
    • Kommunikationsmodelle
    • Remote Procedure Call (RPC)
    • Java RMI
    • Gruppenkommunikation (Multicast)
  4. Verteilte Dateisysteme
    • Entwicklungsziele, Konzepte
    • Caching
    • Beispiele: Network File System (NFS), Andrew File System (AFS/DFS)
  5. Synchronisationsalgorithmen
    • Formale Beschreibung
    • Zentrale Ansatz
    • Token-Verfahren (Floor-Passing)
    • Votierungsverfahren
    • Logische Uhren
    • Schnappschußverfahren
  6. Lastverteilung
    • Lastmetriken
    • Strategien
    • Server Load Balancing
    • Lastverteilung auf Multicore-Systemen: Beispiel Apache-Webserver
  7. Web-Anwendungen
    • Web-Services , Applikationsserver
    • Restful Services
  8. Big Data
    • MapReduce, Hadoop-Cluster

Anforderungen

Vorlesung Grundlagen der Betriebssysteme und Rechnernetze


Literatur

Verteilte Systeme. Grundlagen und Paradigmen
A.S. Tanenbaum, M. van Steen
Pearsson Studium, 2. Auflage 2007


Verteilte Systeme. Konzepte und Design
Coulouris, Dollimore, Kindberg
Pearsson Studium, 3. Auflage, 2005


Verteilte Systeme
G. Bengel
Vieweg, 3. Auflage, 2004


Verteilte Systeme
Langendörfer, Schnor
Hanser Verlag, 1994


Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services
Kenneneth P. Birman
Springer, 2012