| 1 |
Course overview. Synchronous networks. Leader election in synchronous ring networks. |
(PDF) |
| 2 |
Leader election in rings. Basic computational tasks in general synchronous networks: leader election. Breadth-first search. Broadcast and convergecast. Shortest paths. |
(PDF) |
| 3 |
Spanning trees. Minimum spanning trees. |
(PDF) |
| 4 |
Fault-tolerant consensus. Link failures: the two generals problem. Process failures (stopping, Byzantine). Algorithms for agreement with stopping and Byzantine failures. Exponential information gathering. |
(PDF) |
| 5 |
Number-of-processor bounds for Byzantine agreement. Weak Byzantine agreement. Time bounds for consensus problems. |
(PDF) |
| 6 |
k-set-agreement. Approximate agreement. Distributed commit. |
(PDF) |
| 7 |
Asynchronous distributed computing. Formal modeling of asynchronous systems using interacting state machines (I/O automata). Proving correctness of distributed algorithms. |
(PDF) |
| 8 |
Non-fault-tolerant algorithms for asynchronous networks. Leader election, breadth-first search, shortest paths, broadcast and convergecast. |
(PDF) |
| 9 |
Spanning trees. Gallager et al. minimum spanning trees. |
(PDF) |
| 10 |
Synchronizers. Synchronizer applications. Synchronous vs. asynchronous distributed systems. |
(PDF) |
| 11 |
Time, clocks, and the ordering of events. State-machine simulation. Vector timestamps. |
(PDF) |
| 12 |
Stable property detection. Distributed termination. Global snapshots. Deadlock detection. |
(PDF) |
| 13 |
Asynchronous shared-memory systems. The mutual exclusion problem. Mutual exclusion algorithms. |
(PDF) |
| 14 |
More mutual exclusion algorithms. Bounds on shared memory for mutual exclusion. Resource allocation. The Dining Philosophers problem. |
(PDF) |
| 15 |
Shared-memory multiprocessors. Contention, caching, locality. Practical mutual exclusion algorithms. Reading/writing locks. |
(PDF) |
| 16 |
Impossibility of consensus in asynchronous, fault-prone, shared-memory systems. |
(PDF) |
| 17 |
Atomic objects |
(PDF) |
| 18 |
Atomic snapshot algorithms. Atomic read/write register algorithms. |
(PDF) |
| 19 |
List algorithms: locking algorithms, optimistic algorithms, lock-free algorithms, lazy algorithms. |
(PDF) |
| 20 |
Transactional memory: obstruction-free and lock-based implementations. |
(PDF) |
| 21 |
Wait-free computability. The wait-free consensus hierarchy. |
(PDF) |
| 22 |
Wait-free vs. f-fault-tolerant atomic objects. Boosting fault-tolerance. |
(PDF) |
| 23 |
Asynchronous network model vs. asynchronous shared-memory model. Impossibility of consensus in asynchronous networks. Failure detectors and consensus. Paxos consensus algorithm. |
(PDF) |
| 24 |
Self-stabilizing algorithms |
(PDF) |
| 25 |
Timing-based systems. Modeling and verification. Timing-based algorithms for mutual exclusion and consensus. Clock synchronization. |
(PDF) |