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
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
01.10.2012, 10:30 Uhr - 12:30 Uhr
Nachklausur im Raum 03.04.1.02
20.09.2012, 12:00 Uhr - 14:00 Uhr
Klausureinsicht im Raum 03.04.2.21
05.09.2012, 09:30 Uhr - 11:30 Uhr
Klausur im Raum 03.06.H10
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.
-
Einführung
-
Terminologie, Transparenzeigenschaften
-
Historie
-
Grundlagen Kommunikationssysteme
-
Das ISO-Referenzmodell OSI
-
Internet Protokoll IPv4
-
Transportprotokolle UDP und TCP
-
Interprozeßkommunikation
-
Kommunikationsmodelle
-
Remote Procedure Call (RPC)
-
Java RMI
-
Gruppenkommunikation (Multicast)
-
Verteilte Dateisysteme
-
Entwicklungsziele, Konzepte
-
Caching
-
Beispiele: Network File System (NFS), Andrew File System (AFS/DFS)
-
Synchronisationsalgorithmen
-
Formale Beschreibung
-
Zentrale Ansatz
-
Token-Verfahren (Floor-Passing)
-
Votierungsverfahren
-
Logische Uhren
-
Schnappschußverfahren
-
Lastverteilung
-
Lastmetriken
-
Strategien
-
Server Load Balancing
-
Lastverteilung auf Multicore-Systemen: Beispiel Apache-Webserver
-
Web-Anwendungen
-
Web-Services , Applikationsserver
-
Restful Services
Anforderungen
Vorlesung Grundlagen der Betriebssysteme und Rechnernetze
Literatur
-
A.S. Tanenbaum/M. van Steen: Verteilte Systeme. Grundlagen und Paradigmen, Pearsson Studium,
2. aktualisierte Auflage 2007
-
Coulouris, Dollimore, Kindberg: Verteilte Systeme. Konzepte und Design, Pearsson Studium,
3. überarbeitetet Auflage, 2005
-
G. Bengel: Verteilte Systeme, Vieweg, 3 Auflage, 2004
-
Langendörfer, Schnor: Verteilte Systeme, Hanser Verlag, 1994
-
Kenneneth P. Birman: Guide to Reliable Distributed Systems: Building High-Assurance Applications
and Cloud-Hosted Services, Springer, 2012