6.852 course schedule

Lecture

Topic

Readings (from Lynch unless o.w. noted)

1 (Sept. 8)

Course overview. Synchronous networks. Leader election in synchronous ring networks.

Ch.1, 2 (skim).

Ch.3, sections 3.1-3.4.

2 (Sept. 13)

Basic computational tasks in synchronous networks: Leader election. Breadth-first search. Shortest paths. Broadcast and convergecast.

Ch.3, sections 3.1-3.6.

3 (Sept. 15)

Breadth-first search. Shortest paths. Broadcast and convergecast. Spanning trees. Minimum spanning trees.

Ch.4, sections 4.1-4.4.

4 (Sept. 20)

Fault-tolerant consensus. Link failures: The Two Generals problem. Process failures (stopping, Byzantine). Algorithms for agreement with stopping failures.

Ch.5, section 5.1.

Ch.6, sections 6.1, 6.2.

5 (Sept. 22)

Exponential information gathering. Algorithms for agreement with Byzantine failures.

Ch.6, sections 6.2, 6.7.

6 (Sept. 27)

Number-of-processes lower bounds for Byzantine agreement. Weak Byzantine agreement. Time bounds for consensus problems.

Ch.6, sections 6.3-6.6.

Aguilera, Toueg paper in handout 3.

7 (Sept. 29)

Other kinds of consensus problems: $k$-agreement. Approximate agreement. Distributed commit.

Ch.7, sections 7.1-7.3 (skip 7.3.4).

8 (Oct. 4)

Asynchronous distributed computing. Formal modeling of asynchronous systems using I/O automata.

Ch.7, section 7.3.

Ch.8.

9 (Oct. 6)

Proof methods. Non-fault-tolerant algorithms for asynchronous networks. Leader election, breadth-first search, shortest paths, broadcast and convergecast.

Ch.8, sections 8.2-8.5.

Ch.14, 15.

(Oct. 11)

Holiday: Columbus Day

 

10 (Oct. 13)

Non-fault-tolerant algorithms for asynchronous networks. Leader election, breadth-first search, shortest paths, broadcast and convergecast.

Ch.15, sections 15.3-15.4.

11 (Oct. 18)

Spanning trees. Gallager et al. Minimim Spanning Tree algorithm.

Ch.15, sections 15.4, 15.5.

12 (Oct. 20)

Synchronizers.

Ch.16.

13 (Oct. 25)

Synchronizer applications. Time, clocks, and the ordering of events. Vector timestamps.

Ch.16, section 16.6.

Ch.18.

Lamport’s “Time, Clocks, …” paper.

14 (Oct. 27)

State-machine simulation. Synchronous vs. asynchronous distributed systems Stable property detection. Distributed termination. Global snapshots. Deadlock detection. Asynchronous shared-memory systems.

Mattern paper.

Ch.19.

15 (Nov. 1)

Mutual exclusion. Mutual exclusion algorithms.

Ch.9.

Ch.10 (sections 10.1-10.5).

16 (Nov. 3)

Mutual exclusion algorithms.

Ch.10 (10.5-10.8).

17 (Nov. 8)

Bounds on shared-memory for mutual exclusion.

Ch.10, (10.8-10.9).

Ch.11 (skim).

18 (Nov. 10)

Impossibility of consensus in asynchronous, fault-prone, shared-memory systems.

Ch.12.

Ch.13, section 13.1.

19 (Nov. 15)

Atomic objects. Atomic snapshot algorithms.

Ch.13.

20 (Nov. 17)

Atomic read/write register algorithms. Wait-free computability. The wait-free consensus hierarchy.

Ch.13.

Herlihy’s “Wait-free Synchronization” paper.

21 (Nov. 22)

The wait-free consensus hierarchy.

Herlihy’s “Wait-free Synchronization” paper.

Jayanti papers (skim).

(Nov. 24)

Holiday: Thanksgiving

 

22 (Nov. 29)

Wait-free vs. $f$-fault-tolerant atomic objects.

Borrowsky, Gafni, Lynch, Rajsbaum paper.

23 (Dec. 1)

Asynchronous network model vs. asynchronous shared-memory model. Impossibility of consensus in asynchronous networks. Failure detectors and consensus.

Ch.17, 21.

24 (Dec. 6)

Paxos consensus algorithm. Reliable communication using unreliable channels.

Lamport’s “Part Time Parliament” paper.

Ch.22.

25 (Dec. 8)

Reliable communication using unreliable channels. Self-stabilizing algorithms.

Ch.22.

Dijkstra’s self-stabilization paper.

Dolev’s self-stabilization book, chapter 2.

26 (Dec. 13)

Atomic memory algorithms for dynamic networks. Rambo.

Rambo papers, by Lynch and Shvartsman; and Gilbert, Lynch, and Shvartsman