<p>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. I
Distributed Algorithms for Message-Passing Systems
β Scribed by Michel Raynal (auth.)
- Publisher
- Springer-Verlag Berlin Heidelberg
- Year
- 2013
- Tongue
- English
- Leaves
- 517
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
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.
β¦ Table of Contents
Front Matter....Pages I-XXXI
Front Matter....Pages 1-1
Basic Definitions and Network Traversal Algorithms....Pages 3-34
Distributed Graph Algorithms....Pages 35-58
An Algorithmic Framework to Compute Global Functions on a Process Graph....Pages 59-76
Leader Election Algorithms....Pages 77-92
Mobile Objects Navigating a Network....Pages 93-117
Front Matter....Pages 119-119
Nature of Distributed Computations and the Concept of a Global State....Pages 121-148
Logical Time in Asynchronous Distributed Systems....Pages 149-188
Asynchronous Distributed Checkpointing....Pages 189-218
Simulating Synchrony on Top of Asynchronous Systems....Pages 219-244
Front Matter....Pages 245-245
Permission-Based Mutual Exclusion Algorithms....Pages 247-275
Distributed Resource Allocation....Pages 277-300
Front Matter....Pages 301-301
Order Constraints on Message Delivery....Pages 303-334
Rendezvous (Synchronous) Communication....Pages 335-364
Front Matter....Pages 365-365
Distributed Termination Detection....Pages 367-399
Distributed Deadlock Detection....Pages 401-423
Front Matter....Pages 425-425
Atomic Consistency (Linearizability)....Pages 427-446
Sequential Consistency....Pages 447-470
Back Matter....Pages 471-500
β¦ Subjects
Theory of Computation; Computer Communication Networks; Programming Techniques; Computer Hardware
π SIMILAR VOLUMES
<p><p>This book presents the most important fault-tolerant distributed programming abstractions and their associated distributed algorithms, in particular in terms of reliable communication and agreement, which lie at the heart of nearly all distributed applications. These programming abstractions,
<p><p>This book takes a comprehensive study on turbo message passing algorithms for structured signal recovery, where the considered structured signals include 1) a sparse vector/matrix (which corresponds to the compressed sensing (CS) problem), 2) a low-rank matrix (which corresponds to the affine