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. Breadthfirst search. Broadcast and convergecast. Shortest paths.  
3  Spanning trees. Minimum spanning trees.  Homework 1b out 
4  Faulttolerant consensus. Link failures: the two generals problem. Process failures (stopping, Byzantine). Algorithms for agreement with stopping and Byzantine failures. Exponential information gathering.  
5  Numberofprocessor bounds for Byzantine agreement. Weak Byzantine agreement. Time bounds for consensus problems. 
Homework 1 due Homework 2a out 
6  ksetagreement. 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  Nonfaulttolerant algorithms for asynchronous networks. Leader election, breadthfirst 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. Statemachine simulation. Vector timestamps.  
12  Stable property detection. Distributed termination. Global snapshots. Deadlock detection. 
Homework 3 due Homework 4a out 
13  Asynchronous sharedmemory 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  Sharedmemory multiprocessors. Contention, caching, locality. Practical mutual exclusion algorithms. Reading/writing locks.  
16  Impossibility of consensus in asynchronous, faultprone, sharedmemory 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, lockfree algorithms, lazy algorithms.  
20  Transactional memory: obstructionfree and lockbased implementations. 
Homework 5 due Homework 6a out 
21  Waitfree computability. The waitfree consensus hierarchy.  Homework 6b out 
22  Waitfree vs. ffaulttolerant atomic objects. Boosting faulttolerance.  
23  Asynchronous network model vs. asynchronous sharedmemory model. Impossibility of consensus in asynchronous networks. Failure detectors and consensus. Paxos consensus algorithm. 
Homework 6 due Homework 7 out 
24  Selfstabilizing algorithms  
25  Timingbased systems. Modeling and verification. Timingbased algorithms for mutual exclusion and consensus. Clock synchronization.  Homework 7 due 
Calendar
Instructor:  
Course Number: 

Departments:  
As Taught In:  Fall 2009 
Level: 
Graduate

Learning Resource Types
assignment
Problem Sets
notes
Lecture Notes