252-0213-00L  Distributed Systems

Semester Autumn Semester 2017
Lecturers F. Mattern, R. Wattenhofer
Periodicity yearly course
Language of instruction German
Comment Diese Lehrveranstaltung wird im HS17 zum letzten Mal in dieser Form angeboten.

Abstract Distributed control algorithms (mutual exclusion, logical clocks), communication models (RPC, synchronous/asynchronous communication, broadcast, events, tupel spaces), middleware, service- and resource-oriented architectures (SOAP, REST), security, fault-tolerance (failure models, consensus), replication (primary copy, 2PC, 3PC, Paxos, quorum systems), shared memory (spin locks, concurrency).
Objective Become acquainted with pertinent technologies and architectures of distributed systems.
Content We present the characteristics and concepts of distributed systems, and discuss distributed control algorithms (flooding, mutual exclusion, logical clocks), communications models (remote procedure call, client-server models, synchronous and asynchronous communication), abstract communication principles (broadcast, events, tupel spaces), name services, communication middleware for open systems (e.g., REST, SOAP), infrastructure for ad hoc networking (JINI), cloud computing, and mechanisms for security and safety. Having a distributed system may permit getting away with failures and malfunctions of parts of the system. We discuss fault-tolerance issues (models, consensus, agreement) as well as replication issues (primary copy, 2PC, 3PC, Paxos, quorum systems, distributed storage) and problems with asynchronous multiprocessing (shared memory, spin locks, concurrency). To get familiar with message passing communication, some of the exercises will be devoted to a practical lab where participants will develop software for a mobile platform (smartphones).