Archived Versions

Lecture Notes

Lectures 15, 21, and 22 were given by guest lecturer Dr. Victor Luchangco of Sun Microsystems, and are used with permission.

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