|
|
Verteilte Systeme Vorlesung und Übung (19536) - 2+2-stündig, ECTS: 5 Dozent: Artur Andrzejak Vorlesung: Freitags 10 - 12 Uhr - Takustraße 9, SR 005 Übung: Dienstags 10 - 12 Uhr - Takustraße 9, SR 046 Zeitraum: 14.04.2009 bis 17.07.2009 KVV Seite: https://www.mi.fu-berlin.de/kvv/course.htm?cid=7920&iid=1&sid=16 Terminhinweise: Am Freitag, den 17. Juli 2009 findet keine Vorlesung statt. Folgende Materialien sind nur aus den Campusnetzen der HU-, FU-, TU-Berlin und vom ZIB zugänglich. Vorlesungsfolien / slides
Übungszettel / problem sets
Daten / Code
PrüfungstermineInhalte der Folien
1. Organizational Matters; Motivation
and Introduction; Architectures I; Parallel vs. Distributed Computing;
Introduction to Data Crunching with Map-Reduce 2. Networks – Introduction; Protocol
principles; Routing basics; Internet protocols; IP addressing 3. Concurrency and operating systems
(processes and threads); Interprocess communication; Sockets and their
programming 4. Message Passing Interface (MPI);
Remote Procedure Call (RPC) fundamentals; Intro to Java RMI 5. Java RMI – examples; Older RPC
systems: SUN RPC and DCE RPC; CORBA; 6. Web services; HTTP; XML-RPC; SOAP;
REST; WSDL; .NET Remoting 7. Verteilte Algorithmen; Modelle für synchrone Algorithmen; Leader Election: LCR, Timeslice, FloodMax, OptFloodMax 8. Aufspannende Bäume – SynchBFS; kürzeste Wege - Variation von BellmanFord; Minimaler Aufspannender Baum - SynchGHS (synchron) 9. Modellieren von asynchronen Systemen – I/O Automaten; Asynchrone Leader Election Algorithmen; Aufspannende Bäume – Asynchron; Logische Zeit – Einführung 10. Logische Zeit: Happened-Before Relation; Lamport-Zeit; WelchTime Transformation; Vektoruhren; Algorithmus von Ricart und Agrawala (Anwendung der Lamport-Zeit); CountMoney – Illustration eines augenblicklichen globalen Schnappschusses 11. Arten von fehlertoleranten Algorithmen; Robuste Algorithmen; Selbststabilisierende Systeme; Dijkstra‘s Token Ring – Algorithmus und Beweis der Selbststabilisation; Stabilisation zur Postconditions; Maximales Matching 12. (noch unvollständig) Programmieren mit Actors in Scala; Globale Schnappschüsse: Chandy-Lamport Algorithmus Literatur:
·
[CDK] George Coulouris, Jean Dollimore, Tim Kindberg: Distributed
Systems: Concepts and Design (4th ed.), Addison-Wesley, 2005. ·
[TS] Andrew S. Tanenbaum, Maarten Van Steen: Distributed Systems:
Principles and Paradigms, Prentice Hall, 2006. · [W] Michael Weber: Verteilte Systeme, Spektrum Akademischer Verlag, 1998. ·
[L] Nancy A. Lynch: Distributed Algorithms, Morgan Kaufmann Pub.,
1997. ·
[T] Gerard Tel: Introduction to Distributed Algorithms, Cambridge
University Press, 2001. Software und Manuals:
·
[Hadoop] Apache Hadoop: http://hadoop.apache.org/ ·
[Scala] The Scala Programming Language, http://www.scala-lang.org/ ·
[Weka] Weka 3: Data Mining Software in Java, http://www.cs.waikato.ac.nz/ml/weka/ |