Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems

Communication and Agreement Abstractions for Fault-Tolerant Asynchronous Distributed Systems PDF

Author: Michel Raynal

Publisher: Springer Nature

Published: 2022-06-01

Total Pages: 251

ISBN-13: 3031020006

DOWNLOAD EBOOK →

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 PDF

Author: Michel Raynal

Publisher: Springer Nature

Published: 2022-06-01

Total Pages: 167

ISBN-13: 3031020014

DOWNLOAD EBOOK →

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 PDF

Author: Michel Raynal

Publisher: Springer

Published: 2018-09-08

Total Pages: 459

ISBN-13: 3319941410

DOWNLOAD EBOOK →

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.

Network Topology and Fault-Tolerant Consensus

Network Topology and Fault-Tolerant Consensus PDF

Author: Dimitris Sakavalas

Publisher: Springer Nature

Published: 2022-05-31

Total Pages: 129

ISBN-13: 3031020146

DOWNLOAD EBOOK →

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.

Structural Information and Communication Complexity

Structural Information and Communication Complexity PDF

Author: Christian Scheideler

Publisher: Springer

Published: 2015-10-19

Total Pages: 486

ISBN-13: 3319252585

DOWNLOAD EBOOK →

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.

Stabilization, Safety, and Security of Distributed Systems

Stabilization, Safety, and Security of Distributed Systems PDF

Author: Xavier Défago

Publisher: Springer Science & Business Media

Published: 2011-09-23

Total Pages: 466

ISBN-13: 3642245498

DOWNLOAD EBOOK →

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.

Fault-Tolerant Parallel and Distributed Systems

Fault-Tolerant Parallel and Distributed Systems PDF

Author: Dimiter R. Avresky

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 396

ISBN-13: 1461554497

DOWNLOAD EBOOK →

The most important use of computing in the future will be in the context of the global "digital convergence" where everything becomes digital and every thing is inter-networked. The application will be dominated by storage, search, retrieval, analysis, exchange and updating of information in a wide variety of forms. Heavy demands will be placed on systems by many simultaneous re quests. And, fundamentally, all this shall be delivered at much higher levels of dependability, integrity and security. Increasingly, large parallel computing systems and networks are providing unique challenges to industry and academia in dependable computing, espe cially because of the higher failure rates intrinsic to these systems. The chal lenge in the last part of this decade is to build a systems that is both inexpensive and highly available. A machine cluster built of commodity hardware parts, with each node run ning an OS instance and a set of applications extended to be fault resilient can satisfy the new stringent high-availability requirements. The focus of this book is to present recent techniques and methods for im plementing fault-tolerant parallel and distributed computing systems. Section I, Fault-Tolerant Protocols, considers basic techniques for achieving fault-tolerance in communication protocols for distributed systems, including synchronous and asynchronous group communication, static total causal order ing protocols, and fail-aware datagram service that supports communications by time.

Blockchain Scalability and its Foundations in Distributed Systems

Blockchain Scalability and its Foundations in Distributed Systems PDF

Author: Vincent Gramoli

Publisher: Springer Nature

Published: 2022-08-04

Total Pages: 133

ISBN-13: 3031125789

DOWNLOAD EBOOK →

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.

Future Directions in Distributed Computing

Future Directions in Distributed Computing PDF

Author: André Schiper

Publisher: Springer Science & Business Media

Published: 2003-04-07

Total Pages: 225

ISBN-13: 3540009124

DOWNLOAD EBOOK →

This book presents a collection of 38 position and research papers surveying the future landscape of research in distributed computing, written by the participants of the Workshop on Future Directions in Distributed Computing, held in Bertinoro, Italy in June 2002. The papers are grouped into four topical sections. The first deals with foundations of distributed computing. The second section surveys research issues in novel communication and network services. The third section is about data, file services, coherence, and replication in network computing. The last section deals with system and application issues. The book also includes two papers presenting insights into technological and social processes that are part of the development of the distributed computing technology. All in all, the book contains a plethora of research topics that are targets of future research or that are already being addressed by forward-looking research in distributed computing. The book was written to be a source of inspiration for researchers and a source of motivation for graduate students interested in entering the exciting research field of distributed computing.

Concurrent Programming: Algorithms, Principles, and Foundations

Concurrent Programming: Algorithms, Principles, and Foundations PDF

Author: Michel Raynal

Publisher: Springer Science & Business Media

Published: 2012-12-30

Total Pages: 530

ISBN-13: 3642320279

DOWNLOAD EBOOK →

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.