| 1 |
Course Overview
Synchronous Networks
Leader Election in Synchronous Ring Networks |
|
| 2 |
Basic Computational Tasks in Synchronous Networks: Leader Election
Breadth-first Search
Shortest Paths
Broadcast and Convergecast |
|
| 3 |
Breadth-first Search (cont.)
Shortest Paths (cont.)
Broadcast and Convergecast (cont.)
Spanning Trees
Minimum Spanning Trees |
|
| 4 |
Fault-tolerant Consensus
Link Failures: The Two Generals Problem
Process Failures (Stopping, Byzantine)
Algorithms for Agreement with Stopping Failures |
|
| 5 |
Exponential Information Gathering
Algorithms for Agreement with Byzantine Failures |
Homework assignment 1 due |
| 6 |
Number-of-processes Lower Bounds for Byzantine Agreement
Weak Byzantine Agreement
Time Bounds for Consensus Problems |
|
| 7 |
Other Kinds of Consensus Problems: $k$-agreement
Approximate Agreement
Distributed Commit |
|
| 8 |
Asynchronous Distributed Computing
Formal Modeling of Asynchronous Systems using I/O Automata |
|
| 9 |
Proof Methods
Non-fault-tolerant Algorithms for Asynchronous Networks
Leader Election, Breadth-first Search, Shortest Paths, Broadcast and Convergecast |
Homework assignment 2 due |
| 10 |
Non-fault-tolerant Algorithms for Asynchronous Networks (cont.)
Leader Election, Breadth-first Search, Shortest Paths, Broadcast and Convergecast (cont.) |
|
| 11 |
Spanning Trees
Gallager et al. Minimum Spanning Tree Algorithm |
|
| 12 |
Synchronizers |
Homework assignment 3 due |
| 13 |
Synchronizer Applications
Time, Clocks, and the Ordering of Events
Vector Timestamps |
|
| 14 |
State-machine Simulation
Synchronous vs. Asynchronous Distributed Systems
Stable Property Detection
Distributed Termination
Global Snapshots
Deadlock Detection
Asynchronous Shared-memory Systems |
|
| 15 |
Mutual Exclusion
Mutual Exclusion Algorithms |
|
| 16 |
Mutual Exclusion Algorithms (cont.) |
Homework assignment 4 due |
| 17 |
Bounds on Shared-memory for Mutual Exclusion |
|
| 18 |
Impossibility of Consensus in Asynchronous, Fault-prone, Shared-memory Systems |
|
| 19 |
Atomic Objects
Atomic Snapshot Algorithms |
|
| 20 |
Atomic Read/Write Register Algorithms
Wait-free Computability
The Wait-free Consensus Hierarchy |
Homework assignment 5 due |
| 21 |
The Wait-free Consensus Hierarchy (cont.) |
|
| 22 |
Wait-free vs. $f$-fault-tolerant Atomic Objects |
|
| 23 |
Asynchronous Network Model vs. Asynchronous Shared-memory Model
Impossibility of Consensus in Asynchronous Networks
Failure Detectors and Consensus |
Homework assignment 6 due |
| 24 |
Paxos Consensus Algorithm
Reliable Communication using Unreliable Channels |
|
| 25 |
Reliable Communication using Unreliable Channels (cont.)
Self-stabilizing Algorithms |
|
| 26 |
Atomic Memory Algorithms for Dynamic Networks
Rambo |
Homework assignment 7 due |