Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors. Michel Raynal, Julien Stainer

Similar documents
Replication in Distributed Systems

Point-Set Topology for Impossibility Results in Distributed Computing. Thomas Nowak

The Wait-Free Hierarchy

A Timing Assumption and a t-resilient Protocol for Implementing an Eventual Leader Service in Asynchronous Shared Memory Systems

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Consensus Problem. Pradipta De

Implementing Shared Registers in Asynchronous Message-Passing Systems, 1995; Attiya, Bar-Noy, Dolev

The Alpha of Indulgent Consensus

Practical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov

What Can be Computed in a Distributed System?

Distributed Systems. 09. State Machine Replication & Virtual Synchrony. Paul Krzyzanowski. Rutgers University. Fall Paul Krzyzanowski

Data Consistency and Blockchain. Bei Chun Zhou (BlockChainZ)

Consensus, impossibility results and Paxos. Ken Birman

Distributed Systems. replication Johan Montelius ID2201. Distributed Systems ID2201

Failures, Elections, and Raft

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson

Asynchronous Reconfiguration for Paxos State Machines

Semi-Passive Replication in the Presence of Byzantine Faults

From a Store-collect Object and Ω to Efficient Asynchronous Consensus

Initial Assumptions. Modern Distributed Computing. Network Topology. Initial Input

Anonymous and Fault-Tolerant Shared-Memory Computing

Consensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks.

Distributed Algorithms. Partha Sarathi Mandal Department of Mathematics IIT Guwahati

Distributed Systems 8L for Part IB

Consensus in Distributed Systems. Jeff Chase Duke University

A General Characterization of Indulgence

Silvia Bonomi. Implementing Distributed Computing Abstractions in the presence of Churn

Introduction to Distributed Systems Seif Haridi

CS5412: CONSENSUS AND THE FLP IMPOSSIBILITY RESULT

Relationships Between Broadcast and Shared Memory in Reliable Anonymous Distributed Systems

arxiv: v2 [cs.dc] 12 Sep 2017

Optimal Resilience for Erasure-Coded Byzantine Distributed Storage

Today: Fault Tolerance

Parsimonious Asynchronous Byzantine-Fault-Tolerant Atomic Broadcast

Concurrent Programming: Algorithms, Principles, and Foundations

arxiv: v1 [cs.dc] 13 May 2017

Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015

Intuitive distributed algorithms. with F#

Multi-writer Regular Registers in Dynamic Distributed Systems with Byzantine Failures

Distributed Algorithms Models

Introduction to Distributed Systems

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication

CSE 5306 Distributed Systems. Fault Tolerance

Reliable Distributed System Approaches

Distributed algorithms

What is a distributed system?

Transactions. CS 475, Spring 2018 Concurrent & Distributed Systems

Recall our 2PC commit problem. Recall our 2PC commit problem. Doing failover correctly isn t easy. Consensus I. FLP Impossibility, Paxos

Fault-Tolerant Distributed Consensus

Self-stabilizing Byzantine Digital Clock Synchronization

Distributed Recursion

k-abortable Objects: Progress under High Contention

Today: Fault Tolerance. Fault Tolerance

Large-Scale Key-Value Stores Eventual Consistency Marco Serafini

Distributed systems. Consensus

HP: Hybrid Paxos for WANs

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

Fault-Tolerant Distributed Services and Paxos"

Agreement and Consensus. SWE 622, Spring 2017 Distributed Software Engineering

CSE 5306 Distributed Systems

There Is More Consensus in Egalitarian Parliaments

A Case Study of Agreement Problems in Distributed Systems : Non-Blocking Atomic Commitment

Anonymous Agreement: The Janus Algorithm

Erasure Coding in Object Stores: Challenges and Opportunities

Generating Fast Indulgent Algorithms

Fault Tolerance. Distributed Software Systems. Definitions

Distributed Systems. coordination Johan Montelius ID2201. Distributed Systems ID2201

Basic vs. Reliable Multicast

Applications of Paxos Algorithm

Anonymity-Preserving Failure Detectors

Fork Sequential Consistency is Blocking

Replicated State Machine in Wide-area Networks

Consensus and related problems

6.852: Distributed Algorithms Fall, Instructor: Nancy Lynch TAs: Cameron Musco, Katerina Sotiraki Course Secretary: Joanne Hanley

Distributed Consensus Protocols

Asynchronous Models. Chapter Asynchronous Processes States, Inputs, and Outputs

Fork Sequential Consistency is Blocking

Distributed Commit in Asynchronous Systems

Middleware and Distributed Systems. System Models. Dr. Martin v. Löwis

EECS 498 Introduction to Distributed Systems

Parallélisme. Aim of the talk. Decision tasks. Example: consensus

The Topological Structure of Asynchronous Computability

Implementing a Register in a Dynamic Distributed System

Secure Multiparty Computation: Introduction. Ran Cohen (Tel Aviv University)

Dynamic Atomic Storage without Consensus

