Planeamento
Aulas Teóricas
Presentation of the course
Presentation of the course. Evaluation method. Bibliography.
System Models
Physical models. Architectural models. Fundamental models. (Chapter 2)
Group Communication
Introduction to group communication. JGroups. (Chapter 6)
Pub/Sub
Introduction to publish-subscribe systems. (Chapter 6)
Publish-subscribe systems and message queues
Architecture of publish-subscribe systems. Example systems. Message queues (chapter 6).
Distributed shared memory
Distributed shared memory. (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. Some concrete peer-to-peer systems and applications. Oceanstore and Scribe. Unstructured overlay networks. (chapter 10)
P2P & Time and physical clocks
Time, physical clocks, clock synchronization. (chapter 14)
Logical time a logical clocks
Clock synchronization (end). Lamport´s logical clocks. Vector clocks. (chapter 14)
Global states
Consistent cut. Snapshot algorithm. (chapter 14)
Global States (conclusion) and Mutual-exclusion
Global states and distributed debugging. Introduction to mutual-exclusion. Ricart and Agrawala's algorithm. (chapter 15)
Mutual-exclusion.
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)
Implementing total order and View Synchrony
Using total order to implement mutual exclusion with quorums. Implementing View Synchrony. Reliable Multicast (regular and uniform). View Change Protocol.
Consensus and related problems
Consensus. Interactive consistency. Total order broadcast. (chapter 15)
Consensus
Consensus without a perfect failure detector. Paxos.
Concurrency control techniques
Optimistic and pessimistic concurrency control. (chapter 16)
Distributed transactions
Concurrency control in distributed transactions. Distributed deadlock detection. (chapter 17).
Replicating transactional systems using consensus
State-machine replication variants to implement transactional systems.
The gossip architecture
The gossip architcture. (chapter 18)
Bayou
Bayou and optimistic replication/ eventual consistency. (chapter 18)
Distributed File Systems: BFS, AFS, CODA and Google File System
Distributed File Systems:
Historic perspective: NFS and AFS
CODA (chapter 18)
- Architecture
- Main use cases
Google File System (chapter 21)
Case Study: Google
Other google services (chapter 21)