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)
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)
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)
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.
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.