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.
Events
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
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.
-
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
-
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