Aulas Teóricas

Introduction to the course.

Introduction to the course.

System models.

Physical models. Architectural models. Fundamental models. (Chapter 2)

Group Communication

Introduction to group communication.  (Chapter 6)


Introduction to publish-subscribe systems. (Chapter 6)

Publish-subscribe systems and message queues

Architecture of publish-subscribe systems. Building trees on mesh topologies and rendez-vous points (chapter 6).

Distributed shared memory

Introduction to shared memory.Distributed shared memory. Safe, Regular and Atomic registers. Distributed implementation of atomic registers (chapter 6).

Tuple spaces

Tuple spaces: model and implementation (chapter 6)

Introduction to peer-to-peer systems

Introduction to peer-to-peer systems and network overlays. Structured P2P systems. Chord. (chapter 10)

Peer-to-peer systems: examples

Continuation from the previous class: PASTRY. (chapter 10)

Applications of P2P systems

Some concrete peer-to-peer systems and applications. Oceanstore and Scribe (chapter 10).

Time and physical clocks

Time, physical clocks, clock synchronization. (chapter 14)

Logical time a logical clocks

Clock synchronization (end). Lamport´s logical clocks. Causal multicast. (chapter 14) 

Logical time a logical clocks

Vector clocks. Causal multicast. (chapter 14) 

Global states

Consistent cut. Snapshot algorithm. (chapter 14)

Global States (conclusion) and Mutual-exclusion

Distributed debugging. Introduction to mutual-exclusion. Ricart and Agrawala's algorithm. (chapter 15)

Mutual-exclusion and Leader Election

Maekawa´s algorithm for mutual exclusion.  Leader Election. (chapter 15).

Coordination in group communications

Total order multicast on top of view synchronous communication. (chapter 15)

Consensus and related problems

Consensus. Interactive consistency.  Atomic commitment. Total order broadcast. (chapter 15)

Consensus in synchronous systems

Total order on top of consensus. Consensus in synchronous systems (with a perfect failure detector).

Consensus in asynchronous systems

Paxos. Detailled description of Paxos operation. 

Consensus (conclusion)

Description of the operation of paxos using proposers, acceptors and learners. Multipaxos.

The gossip architecture

The gossip architecture. (chapter 18)


Bayou and optimistic replication/ eventual consistency. (chapter 18)

Distributed File Systems an Google Technology

Distributed File Systems: 

Historic perspective: NFS and AFS

CODA (chapter 18)

   - Architecture

   - Main use cases

Google File System, Chubby, Megastore, Spanner (chapter 21)