Planeamento
Aulas Teóricas
Introduction to the course
Overview of the course.
Key aspects in the design of distributed systems
Safety and liveness properties. System model (synchronous, asynchronous, network model, etc). Performance metrics.
Physical time in distributed systems
Clock synchronization in distributed system. Synchronizing from an external source. Internal synchronization.
Logical time in distributed systems
Lamport´s logical clocks. Vector clocks.
Mutual exclusion in distributed systems
Use of logical clocks to solve the mutual exclusion problem. Ricart and Agrawala Algorithm. Maekawa.
Leader election
Leader election in distributed systems. Bully algorithm.
How to write technical papers
Some key aspects to consider when writting a technical paper.
How to make a presentation
Some key aspects for making good presentations.
Global states and distributed snapshots
Consistent global states. Chandy and Lamport algorithm.
Basic replication techniques
Primary-backup replication. State-machine replication.
Reliable multicast
The reliable multicast problem. Regular and uniform multicast. An algorithm.
Consensus and total order
The consensus problem. A solution for systems with a perfect failure detector. Consensus and total order.
Lazy replication
Using epidemic strategies for disseminating updates.
Group Communication
Introduction to group communication. Services and properties. View synchrony.
Group Communication (continuation)
Implementing group primitives. The "flush" protocol.
Distributed File Systems
Introduction to distributed file systems. The NFS and AFS file systems.
File replication
The CODA file system. Disconnected operation.
Optimistic replication
Key aspects. Operation propagation and scheduling. Conflict resolution.
The Bayou system
How to model and propagate operations.
The Bayou system (continuation)
How to provide "session semantics". How to compress the operation history.
Load balancing
Load balancing in distributed systems.
Web clustering
Load balancing in web clusters.
Unstructured P2P systems
Properties and examples of unstructured P2P systems.
Structured P2P systems
The distributed hash table approach.