Distributed Computing Through Combinatorial Topology describes techniques for analyzing distributed algorithms based on award winning combinatorial topology research. The authors present a solid theoretical foundation relevant to many real systems reliant on parallelism with unpredictable delays, such as multicore microprocessors, wireless networks, distributed systems, and Internet protocols.

Today, a new student or researcher must assemble a collection of scattered conference publications, which are typically terse and commonly use different notations and terminologies. This book provides a self-contained explanation of the mathematics to readers with computer science backgrounds, as well as explaining computer science concepts to readers with backgrounds in applied mathematics. The first section presents mathematical notions and models, including message passing and shared-memory systems, failures, and timing models. The next section presents core concepts in two chapters each: first, proving a simple result that lends itself to examples and pictures that will build up readers' intuition; then generalizing the concept to prove a more sophisticated result. The overall result weaves together and develops the basic concepts of the field, presenting them in a gradual and intuitively appealing way. The book's final section discusses advanced topics typically found in a graduate-level course for those who wish to explore further.

Key Features

  • Named a 2013 Notable Computer Book for Computing Methodologies by Computing Reviews
  • Gathers knowledge otherwise spread across research and conference papers using consistent notations and a standard approach to facilitate understanding
  • Presents unique insights applicable to multiple computing fields, including multicore microprocessors, wireless networks, distributed systems, and Internet protocols
  • Synthesizes and distills material into a simple, unified presentation with examples, illustrations, and exercises


Grad / undergrad students in CS or Math; as well as working researchers or computer engineers.

Table of Contents




Companion Site

Part 1: Fundamentals

Chapter 1. Introduction


1.1 Concurrency everywhere

1.2 Distributed computing

1.3 Two classic distributed computing problems

1.4 Chapter notes

1.5 Exercises

Chapter 2. Two-Process Systems


2.1 Elementary graph theory

2.2 Tasks

2.3 Models of computation

2.4 Approximate agreement

2.5 Two-process task solvability

2.6 Chapter notes

2.7 Exercises

Chapter 3. Elements of Combinatorial Topology


3.1 Basic concepts

3.2 Simplicial complexes

3.3 Standard constructions

3.4 Carrier maps

3.5 Connectivity

3.6 Subdivisions

3.7 Simplicial and continuous approximations

3.8 Chapter notes

3.9 Exercises

Part 2: Colorless Tasks

Chapter 4. Colorless Wait-Free Computation


4.1 Operational model

4.2 Combinatorial model

4.3 The computational power of wait-free colorless immediate snapshots

4.4 Chapter notes

4.5 Exercises

Chapter 5. Solvability of Colorless Tasks in Different Models


5.1 Overview of models

5.2 t-Resilient layered snapshot protocols

5.3 Layered snapshots with k-set agreement

5.4 Adversaries

5.5 Message-passing protocols

5.6 Decidability

5.7 Chapter notes

5.8 Exercises

Chapter 6. Byzantine-Resilient Colorless Computation


6.1 Byzantine failures

6.2 Byzantine communication abstractions

6.3 Byzantine set agreement

6.4 Byzantine barycentric agreement

6.5 Byzantine task solvability

6.6 Byzantine shared memory

6.7 Chapter notes

6.8 Exercises

Chapter 7. Simulations and Reduct


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

About the authors

Maurice Herlihy

Maurice Herlihy received an A.B. in Mathematics from Harvard University, and a Ph.D. in Computer Science from M.I.T. He has served on the faculty of Carnegie Mellon University, on the staff of DEC Cambridge Research Lab, and is currently a Professor in the Computer Science Department at Brown University. Maurice Herlihy is an ACM Fellow, and is the recipient of the 2003 Dijkstra Prize in Distributed Computing. He shared the 2004 Gödel Prize with Nir Shavit, the highest award in theoretical computer science. In 2012 he shared the Edsger W. Dijkstra Prize In Distributed Computing with Nir Shavit.

Affiliations and Expertise

Brown University, Providence, RI, USA

Dmitry Kozlov

Prof. Dmitry Kozlov is recipient of the Wallenberg Prize of the Swedish Mathematics Society (2003), the Gustafsson Prize of the Goran Gustafsson Foundation (2004), and the European Prize in Combinatorics (2005). He has been a Senior Lecturer at the Royal Institute of Technology, Stockholm, and an Assistant Professor at ETH Zurich. Currently he holds the Chair of Algebra and Geometry at the University of Bremen, Germany. He is the author of the book Combinatorial Algebraic Topology published by Springer Verlag in 2008.

Affiliations and Expertise

University of Bremen, Germany

Sergio Rajsbaum

Prof. Sergio Rajsbaum is a member of the Institute of Mathematics at UNAM, where he is now a Full Professor. He has spent postdoctoral and sabbatical stays at the Massachusetts Institute of Technology and HP Research Labs. His main research interests are in the theory of distributed computing, and has about 100 publications in prestigious conferences and journals, and has been Program Committee member, and Program Chair of main forums in the area, such as the ACM Principles of Distributed Computing.

Affiliations and Expertise

Instituto de Matemáticas, Universidad Nacional Autónoma de México


Notable Computing Books 2013: Computer Systems Organization, Computing Reviews


"This outstanding book...explores the connections between distributed computation and topology in detail...systematically organizes material that previously was only available across a collection of conference and journal publications with inconsistent notations and terminology..."--Computing Reviews, Distributed Computing Through Combinatorial Topology

"...there has not been a monograph that comprehensively covers the intersection of topology and distributed computing...This book thus finds its place for filling precisely this niche, and will be welcomed by readers..."--Computing Reviews,July 24 2014

"In Distributed Computing, the modern mathematical field of Combinatorial Topology finally finds a natural application space. This book elucidates this intriguing connection through a series of well thought out examples, making complex computational phenomena and the deep theorems seem intuitive even to the beginner. I highly recommend it to anyone who is interested in the fundamentals of computing, since asynchrony, the key phenomena this book explains, is bound to dominate computation and communication in years to come."-- Prof. Nir Shavit, Professor of Computer Science, Massachusetts Institute of Technology, Cambridge, MA

“Written by the leading experts in this area, this book is a unique endeavor
covering the exciting topic of understanding distributed computing through topology.
The book will appeal to researchers in distributed computing and to mathematicians.”
--Prof. Hagit Attiya, Professor of Computer Science, Technion – Israel Institute of Technology

“This book is a major contribution to distributed computing, integrated with algebraic
topology. Based on the seminal work of the authors, it represents a collection of the most
up-to-date results in the field, presented in a very progressive manne