Distributed Algorithms

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.)

Course Features

Course Description

Distributed algorithms are algorithms designed to run on multiple processors, without tight centralized control. In general, they are harder to design and harder to understand than single-processor sequential algorithms. Distributed algorithms are used in many practical systems, ranging from large computer networks to multiprocessor shared-memory systems. They also have a rich theory, which forms the subject matter for this course.

The core of the material will consist of basic distributed algorithms and impossibility results, as covered in Prof. Lynch's book Distributed Algorithms. This will be supplemented by some updated material on topics such as self-stabilization, wait-free computability, and failure detectors, and some new material on scalable shared-memory concurrent programming.

About MIT OpenCourseWare

MIT OpenCourseWare makes the materials used in the teaching of almost all of MIT's subjects available on the Web, free of charge. With more than 2,400 courses available, OCW is delivering on the promise of open sharing of knowledge. Learn more »