Distributed Algorithms for Message-Passing Systems

  • Michel Raynal

Table of contents

  1. Front Matter
    Pages I-XXXI
  2. Distributed Graph Algorithms

    1. Front Matter
      Pages 1-1
    2. Michel Raynal
      Pages 35-58
    3. Michel Raynal
      Pages 77-92
    4. Michel Raynal
      Pages 93-117
  3. Logical Time and Global States in Distributed Systems

    1. Front Matter
      Pages 119-119
    2. Michel Raynal
      Pages 189-218
  4. Mutual Exclusion and Resource Allocation

    1. Front Matter
      Pages 245-245
    2. Michel Raynal
      Pages 247-275
    3. Michel Raynal
      Pages 277-300
  5. High-Level Communication Abstractions

    1. Front Matter
      Pages 301-301
    2. Michel Raynal
      Pages 303-334
    3. Michel Raynal
      Pages 335-364
  6. Detection of Properties on Distributed Executions

    1. Front Matter
      Pages 365-365
    2. Michel Raynal
      Pages 367-399
    3. Michel Raynal
      Pages 401-423
  7. Distributed Shared Memory

    1. Front Matter
      Pages 425-425
    2. Michel Raynal
      Pages 427-446
    3. Michel Raynal
      Pages 447-470
  8. Back Matter
    Pages 471-500

About this book


Distributed computing is at the heart of many applications. It arises as soon as one has to solve a problem in terms of entities -- such as processes, peers, processors, nodes, or agents -- that individually have only a partial knowledge of the many input parameters associated with the problem. In particular each entity cooperating towards the common goal cannot have an instantaneous knowledge of the current state of the other entities. Whereas parallel computing is mainly concerned with 'efficiency', and real-time computing is mainly concerned with 'on-time computing', distributed computing is mainly concerned with 'mastering uncertainty' created by issues such as the multiplicity of control flows, asynchronous communication, unstable behaviors, mobility, and dynamicity.


While some distributed algorithms consist of a few lines only, their behavior can be difficult to understand and their properties hard to state and prove. The aim of this book is to present in a comprehensive way the basic notions, concepts, and algorithms of distributed computing when the distributed entities cooperate by sending and receiving messages on top of an asynchronous network. The book is composed of seventeen chapters structured into six parts: distributed graph algorithms, in particular what makes them different from sequential or parallel algorithms; logical time and global states, the core of the book; mutual exclusion and resource allocation; high-level communication abstractions; distributed detection of properties; and distributed shared memory. The author establishes clear objectives per chapter and the content is supported throughout with illustrative examples, summaries, exercises, and annotated bibliographies.


This book constitutes an introduction to distributed computing and is suitable for advanced undergraduate students or graduate students in computer science and computer engineering, graduate students in mathematics interested in distributed computing, and practitioners and engineers involved in the design and implementation of distributed applications. The reader should have a basic knowledge of algorithms and operating systems.


Asynchronous systems Deadlock Distributed algorithms Distributed computing Distributed systems Global states Graph algorithms Leader election Logical time Mobile objects Mutual exclusion Network traversal Process graphs Resource allocation Synchronous communication Synchrony Termination

Authors and affiliations

  • Michel Raynal
    • 1
  1. 1.IRISA-ISTIC, Université de Rennes 1Institut Universitaire de FranceRennes CedexFrance

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag Berlin Heidelberg 2013
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Computer Science
  • Print ISBN 978-3-642-38122-5
  • Online ISBN 978-3-642-38123-2
  • Buy this book on publisher's site
Industry Sectors
Finance, Business & Banking
IT & Software
Consumer Packaged Goods