Small logo of ETH main building ETH Zurich : Computer Science : Pervasive Computing : Distributed Systems : Education : DS HS2011

Verteilte Systeme

Prof. Dr. Friedemann Mattern
Prof. Dr. Roger Wattenhofer

Zeit und Ort:

Montag
Freitag
9:15 – 12:00
9:15 – 12:00
(Vorlesung, fallweise auch Übung)

Inhalt:

Einführung (Charakteristika und Konzepte), verteilte Kontrollalgorithmen (Flooding- / Echo-Verfahren, wechselseitiger Ausschluss, logische Uhren), Basis-Kommunikationsmodelle (Remote Procedure Call, Client-Server-Modelle, synchrone und asynchrone Kommunikation, Socket-Programmierschnittstelle), abstraktere Kommunikationsprinzipien (Broadcast, Ereignisse, Tupelräume), Namensverwaltung, Middleware und Techniken offener Systeme, Infrastruktur für spontan vernetzte Systeme (Jini), Sicherheits- und Schutzmechanismen, Fehlertoleranz (Modelle, Consensus, Agreement), Replikation (Primary Copy, 2PC, 3PC, Paxos, Quorum-Systeme), Multi-Prozessor-Programmierung.

Selbständige Arbeit:

Parallel zur Vorlesung findet ein Praktikum in Form von mehrwöchigen Aufgaben statt, welches in die Note eingehen wird. Ziel ist es, praxisbezogene Aspekte verteilter Systeme zu vermitteln. Hierzu dient Android auf dem HTC Desire als mobile, verteilte Programmierplattform.

Ausgezeichnete Praktikumsprojekte:

Am Ende dieses Kurses haben wir ausgezeichnete Projekte prämiert und auf unserer Webseite veröffentlicht.

Vorlesungsunterlagen:

Folienkopien der Vorlesung werden (in mehreren Teilen) im Laufe des Semesters hier bereitgestellt.

Vorlesung Termin PDF Dozent
1 23.09.2011 VS-Vorl11-01.pdf F. Mattern
2 26.09.2011 F. Mattern
3 03.10.2011 VS-Vorl11-02.pdf F. Mattern
4 07.10.2011 VS-Vorl11-03.pdf F. Mattern
5 14.10.2011 VS-Vorl11-04.pdf F. Mattern
6 17.10.2011 F. Mattern
7 21.10.2011 VS-Vorl11-05.pdf F. Mattern
8 28.10.2011 VS-Vorl11-06.pdf F. Mattern
9 04.11.2011 VS-Vorl11-07.pdf F. Mattern
10-21 ab Montag, 07.11.2011 http://disco.ethz.ch/lectures/distsys/ R. Wattenhofer

Übungen:

Im Rahmen der Vorlesung wird es praktische Übungen in Form von Programmieraufgaben und theoretische Übungen in Form von schriftlichen Aufgaben geben.

Praktische Übungen:

Die hier erbrachte Leistung wird zu 20% in die Prüfungsnote eingehen. Details zum Praktikum gibt es auf unserer Android-Seite. Die Abgaben können über die Submission Page eingereicht werden.

Aufgabe Termin Abgabe Aufgabenblatt Kommentar
- 23.09.2011 30.09.2011 Einführung, Einrichten der Entwicklungsumgebung
1 30.09.2011 10.10.2011 spec_ds_hs2011_1.pdf Android Tutorial, GUI- und Hardwareprogrammierung
2 10.10.2011 24.10.2011 spec_ds_hs2011_2.pdf HTTP, REST, Cloud-Services
3 24.10.2011 07.11.2011 spec_ds_hs2011_3.pdf Verteilter Chat, Logische Zeit (Lamport & Vektorzeit)
4 04.11.2011 19.12.2011 Folien Freies Projekt

Verantwortlicher Assistent ist Matthias Kovatsch <kovatsch@inf.ethz.ch>.

Theoretische Übungen:

Zum ersten Teil (Mattern) gibt es ein Übungsblatt zur Vorbereitung auf die schriftliche Prüfung. Die Aufgaben sind freiwillig und werden nicht korrigiert. Eine Besprechung und Diskussion möglicher Lösungen des Übungsblattes findet am 23.12.2011 statt.

Termin Aufgabenblatt Kommentar
23.12.2011 theorie.pdf (Version vom 22.12.2011)
theorie_folien.pdf (Version vom 9.1.2012)
Bitte machen Sie sich vor dem Besprechungstermin mit den Aufgaben vertraut.

Verantwortlicher Assistent ist Benedikt Ostermaier <ostermaier@inf.ethz.ch>.

Im zweiten Teil (Wattenhofer) werden regelmässig Übungen zur Vorlesung gehalten. Sie gehen nicht in die Prüfungsnote ein.

Literatur:

ETH ZurichDistributed Systems Group
Last updated January 9 2012 01:38:13 PM MET ss