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

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 finden praktische Übungen in Form von mehrwöchigen Aufgaben statt, welche zur Verbesserung in die Note eingehen können. Ziel ist es, praxisbezogene Aspekte verteilter Systeme zu vermitteln. Hierzu dient Android auf dem HTC Desire als mobile, verteilte Programmierplattform.

Vorlesungsunterlagen:

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

Vorlesung Termin PDF Dozent
1 20.09.2013 VS-Vorl13-01.pdf F. Mattern
2 23.09.2013 F. Mattern
Android 27.09.2013 Android-Seite M. Kovatsch
3 30.09.2013 VS-Vorl13-02.pdf F. Mattern
4 04.10.2013 F. Mattern
5 07.10.2013 F. Mattern
6 11.10.2013 VS-Vorl13-03.pdf F. Mattern
7 14.10.2013 F. Mattern
8 18.10.2013 VS-Vorl13-04.pdf F. Mattern
9 21.10.2013 F. Mattern
10 25.10.2013 VS-Vorl13-05.pdf F. Mattern
11 28.10.2013 F. Mattern
VS-Vorl13-full.pdf (1 Folie pro Seite) F. Mattern
Teil 2 01.11.2013 – 16.12.2013 R. Wattenhofer
Android 20.12.2013 M. Kovatsch

Übungen:

Im Rahmen der Vorlesung wird es praktische Übungen in Form von Programmieraufgaben und theoretische Übungen in Form von schriftlichen Aufgaben geben. Verantwortlicher Assistent ist Matthias Kovatsch <kovatsch@inf.ethz.ch>.

Praktische Übungen:

Die hier erbrachte Leistung kann mit bis zu 45 Punkten zur Verbesserung in die Prüfungsnote eingehen. Details zum Praktikum gibt es auf unserer Android-Seite. Die Abgaben können über nser Abgabesystem eingereicht werden.

Aufgabe Termin Abgabe Aufgabenblatt Kommentar
23.09.2013 27.09.2013 Einführung, Einrichten der Entwicklungsumgebung
1 30.09.2013 14.10.2013 HS2013.Assignment1.pdf
HS2013.Template.Skeleton1.zip
HS2013.Template.Report1.zip
GUI- und Hardwareprogrammierung
2 14.10.2013 28.10.2013 HS2013.Assignment2.pdf
HS2013.Template.Report2.zip
HTTP, REST, Cloud-Services
3 28.10.2013 11.11.2013 HS2013.Assignment3.pdf
HS2013.Template.Report3.zip
Verteilter Chat, Logische Zeit (Lamport & Vektorzeit)
4 11.11.2013 20.12.2013 HS2013.Android.Project.Intro.pdf Freies Projekt

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. Lösungsvorschläge werden zu einem späteren Zeitpunkt veröffentlicht.

Version Aufgabenblatt Kommentar
24.12.2013 HS2013.Theorie.pdf Übungen im Stil von Klausurfragen
17.01.2013 HS2013.Theorie.Loesungsvorschlaege.pdf Lösungsvorschläge

Im zweiten Teil (Wattenhofer) werden regelmässig Übungen zur Vorlesung gehalten. Hier können 20 Prüfungspunkte zur Verbesserung erworben werden.

Literatur:

ETH ZurichDistributed Systems Group
Last updated September 18 2014 11:24:44 AM MET ko