ETH Zurich :
Computer Science :
Pervasive Computing :
Distributed Systems :
Education :
DS HS2015
Verteilte Systeme
Prof. Dr. Friedemann Mattern
Prof. Dr. Roger Wattenhofer
Die Prüfungseinsicht findet an folgenden Terminen statt:
- Freitag, 4. März 2016 um 9–11 Uhr in
- Donnerstag, 10. März 2016 um 14–16 Uhr in
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 Google Nexus 5 als mobile, verteilte Programmierplattform.
Vorlesungstermine und -unterlagen:
Hier finden Sie Folienkopien der Vorlesung.
Weitere Materialien werden im Laufe der Vorlesung hier eingestellt.
Vorlesung |
Termin |
PDF |
Dozent |
1 |
18.09.2015 |
HS2015-Android.Introduction.pdf |
F. Mattern, L. Sadamori |
2 |
21.09.2015 |
|
F. Mattern |
3 |
25.09.2015 |
F. Mattern |
Android |
28.09.2015 |
L. Sadamori |
4 |
02.10.2015 |
F. Mattern |
5 |
05.10.2015 |
F. Mattern |
6 |
09.10.2015 |
F. Mattern |
7 |
12.10.2015 |
F. Mattern |
8 |
16.10.2015 |
F. Mattern |
9 |
19.10.2015 |
F. Mattern |
10 |
23.10.2015 |
F. Mattern |
11 |
26.10.2015 |
F. Mattern |
12 |
30.10.2015 |
F. Mattern |
Teil 2 |
02.11.2015 – 14.12.2015 |
R. Wattenhofer |
Android |
18.12.2015 |
|
L. Sadamori |
Ü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 Leyna Sadamori.
Praktische Übungen:
Die hier erbrachte Leistung kann mit bis zu 45 Punkten in die Prüfungsnote eingehen.
Die Abgaben werden über das Abgabesystem eingereicht.
Die praktischen Übungen werden in Gruppen zu je 3 Studenten bearbeitet. Die Anmeldung der Gruppen erfolgt über unser Abgabesystem.
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.
Im zweiten Teil (Wattenhofer) werden regelmässig Übungen zur Vorlesung gehalten. Hier können 20 Prüfungspunkte zur Verbesserung erworben werden.
Literatur:
- G. Coulouris, J. Dollimore, T. Kindberg: Distributed Systems: Concepts and Design, Addison-Wesley
- A. Tanenbaum, M. van Steen: Distributed Systems: Principles and Paradigms, Prentice-Hall
- Mullender (Ed.): Distributed Systems, 2nd Edition, Addison-Wesley
- M. Weber: Verteilte Systeme, Spektrum-Verlag
- B. Schneier: Applied Cryptography, Wiley
- M. Herlihy, N. Shavit: The Art of Multiprocessor Programming, Morgan Kaufmann, 2008
|