Distributed Systems

Till A.Y. 2017-2018.

Office hours

by appointment via email

Course Outline

  1. Introduction (chapter 1)
    definition of distributed system; goals (resource availability, distribution transparency, openness, scalability); types of distributed systems (computing systems, information systems, pervasive systems).
  2. Architecture of distributed systems (chapter 2)
    system architectures (centralized, decentralized, hybrid); middleware approaches (interceptors, adaptive middleware); the feedback control model.
  3. Processes (chapter 3)
    threads; virtualization; clients; servers; code migration.
  4. Communication (chapter 4)
    basic concepts; Remote Procedure Call; Message Oriented Communication; Stream Oriented Communication; Multicast Communication.
  5. Naming (chapter 5)
    basic concepts (name, identifier, address); flat, structured, and attribute-based naming systems.
  6. Synchronization (chapter 6)
    clock synchronization (physical clocks, GPS); logical clocks (Lamport and Vector Clocks protocols); mutual exclusion (centralized, decentralized, distributed, token ring algorithms); global node positioning; election algorithms.
  7. Consistency and Replication (chapter 7)
    data-centric models (continuous consistency, consistent ordering); client-centric models (eventual consistency, monotonic reads, monotonic writes, read your writes, writes follow reads); replica management; consistency protocols (continuous consistency, primary-based, replicated-write, cache coherence).
  8. Fault tolerance (chapter 8)
    basic concepts (failure, redundancy); process resilience; reliable client-server communication; reliable group communication; distributed commit; recovery.

Slides

I will use the slides kindly provided by prof. Maarten van Steen, based on the textbook of the course.
The slides of the course are available on Ariel platform.

Text Book

Andrew Tanenbaum, Maarten van Steen
Distributed Systems, Principles and Paradigms
Prentice-Hall, 2007 (2nd edition)

Recommended Readings

George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair
Distributed Systems - Concepts and Design
Addison Wesley, 2011 (5th edition)

Exams

The exam is a written test.

The last exam for this course will be on January 2020.

  • Friday, 15 January 2020 — h. 9:30