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
Dipl.-Math. Petra Vogel


Modulnummern

  • Bachelor Computational Science: 2010
    • 550711 - Vorlesung
    • 550721 - Übung
    • 550701 - Prüfung

  • Master Computational Science: 8010
    • 552511 - Vorlesung
    • 552521 - Übung
    • 552501 - Prüfung

Ort/Termine

Die Vorlesung wird mittwochs von 10:00 Uhr bis 12:00 Uhr im Raum 03.04.1.02 gehalten, die Übung findet freitags von 10:00 Uhr bis 12:00 Uhr im Raum 03.04.0.02 statt.

Aktuelles
Klausureinsicht 16.10.2018, 10:00–11:00 Uhr Universität Potsdam, Raum 03.04.0.14 zur Sprechzeit von Frau Vogel
Veröffentlichung der Klausurergebnisse 10.10.2018 Klausurergebnisse
Klausur 25.09.2018, 10:30 Uhr Achtung Raumänderung! Universität Potsdam, Raum 03.04.1.02
Claas Lorenz: Vortrag "Software Defined Network" 13.07.2018, 12:15 Uhr Universität Potsdam, Raum 03.04.0.02
Erste Veranstaltung 11.04.2018, 10:00 Uhr Universität Potsdam, Raum 03.04.1.02

Materialien


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

Anforderungen

Vorlesung Grundlagen der Betriebssysteme und Rechnernetze


Literatur

Grundkurs Verteilte Systeme
G. Bengel
Springer Vieweg, 4. Auflage, 2014


Distributed Systems: Pearson New International Edition: Principles and Paradigms
M. van Steen, A.S. Tanenbaum
Pearsson Studium, 2. Auflage 2013


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


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
Langendörfer, Schnor
Hanser Verlag, 1994