Aulas Teóricas

Reliable Broadcast

Introduction to the course. Physical models. Architectural models. Fundamental models. (Chapter 2). Introduction to group communication.  (Chapter 6)

Distributed Shared Memory and Tuple Spaces

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

Time and physical clocks

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

Logical time a logical clocks

Vector clocks. Causal multicast. (chapter 14) 

Global states

Consistent cut. Snapshot algorithm. (chapter 14)

Mutual-exclusion and Leader Election

Introduction to mutual-exclusion. Ricart and Agrawala's algorithm. Maekawa´s algorithm for mutual exclusion.  Leader Election. (chapter 15).

View-synchrony and total-order using view-synchrony

View-synchrony  (chapter 6). 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)

Solving consensus

Consensus in synchronous systems (with a perfect failure detector). Paxos.


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

Gossip, Eventual Consistency, Bayou

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

Peer-to-peer systems

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

Applications of P2P systems

Publish-subscribe using DHTs. File Systems using DHTs.

Buffer classes

In addition to the planned classes above, there is one extra class in Alameda that will be used to compensate for delays that may occur in the execution of the plan.