In Distributed Algorithms, Nancy Lynch provides a blueprint for designing, implementing, and analyzing distributed algorithms. She directs her book at a wide audience, including students, programmers, system designers, and researchers.

Distributed Algorithms contains the most significant algorithms and impossibility results in the area, all in a simple automata-theoretic setting. The algorithms are proved correct, and their complexity is analyzed according to precisely defined complexity measures. The problems covered include resource allocation, communication, consensus among distributed processes, data consistency, deadlock detection, leader election, global snapshots, and many others.

The material is organized according to the system model—first by the timing model and then by the interprocess communication mechanism. The material on system models is isolated in separate chapters for easy reference.

The presentation is completely rigorous, yet is intuitive enough for immediate comprehension. This book familiarizes readers with important problems, algorithms, and impossibility results in the area: readers can then recognize the problems when they arise in practice, apply the algorithms to solve them, and use the impossibility results to determine whether problems are unsolvable. The book also provides readers with the basic mathematical tools for designing new algorithms and proving new impossibility results. In addition, it teaches readers how to reason carefully about distributed algorithms—to model them formally, devise precise specifications for their required behavior, prove their correctness, and evaluate their performance with realistic measures.

Table of Contents

Distributed Algorithms
by Nancy A. Lynch
  • Preface
  • 1 Introduction
    • 1.1 The Subject Matter
    • 1.2 Our Viewpoint
    • 1.3 Overview of Chapter 2-25
    • 1.4 Bibliographic Notes
    • 1.5 Notation
Part I Synchronous Network Algorithms
  • 2 Modelling I; Synchronous Network Model
    • 2.1 Synchronous Network Systems
    • 2.2 Failures
    • 2.3 Inputs and Outputs
    • 2.4 Executions
    • 2.5 Proof Methods
    • 2.6 Complexity Measures
    • 2.7 Randomization
    • 2.8 Bibliographic Notes
  • 3 Leader Election in a Synchronous Ring
    • 3.1 The Problem
    • 3.2 Impossibility Result for Identical Processes
    • 3.3 A Basic Algorithm
    • 3.4 An algorithm with O (n log n) Communication Complexity
    • 3.5 Non-Comparison-Based Algorithms
      • 3.5.1 The TimeSlice Algorithm
      • 3.5.2 The Variable Speeds Algorithm
    • 3.6 Lower Bound for Comparison-Based Algorithms
    • 3.7 Lower Bound for Non-comparison-Based Algorithms
    • 3.8 Bibliographic Notes
    • 3.9 Exercises
  • 4 Algorithms in General Synchronous Networks
    • 4.1 Leader Election in a General Network
      • 4.1.1 The Problem
      • 4.1.2 A Simple flooding Algorithm
      • 4.1.3 Reducing the Communication Complexity
    • 4.2 Breadth-First Search


      No. of pages:
      © 1996
      Morgan Kaufmann
      Print ISBN:
      Electronic ISBN:

About the editor

Nancy Lynch

About the author:
Nancy A. Lynch is a professor of electrical engineering and computer science at MIT and heads MIT's Theory of Distributed Systems research group. She is the author of numerous research articles about distributed algorithms and impossibility results, and about formal modeling and verification of distributed systems.