This is an archived course. A more recent version may be available at ocw.mit.edu.

Calendar

LECĀ # TOPICS KEY DATES
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