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

6.852J / 18.437J Distributed Algorithms

As taught in: Fall 2005

Image of honeycomb - four rows of hexagons.

The honeycomb shown above is a common architectural metaphor for distributed algorithms. Similar to bees performing different functions to build a honeycomb, multiple computing devices depend on each other to accomplish a task. (Image by MIT OpenCourseWare.)

Level:

Graduate

Instructors:

Prof. Nancy Lynch

Course Features

Course Description

This course intends to provide a rigorous introduction to the most important research results in the area of distributed algorithms, and prepare interested students to carry out independent research in distributed algorithms. Topics covered include: design and analysis of concurrent algorithms, emphasizing those suitable for use in distributed networks, process synchronization, allocation of computational resources, distributed consensus, distributed graph algorithms, election of a leader in a network, distributed termination, deadlock detection, concurrency control, communication, and clock synchronization. Special consideration is given to issues of efficiency and fault tolerance. Formal models and proof methods for distributed computation are also discussed.

Detailed information on the course textbook can be found here:

Lynch, Nancy A. Distributed Algorithms. San Francisco, CA: Morgan Kaufmann, 1997. ISBN: 1558603484.