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