Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems

Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems
Author: Michel Raynal
Publisher: Springer Nature
Total Pages: 251
Release: 2022-06-01
Genre: Computers
ISBN: 3031020006

Understanding distributed computing is not an easy task. This is due to the many facets of uncertainty one has to cope with and master in order to produce correct distributed software. Considering the uncertainty created by asynchrony and process crash failures in the context of message-passing systems, the book focuses on the main abstractions that one has to understand and master in order to be able to produce software with guaranteed properties. These fundamental abstractions are communication abstractions that allow the processes to communicate consistently (namely the register abstraction and the reliable broadcast abstraction), and the consensus agreement abstractions that allows them to cooperate despite failures. As they give a precise meaning to the words "communicate" and "agree" despite asynchrony and failures, these abstractions allow distributed programs to be designed with properties that can be stated and proved. Impossibility results are associated with these abstractions. Hence, in order to circumvent these impossibilities, the book relies on the failure detector approach, and, consequently, that approach to fault-tolerance is central to the book. Table of Contents: List of Figures / The Atomic Register Abstraction / Implementing an Atomic Register in a Crash-Prone Asynchronous System / The Uniform Reliable Broadcast Abstraction / Uniform Reliable Broadcast Abstraction Despite Unreliable Channels / The Consensus Abstraction / Consensus Algorithms for Asynchronous Systems Enriched with Various Failure Detectors / Constructing Failure Detectors

Fault-tolerant Agreement in Synchronous Message-passing Systems

Fault-tolerant Agreement in Synchronous Message-passing Systems
Author: Michel Raynal
Publisher: Springer Nature
Total Pages: 167
Release: 2022-06-01
Genre: Computers
ISBN: 3031020014

Understanding distributed computing is not an easy task. This is due to the many facets of uncertainty one has to cope with and master in order to produce correct distributed software. A previous book Communication and Agreement Abstraction for Fault-tolerant Asynchronous Distributed Systems (published by Morgan & Claypool, 2010) was devoted to the problems created by crash failures in asynchronous message-passing systems. The present book focuses on the way to cope with the uncertainty created by process failures (crash, omission failures and Byzantine behavior) in synchronous message-passing systems (i.e., systems whose progress is governed by the passage of time). To that end, the book considers fundamental problems that distributed synchronous processes have to solve. These fundamental problems concern agreement among processes (if processes are unable to agree in one way or another in presence of failures, no non-trivial problem can be solved). They are consensus, interactive consistency, k-set agreement and non-blocking atomic commit. Being able to solve these basic problems efficiently with provable guarantees allows applications designers to give a precise meaning to the words ""cooperate"" and ""agree"" despite failures, and write distributed synchronous programs with properties that can be stated and proved. Hence, the aim of the book is to present a comprehensive view of agreement problems, algorithms that solve them and associated computability bounds in synchronous message-passing distributed systems. Table of Contents: List of Figures / Synchronous Model, Failure Models, and Agreement Problems / Consensus and Interactive Consistency in the Crash Failure Model / Expedite Decision in the Crash Failure Model / Simultaneous Consensus Despite Crash Failures / From Consensus to k-Set Agreement / Non-Blocking Atomic Commit in Presence of Crash Failures / k-Set Agreement Despite Omission Failures / Consensus Despite Byzantine Failures / Byzantine Consensus in Enriched Models

Fault-Tolerant Message-Passing Distributed Systems

Fault-Tolerant Message-Passing Distributed Systems
Author: Michel Raynal
Publisher: Springer
Total Pages: 468
Release: 2018-09-08
Genre: Computers
ISBN: 3319941410

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, distributed objects or services, allow software designers and programmers to cope with asynchrony and the most important types of failures such as process crashes, message losses, and malicious behaviors of computing entities, widely known under the term "Byzantine fault-tolerance". The author introduces these notions in an incremental manner, starting from a clear specification, followed by algorithms which are first described intuitively and then proved correct. The book also presents impossibility results in classic distributed computing models, along with strategies, mainly failure detectors and randomization, that allow us to enrich these models. In this sense, the book constitutes an introduction to the science of distributed computing, with applications in all domains of distributed systems, such as cloud computing and blockchains. Each chapter comes with exercises and bibliographic notes to help the reader approach, understand, and master the fascinating field of fault-tolerant distributed computing.

Stabilization, Safety, and Security of Distributed Systems

Stabilization, Safety, and Security of Distributed Systems
Author: Xavier Défago
Publisher: Springer
Total Pages: 466
Release: 2011-10-09
Genre: Computers
ISBN: 3642245501

This book constitutes the proceedings of the 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems, SSS 2011, held in Grenoble, France, in October 2011. The 29 papers presented were carefully reviewed and selected from 79 submissions. They cover the following areas: ad-hoc, sensor, and peer-to-peer networks; safety and verification; security; self-organizing and autonomic systems; and self-stabilization.

Structural Information and Communication Complexity

Structural Information and Communication Complexity
Author: Christian Scheideler
Publisher: Springer
Total Pages: 486
Release: 2015-10-19
Genre: Computers
ISBN: 3319252585

This book constitutes the thoroughly refereed post-conference proceedings of the 22nd International Colloquium on Structural Information and Communication Complexity, SIROCCO 2015, held in Montserrat, Spain, in July 2015. The 30 full papers presented together with 2 invited papers were carefully reviewed and selected from 78 submissions. The papers focus on the study of the interplay between communication and knowledge in multi-processor systems from both the qualitative and quantitative viewpoints.

Blockchain Scalability and its Foundations in Distributed Systems

