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

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 werden Übungen in Form praktischer, mehrwöchiger Aufgaben angeboten, welche in die Note eingehen. Ziel ist es, praxisbezogene Aspekte verteilter Systeme zu vermitteln. Hierzu dient Android auf dem HTC Desire als mobile, verteilte Programmierplattform.

Ausgezeichnete Projekte:

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
Einführung 24.09.2010 Android-Seite M. Kovatsch
1 27.09.2010 Vorl.VertSys10-1.pdf F. Mattern
2 01.10.2010 F. Mattern
3 08.10.2010 Vorl.VertSys10-2.pdf F. Mattern
4 11.10.2010 F. Mattern
5 18.10.2010 Vorl.VertSys10-3.pdf F. Mattern
6 22.10.2010 Vorl.VertSys10-4.pdf F. Mattern
7 25.10.2010 F. Mattern
8 01.11.2010 Vorl.VertSys10-5.pdf F. Mattern
9 05.11.2010 F. Mattern
10 08.11.2010 F. Mattern
11-20 ab Freitag, 12.11.2010 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 Erfüllung der Aufgaben gehört zur selbständigen Arbeit und wird zu 20% in die Prüfungsnote eingehen.

Die Aufgaben sind über unser Abgabesystem einzureichen. Weitere Informationen finden sich auf unserer Android-Seite.

Aufgabe Termin Abgabe Aufgabenblatt Kommentar
- 24.09.2010 04.10.2010 - Allgemeine Einführung, Einrichten der Entwicklungsumgebung
1 04.10.2010 15.10.2010 spec_ds_hs2010_1.pdf Android Tutorial, GUI- und Hardwareprogrammierung
2 15.10.2010 29.10.2010 spec_ds_hs2010_2.pdf HTTP, REST, Cloud-Services (Update 12:11 Uhr, 15.10.2010)
3 29.10.2010 15.11.2010 spec_ds_hs2010_3.pdf Verteilter Chat, Logische Zeit (Lamport & Vektorzeit)
4 19.11.2010 20.12.2010   Freies Projekt
- 20.12.2010 -   Vorstellung der Projekte

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

Theoretische Übungen:

Zum ersten Teil gibt es zwei Übungsblätter zur Vorbereitung auf die schriftliche Prüfung. Sie sind freiwillig und werden nicht korrigiert. Eine Besprechung und Diskussion möglicher Lösungen der Übungsblätter findet an den nachfolgend angegebenen Terminen statt.

Termin Aufgabenblatt Kommentar
25.10.2010 serie_a.pdf, serie_a_folien.pdf Bitte machen Sie sich vor dem Besprechungstermin mit den Aufgaben vertraut.
19.11.2010 (Überarbeitet am 24.11.2010) serie_b.pdf serie_b_folien.pdf Bitte machen Sie sich vor dem Besprechungstermin mit den Aufgaben vertraut.

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

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

Termin Aufgabenblätter Kommentar
ab Freitag, 12.11.2010 http://disco.ethz.ch/lectures/distsys/ Teil 2 von R. Wattenhofer

Verantwortliche Assistentin ist Barbara Keller <barbara.keller@tik.ee.ethz.ch>.

Literatur:

ETH ZurichDistributed Systems Group
Last updated May 30 2011 10:17:35 AM MET ko