C 1. Today s Question. CSE 486/586 Distributed Systems Failure Detectors. Two Different System Models. Failure Model. Why, What, and How

Reaching Consensus. Lecture The Problem

Distributed Systems (5DV147)

Distributed Systems 11. Consensus. Paul Krzyzanowski

arxiv: v3 [cs.dc] 4 Dec 2018

Shared Memory Seif Haridi

Michel Raynal. Distributed Algorithms for Message-Passing Systems

Practical Byzantine Fault Tolerance (The Byzantine Generals Problem)

Distributed Systems (5DV147)

SCALABLE MPC WITH STATIC ADVERSARY. Mahnush Movahedi, Jared Saia, Valerie King, Varsha Dani University of New Mexico University of Victoria

Exam Distributed Systems

Simulating Few by Many: k-concurrency via k-set Consensus

Practical Byzantine Fault Tolerance

Coordination 1. To do. Mutual exclusion Election algorithms Next time: Global state. q q q

Transcription:

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors Michel Raynal, Julien Stainer

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 2 / 22 Outline Classic Models and Problems Classic Problems Difficulties and Impossibilities Failure Detectors: Enriching Asynchronous Models Preventing Partitioning: Σ Breaking Symmetry: Ω Message Adversaries: Weakening Synchronous Crash-free Models Shared Memory from Synchrony: the Adversary TOUR Ω from Synchrony: the Adversary SOURCE Σ from Synchrony: the Adversary QUORUM Equivalence Results Elements of Proof

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 3 / 22 The Synchronous Message-passing Model: SMP[ ] execution stripped in a sequence of rounds

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 3 / 22 The Synchronous Message-passing Model: SMP[ ] execution stripped in a sequence of rounds each round is made of three phasis: processes send messages to each other

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 3 / 22 The Synchronous Message-passing Model: SMP[ ] execution stripped in a sequence of rounds each round is made of three phasis: processes send messages to each other they receive the round messages addressed to them

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 3 / 22 The Synchronous Message-passing Model: SMP[ ] execution stripped in a sequence of rounds each round is made of three phasis: processes send messages to each other they receive the round messages addressed to them they compute locally their new states

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 3 / 22 The Synchronous Message-passing Model: SMP[ ] execution stripped in a sequence of rounds each round is made of three phasis: processes send messages to each other they receive the round messages addressed to them they compute locally their new states The messages are all received during the round they are sent It models the use of timeouts. Relative speeds of processes are bounded. They synchronize on the slowest in heterogeneous environments.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 3 / 22 The Synchronous Message-passing Model: SMP[ ] execution stripped in a sequence of rounds each round is made of three phasis: processes send messages to each other they receive the round messages addressed to them they compute locally their new states without message losses, failures are easy to detect The messages are all received during the round they are sent It models the use of timeouts. Relative speeds of processes are bounded. They synchronize on the slowest in heterogeneous environments.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 4 / 22 The Asynchronous Message-passing Model: AMP[ ] processes are prone to failures

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 4 / 22 The Asynchronous Message-passing Model: AMP[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 4 / 22 The Asynchronous Message-passing Model: AMP[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded message delivery durations are (finite but) unbounded

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 4 / 22 The Asynchronous Message-passing Model: AMP[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded message delivery durations are (finite but) unbounded Crashed and slow processes are undistinguishable.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 5 / 22 The Asynchronous Shared Memory Model: ASM[ ] processes are prone to failures

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 5 / 22 The Asynchronous Shared Memory Model: ASM[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 5 / 22 The Asynchronous Shared Memory Model: ASM[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded processes share an array of single-writer multi-readers atomic registers

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 5 / 22 The Asynchronous Shared Memory Model: ASM[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded processes share an array of single-writer multi-readers atomic registers Crashed and slow processes are undistinguishable.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 5 / 22 The Asynchronous Shared Memory Model: ASM[ ] processes are prone to failures relative speeds of processes are (finite but) unbounded processes share an array of single-writer multi-readers atomic registers Crashed and slow processes are undistinguishable. But... The memory offers a more powerful communication medium than asynchronous messages.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 6 / 22 Simulating a Shared Memory simulating read and write operations in a linearizable manner: each operation executes with the same consequences as if it happens instantaneously between its invocation and its end.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 7 / 22 Consensus: Reaching Agreement each participating process proposes a value a process that doesn t crash eventually decides a value all decided values are proposed values the decided values are all the same Solving Consensus Allows to Solve State Machine Replication allows to solve any task with a sequential specification can be used to replicate services in a resilient manner

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash since messages can be arbitrarily delayed, two parts of the system can execute as if the processes of the other part were crashed

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash since messages can be arbitrarily delayed, two parts of the system can execute as if the processes of the other part were crashed

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash since messages can be arbitrarily delayed, two parts of the system can execute as if the processes of the other part were crashed

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash since messages can be arbitrarily delayed, two parts of the system can execute as if the processes of the other part were crashed if messages are delayed for too long, the situation is undistinguishable from the previous one: processes behave as before

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash since messages can be arbitrarily delayed, two parts of the system can execute as if the processes of the other part were crashed if messages are delayed for too long, the situation is undistinguishable from the previous one: processes behave as before

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 8 / 22 Simulating a Memory is Impossible in AMP[ ] as soon as a majority of processes can crash if the system splits for too long, it is impossible to maintain read and write linearizable semantic

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex the processes have to decide in a finite number of steps, the complex subdivision is consequently finite

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex the processes have to decide in a finite number of steps, the complex subdivision is consequently finite the states can be tagged with the corresponding decided values

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex the processes have to decide in a finite number of steps, the complex subdivision is consequently finite the states can be tagged with the corresponding decided values impossibility result comes from combinatorial topology

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 9 / 22 Solving Consensus is impossible in both AMP[ ] and ASM[ ] the possible executions of an algorithm in ASM can be represented by a subdivided complex the representation can be used with more than two processes

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 10 / 22 Failure Detectors failure detectors provide each process with an externally controlled variable the value of this variable depends on the system global state it informs processes about crashes Failure Detectors reinforce Asynchronous Models AMP[ ] and ASM[ ]

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 11 / 22 Preventing Partitioning: Σ Σ provides each process with a set of process identities called quorum any two quorum taken at any time on any processes intersect eventually quorums only contain correct processes Σ is Minimal to Simulate a Memory in AMP[ ]

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 12 / 22 Breaking Symmetry: Ω Ω provides each process with the identity of a process considered as the leader the leader is eventually the same for each process correct Ω is Minimal to Solve the Consensus in ASM[ ] Σ, Ω is Minimal to Solve the Consensus in AMP[ ]

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 13 / 22 Message Adversaries the adversary removes messages in SMP[ ] properties define the patterns of messages that can be removed during a round across the execution Message Adversaries weaken the Synchronous Crash-free Model SMP[ ]

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 14 / 22 Shared Memory from Synchrony: the Adversary TOUR TOUR can remove any message but it preserves a tournament in any round in any round and between any pair of processes, it has to let one of the two messages exchanged untouched

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 14 / 22 Shared Memory from Synchrony: the Adversary TOUR TOUR can remove any message but it preserves a tournament in any round in any round and between any pair of processes, it has to let one of the two messages exchanged untouched

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 15 / 22 Ω from Synchrony: the Adversary SOURCE SOURCE can remove any message but it eventually preserves all messages sent by a given source

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 16 / 22 Σ from Synchrony: the Adversary QUORUM QUORUM can remove any message but in each round each process receives messages from an entire quorum in any two rounds r 1 and r 2, for any two processes p 1 and p 2, there is a process p 3 such that: p1 receives the message of p 3 during r 1 and p2 receives the message of p 3 during r 2 and p 3 is infinitely often able to send messages (directly or not) to any other process

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 18 / 22 Simulating SMP[SOURCE, TOUR] in ASM[Ω] Each process waits to be the leader or to receive a message from the leader. It writes its round messages to the other processes. It scans the memory and delivers the round messages.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 18 / 22 Simulating SMP[SOURCE, TOUR] in ASM[Ω] Each process waits to be the leader or to receive a message from the leader. It writes its round messages to the other processes. It scans the memory and delivers the round messages. Everything happens as if all the other messages were removed by the adversary. The eventual leader s messages are eventually all received The atomic registers entail the TOUR property

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 19 / 22 Simulating ASM[Ω] in SMP[SOURCE, TOUR] Full information protocol. To complete an operation (read or write), a process inject it with a sequence number and its name and count as informed: the processes from which it didn t received any messages during the round; those from which it received its own message. It continues its execution when each other process is informed. The eventual leader is elected by counting the number of rounds missed by each process.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 19 / 22 Simulating ASM[Ω] in SMP[SOURCE, TOUR] Full information protocol. To complete an operation (read or write), a process inject it with a sequence number and its name and count as informed: the processes from which it didn t received any messages during the round; those from which it received its own message. It continues its execution when each other process is informed. The eventual leader is elected by counting the number of rounds missed by each process. In two tournaments, at least one process reaches every other, it learns it in the next round. Some processes stay stuck on a communication operation, analog to crashed ones for the other. (The simulation is only non blocking)

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 20 / 22 Wrap Up Message adversaries offer a way to model asynchrony, crashes and shared memory in the simple synchronous crash-free system. Some important failure detectors have corresponding message adversaries. Representing these model properties through a single abstraction allows to compare them.

Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 21 / 22 Perspectives Do all failure detectors have their message adversary counterpart? Can we easily obtain the message adversaries matching t-resilient asynchronous models? What is the strongest message adversary allowing consensus to be solved? How could be the notion of Byzantine failure be ported to this model? Some messages adversaries have a natural topological representation, how does it compare to the usual barycentric one? Is the notion of message adversary the key to reveal the Grand Unified Model of distributed computability?

Thank you for your attention! Synchrony Weakened by Message Adversaries vs Asynchrony Enriched with Failure Detectors 22 / 22