Blockchain Scalability and its Foundations in Distributed Systems
Author: Vincent Gramoli
Publisher: Springer Nature
Total Pages: 133
Release: 2022-08-04
Genre: Computers
ISBN: 3031125789

This practical new book offers the distributed-computing fundamental knowledge for individuals to connect with one another in a more secure and efficient way than with traditional blockchains. These new forms of secure, scalable blockchains promise to replace centralized institutions to connect individuals without the risks of user manipulations or data extortions. The techniques taught herein consist of enhancing blockchain security and making blockchain scalable by relying on the observation that no blockchain can exist without solving the consensus problem. First, the state-of-the-art of consensus protocols are analyzed, hence motivating the need for a new family of consensus protocols offering strong (deterministic) guarantees. Second, a didactic series of classic blockchain vulnerabilities is presented to illustrate the importance of novel designs better suited for the adversarial environment of open networks. These cutting-edge solutions are illustrated through the Redbelly blockchain design, which solves a different problem from the classic Byzantine consensus problem of 1982 and which delivers—in the modern blockchain context—high performance at large scale. Topics and features: Covers the combination of security and distributed computing to devise the new generation of blockchains Shows how blockchain has shed new light on decades of research in distributed systems Provides instruction on the security needed by the industry to use blockchains in production Explains didactically the necessary ingredients to make blockchain efficient at large scale Helps fill the gap of knowledge in the highly demanded blockchain sector This unique volume contains the building blocks to design secure and scalable blockchains. As such, it is dedicated to developers, application designers, and computer scientists and requires only a minimal undergraduate level in mathematics and computer science. Vincent Gramoli is an Australian Research Council Future Fellow at the University of Sydney and the Chief Technology Officer of Redbelly Network. He teaches the Blockchain Scalability course on Coursera.

Concurrent Programming: Algorithms, Principles, and Foundations

Concurrent Programming: Algorithms, Principles, and Foundations
Author: Michel Raynal
Publisher: Springer Science & Business Media
Total Pages: 530
Release: 2012-12-30
Genre: Computers
ISBN: 3642320279

This book is devoted to the most difficult part of concurrent programming, namely synchronization concepts, techniques and principles when the cooperating entities are asynchronous, communicate through a shared memory, and may experience failures. Synchronization is no longer a set of tricks but, due to research results in recent decades, it relies today on sane scientific foundations as explained in this book. In this book the author explains synchronization and the implementation of concurrent objects, presenting in a uniform and comprehensive way the major theoretical and practical results of the past 30 years. Among the key features of the book are a new look at lock-based synchronization (mutual exclusion, semaphores, monitors, path expressions); an introduction to the atomicity consistency criterion and its properties and a specific chapter on transactional memory; an introduction to mutex-freedom and associated progress conditions such as obstruction-freedom and wait-freedom; a presentation of Lamport's hierarchy of safe, regular and atomic registers and associated wait-free constructions; a description of numerous wait-free constructions of concurrent objects (queues, stacks, weak counters, snapshot objects, renaming objects, etc.); a presentation of the computability power of concurrent objects including the notions of universal construction, consensus number and the associated Herlihy's hierarchy; and a survey of failure detector-based constructions of consensus objects. The book is suitable for advanced undergraduate students and graduate students in computer science or computer engineering, graduate students in mathematics interested in the foundations of process synchronization, and practitioners and engineers who need to produce correct concurrent software. The reader should have a basic knowledge of algorithms and operating systems.

Network Topology and Fault-Tolerant Consensus

Network Topology and Fault-Tolerant Consensus
Author: Dimitris Sakavalas
Publisher: Springer Nature
Total Pages: 129
Release: 2022-05-31
Genre: Computers
ISBN: 3031020146

As the structure of contemporary communication networks grows more complex, practical networked distributed systems become prone to component failures. Fault-tolerant consensus in message-passing systems allows participants in the system to agree on a common value despite the malfunction or misbehavior of some components. It is a task of fundamental importance for distributed computing, due to its numerous applications. We summarize studies on the topological conditions that determine the feasibility of consensus, mainly focusing on directed networks and the case of restricted topology knowledge at each participant. Recently, significant efforts have been devoted to fully characterize the underlying communication networks in which variations of fault-tolerant consensus can be achieved. Although the deduction of analogous topological conditions for undirected networks of known topology had shortly followed the introduction of the problem, their extension to the directed network case has been proven a highly non-trivial task. Moreover, global knowledge restrictions, inherent in modern large-scale networks, require more elaborate arguments concerning the locality of distributed computations. In this work, we present the techniques and ideas used to resolve these issues. Recent studies indicate a number of parameters that affect the topological conditions under which consensus can be achieved, namely, the fault model, the degree of system synchrony (synchronous vs. asynchronous), the type of agreement (exact vs. approximate), the level of topology knowledge, and the algorithm class used (general vs. iterative). We outline the feasibility and impossibility results for various combinations of the above parameters, extensively illustrating the relation between network topology and consensus.

Networked Systems

Networked Systems
Author: Vincent Gramoli
Publisher: Springer
Total Pages: 340
Release: 2013-08-02
Genre: Computers
ISBN: 3642401481

This book constitutes the revised selected papers of the First International Conference on Networked Systems, NETYS 2013, held in Marrakech, Morocco, in May 2013. The 33 papers (17 regular and 16 short papers) presented were carefully reviewed and selected from 74 submissions. They address major topics from theory and practice of networked systems: multi-core architectures, middleware, environments, storage clusters, as well as peer-to-peer, sensor, wireless, and mobile networks.