Computability Abstractions for Fault-tolerant Asynchronous - - PowerPoint PPT Presentation

computability abstractions for fault tolerant
SMART_READER_LITE
LIVE PREVIEW

Computability Abstractions for Fault-tolerant Asynchronous - - PowerPoint PPT Presentation

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing Julien Stainer under the supervision of Michel Raynal March 18 th , 2015 Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 1 / 51


slide-1
SLIDE 1

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing Julien Stainer

under the supervision of

Michel Raynal March 18th, 2015

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 1 / 51

slide-2
SLIDE 2

Outline

Distributed Computing Motivations, Problems and Contributions Synchrony weakened by message adversaries vs asynchrony restricted by failure detectors A Hierarchy of Iterated Models from Messages to Memory Conclusion and Perspectives

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 2 / 51

slide-3
SLIDE 3

Distributed Computing Computing is Increasingly Distributed Asynchrony vs. Synchrony Communication via Messages and Distributed Objects Agreement Problems Impossibilities and Failure Detectors Motivations, Problems and Contributions Synchrony weakened by message adversaries vs asynchrony restricted by failure detectors A Hierarchy of Iterated Models from Messages to Memory Conclusion and Perspectives

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 3 / 51

slide-4
SLIDE 4

Computing is Increasingly Distributed

In nearly all computing environments

◮ resources are (physically) distributed

(multicores, clusters, grid, cloud, web, p2p...)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 4 / 51

slide-5
SLIDE 5

Computing is Increasingly Distributed

In nearly all computing environments

◮ resources are (physically) distributed

(multicores, clusters, grid, cloud, web, p2p...)

◮ inputs are (physically) distributed

(distant users, distant sensors, distant web services...)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 4 / 51

slide-6
SLIDE 6

Computing is Increasingly Distributed

In nearly all computing environments

◮ resources are (physically) distributed

(multicores, clusters, grid, cloud, web, p2p...)

◮ inputs are (physically) distributed

(distant users, distant sensors, distant web services...)

◮ computing speed, bandwidth, latencies,

distances between nodes are heterogeneous

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 4 / 51

slide-7
SLIDE 7

Computing is Increasingly Distributed

In nearly all computing environments

◮ resources are (physically) distributed

(multicores, clusters, grid, cloud, web, p2p...)

◮ inputs are (physically) distributed

(distant users, distant sensors, distant web services...)

◮ computing speed, bandwidth, latencies,

distances between nodes are heterogeneous

◮ failures are the norm, not the exception

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 4 / 51

slide-8
SLIDE 8

Computing is Increasingly Distributed

In nearly all computing environments

◮ resources are (physically) distributed

(multicores, clusters, grid, cloud, web, p2p...)

◮ inputs are (physically) distributed

(distant users, distant sensors, distant web services...)

◮ computing speed, bandwidth, latencies,

distances between nodes are heterogeneous

◮ failures are the norm, not the exception

We need models to describe these environments. We need to know what can be computed in such conditions.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 4 / 51

slide-9
SLIDE 9

Asynchrony vs. Synchrony

◮ Heterogeneous systems and unpredictable

networks;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 5 / 51

slide-10
SLIDE 10

Asynchrony vs. Synchrony

◮ Heterogeneous systems and unpredictable

networks;

◮ Varying speeds across time and space.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 5 / 51

slide-11
SLIDE 11

Asynchrony vs. Synchrony

◮ Heterogeneous systems and unpredictable

networks;

◮ Varying speeds across time and space. ◮ Timeouts to execute in lock-steps?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 5 / 51

slide-12
SLIDE 12

Asynchrony vs. Synchrony

◮ Heterogeneous systems and unpredictable

networks;

◮ Varying speeds across time and space. ◮ Timeouts to execute in lock-steps?

◮ Not always possible (failures); Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 5 / 51

slide-13
SLIDE 13

Asynchrony vs. Synchrony

◮ Heterogeneous systems and unpredictable

networks;

◮ Varying speeds across time and space. ◮ Timeouts to execute in lock-steps?

◮ Not always possible (failures); ◮ synchronizes on the slowest. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 5 / 51

slide-14
SLIDE 14

Asynchrony vs. Synchrony

◮ Heterogeneous systems and unpredictable

networks;

◮ Varying speeds across time and space. ◮ Timeouts to execute in lock-steps?

◮ Not always possible (failures); ◮ synchronizes on the slowest.

We would like to have algorithms for asynchronous systems in which the relative speeds of processes are finite but unbounded.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 5 / 51

slide-15
SLIDE 15

Wait-free (n − 1)-Resilient Models

◮ This thesis considers wait-free solvability in (n − 1)-resilient

systems:

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 6 / 51

slide-16
SLIDE 16

Wait-free (n − 1)-Resilient Models

◮ This thesis considers wait-free solvability in (n − 1)-resilient

systems:

◮ whatever the number of failures, Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 6 / 51

slide-17
SLIDE 17

Wait-free (n − 1)-Resilient Models

◮ This thesis considers wait-free solvability in (n − 1)-resilient

systems:

◮ whatever the number of failures, ◮ whatever the level of concurrency, Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 6 / 51

slide-18
SLIDE 18

Wait-free (n − 1)-Resilient Models

◮ This thesis considers wait-free solvability in (n − 1)-resilient

systems:

◮ whatever the number of failures, ◮ whatever the level of concurrency, ◮ processes have to make progress. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 6 / 51

slide-19
SLIDE 19

Communication via Messages and Distributed Objects

Communication is needed to collaborate.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 7 / 51

slide-20
SLIDE 20

Communication via Messages and Distributed Objects

Communication is needed to collaborate.

◮ At the lowest level, sending and receiving messages

synchronously or not.

(processor bus, network, MPI framework...)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 7 / 51

slide-21
SLIDE 21

Communication via Messages and Distributed Objects

Communication is needed to collaborate.

◮ At the lowest level, sending and receiving messages

synchronously or not.

(processor bus, network, MPI framework...)

◮ To offer a more convenient programming abstraction, shared

registers are often made available to the programmer.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 7 / 51

slide-22
SLIDE 22

Communication via Messages and Distributed Objects

Communication is needed to collaborate.

◮ At the lowest level, sending and receiving messages

synchronously or not.

(processor bus, network, MPI framework...)

◮ To offer a more convenient programming abstraction, shared

registers are often made available to the programmer.

◮ In order to achieve modularity, more complex shared objects

can encapsulate solutions to building blocks problems.

(consensus, shared data structures...)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 7 / 51

slide-23
SLIDE 23

Communication via Messages and Distributed Objects

Communication is needed to collaborate.

◮ At the lowest level, sending and receiving messages

synchronously or not.

(processor bus, network, MPI framework...)

◮ To offer a more convenient programming abstraction, shared

registers are often made available to the programmer.

◮ In order to achieve modularity, more complex shared objects

can encapsulate solutions to building blocks problems.

(consensus, shared data structures...)

The communication primitives available to the processes have an impact on what can be computed in asynchronous systems.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 7 / 51

slide-24
SLIDE 24

Agreement Problems

◮ The consensus object is a fundamental building block in

distributed computing.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 8 / 51

slide-25
SLIDE 25

Agreement Problems

◮ The consensus object is a fundamental building block in

distributed computing.

◮ It offers to the processes a primitive allowing each of them to

propose a value and returns a unique proposed value to all of them.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 8 / 51

slide-26
SLIDE 26

Agreement Problems

◮ The consensus object is a fundamental building block in

distributed computing.

◮ It offers to the processes a primitive allowing each of them to

propose a value and returns a unique proposed value to all of them.

◮ Weaker versions of the consensus object allowing up to k

values to be returned in the system have been studied.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 8 / 51

slide-27
SLIDE 27

Agreement Problems

◮ The consensus object is a fundamental building block in

distributed computing.

◮ It offers to the processes a primitive allowing each of them to

propose a value and returns a unique proposed value to all of them.

◮ Weaker versions of the consensus object allowing up to k

values to be returned in the system have been studied.

Universal Construction

When consensus objects and registers are available, any shared

  • bject with a sequential specification can be implementeda.

aMaurice Herlihy: Wait-Free Synchronization. ACM TOPLAS (1991) Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 8 / 51

slide-28
SLIDE 28

Impossibilities and Failure Detectors

Consensus Impossibility

In the presence of failures, solving the consensus in an asynchronous system (message-passinga or shared memoryb communication) is impossible.

aFischer, Lynch, Paterson: Impossibility of Distributed Consensus with One

Faulty Process. J. ACM (1985)

bLoui, Abu-Amara: Memory requirements for agreement among unreliable

asynchronous processes. Advances in Computing Research (1987)

Implementing a Shared Memory

In an asynchronous message-passing system, if half of the processes can crash, it is impossible to implement a shared memory.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 9 / 51

slide-29
SLIDE 29

Impossibilities and Failure Detectors

◮ To work around this kind of impossibilities, the notion of

failure detector1 has been introduced.

1Tushar Deepak Chandra, Sam Toueg: Unreliable Failure Detectors for

Reliable Distributed Systems. J. ACM (1996)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 10 / 51

slide-30
SLIDE 30

Impossibilities and Failure Detectors

◮ To work around this kind of impossibilities, the notion of

failure detector1 has been introduced.

◮ A failure detector provides system-controlled read-only

variables giving some information to the processes on the failures in the current execution.

1Tushar Deepak Chandra, Sam Toueg: Unreliable Failure Detectors for

Reliable Distributed Systems. J. ACM (1996)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 10 / 51

slide-31
SLIDE 31

Impossibilities and Failure Detectors

◮ To work around this kind of impossibilities, the notion of

failure detector1 has been introduced.

◮ A failure detector provides system-controlled read-only

variables giving some information to the processes on the failures in the current execution.

◮ Failure detectors can be compared on the possibility to

simulate one with another.

1Tushar Deepak Chandra, Sam Toueg: Unreliable Failure Detectors for

Reliable Distributed Systems. J. ACM (1996)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 10 / 51

slide-32
SLIDE 32

Impossibilities and Failure Detectors

◮ To work around this kind of impossibilities, the notion of

failure detector1 has been introduced.

◮ A failure detector provides system-controlled read-only

variables giving some information to the processes on the failures in the current execution.

◮ Failure detectors can be compared on the possibility to

simulate one with another.

◮ Any problem solvable with a failure detector has an associated

weakest failure detector2.

1Tushar Deepak Chandra, Sam Toueg: Unreliable Failure Detectors for

Reliable Distributed Systems. J. ACM (1996)

2Prasad Jayanti, Sam Toueg: Every problem has a weakest failure detector.

PODC 2008

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 10 / 51

slide-33
SLIDE 33

Distributed Computing Motivations, Problems and Contributions The Weakest Failure Detector for k-Set Agreement in Wait-Free Message-Passing Systems Iterated Models to Study Asynchronous Computability Leading Questions During this Thesis and Contributions Synchrony weakened by message adversaries vs asynchrony restricted by failure detectors A Hierarchy of Iterated Models from Messages to Memory Conclusion and Perspectives

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 11 / 51

slide-34
SLIDE 34

The Weakest Failure Detector for k-Set Agreement in Wait-Free Message-Passing Systems

The starting point of this thesis was the quest for the weakest failure detector for the k-set agreement in asynchronous message-passing systems. It is known:

◮ in asynchronous shared memory3,4,

3Piotr Zielinski: Anti-Omega: the weakest failure detector for set

  • agreement. Distributed Computing (2010)
  • 4E. Gafni, P. Kuznetsov: On set consensus numbers. Distr. Comp. (2011)

5Tushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg: The Weakest

Failure Detector for Solving Consensus. J. ACM (1996)

  • 6C. Delporte-Gallet, H. Fauconnier, R. Guerraoui, A. Tielmann: The

Weakest Failure Detector for Message Passing Set-Agreement. DISC 2008

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 12 / 51

slide-35
SLIDE 35

The Weakest Failure Detector for k-Set Agreement in Wait-Free Message-Passing Systems

The starting point of this thesis was the quest for the weakest failure detector for the k-set agreement in asynchronous message-passing systems. It is known:

◮ in asynchronous shared memory3,4, ◮ in the case k = 1 5,

3Piotr Zielinski: Anti-Omega: the weakest failure detector for set

  • agreement. Distributed Computing (2010)
  • 4E. Gafni, P. Kuznetsov: On set consensus numbers. Distr. Comp. (2011)

5Tushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg: The Weakest

Failure Detector for Solving Consensus. J. ACM (1996)

  • 6C. Delporte-Gallet, H. Fauconnier, R. Guerraoui, A. Tielmann: The

Weakest Failure Detector for Message Passing Set-Agreement. DISC 2008

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 12 / 51

slide-36
SLIDE 36

The Weakest Failure Detector for k-Set Agreement in Wait-Free Message-Passing Systems

The starting point of this thesis was the quest for the weakest failure detector for the k-set agreement in asynchronous message-passing systems. It is known:

◮ in asynchronous shared memory3,4, ◮ in the case k = 1 5, ◮ in the case k = n − 1 6.

3Piotr Zielinski: Anti-Omega: the weakest failure detector for set

  • agreement. Distributed Computing (2010)
  • 4E. Gafni, P. Kuznetsov: On set consensus numbers. Distr. Comp. (2011)

5Tushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg: The Weakest

Failure Detector for Solving Consensus. J. ACM (1996)

  • 6C. Delporte-Gallet, H. Fauconnier, R. Guerraoui, A. Tielmann: The

Weakest Failure Detector for Message Passing Set-Agreement. DISC 2008

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 12 / 51

slide-37
SLIDE 37

Underlying Issues

◮ In the case k = 1, the failure detector Σ 7 is needed to

prevent partitioning.

7Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui: Tight

failure detection bounds on atomic object implementations. J. ACM (2010)

8Fran¸

cois Bonnet, Michel Raynal: On the road to the weakest failure detector for k-set agreement in message-passing systems. TCS (2011)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 13 / 51

slide-38
SLIDE 38

Underlying Issues

◮ In the case k = 1, the failure detector Σ 7 is needed to

prevent partitioning.

◮ It is known that when 1 < k < n − 1, Σ is not needed: it can

be solved without shared memory and in presence of partitioning.

7Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui: Tight

failure detection bounds on atomic object implementations. J. ACM (2010)

8Fran¸

cois Bonnet, Michel Raynal: On the road to the weakest failure detector for k-set agreement in message-passing systems. TCS (2011)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 13 / 51

slide-39
SLIDE 39

Underlying Issues

◮ In the case k = 1, the failure detector Σ 7 is needed to

prevent partitioning.

◮ It is known that when 1 < k < n − 1, Σ is not needed: it can

be solved without shared memory and in presence of partitioning.

◮ Σk 8 that prevent the system from partitioning in more than k

sets across the execution has been proved necessary for any value of k.

7Carole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui: Tight

failure detection bounds on atomic object implementations. J. ACM (2010)

8Fran¸

cois Bonnet, Michel Raynal: On the road to the weakest failure detector for k-set agreement in message-passing systems. TCS (2011)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 13 / 51

slide-40
SLIDE 40

Iterated Models to Study Asynchronous Computability

Iterated models allow us to consider more structured set of executions while preserving the asynchronous shared memory computability.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 14 / 51

slide-41
SLIDE 41

Iterated Models to Study Asynchronous Computability

Iterated models allow us to consider more structured set of executions while preserving the asynchronous shared memory computability.

◮ The failure-free synchronous message-passing model weakened

by the message-adversary TOUR 9;

9Yehuda Afek, Eli Gafni: Asynchrony from Synchrony. ICDCN 2013 Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 14 / 51

slide-42
SLIDE 42

Iterated Models to Study Asynchronous Computability

Iterated models allow us to consider more structured set of executions while preserving the asynchronous shared memory computability.

◮ The failure-free synchronous message-passing model weakened

by the message-adversary TOUR 9;

◮ The iterated immediate snapshot model10.

9Yehuda Afek, Eli Gafni: Asynchrony from Synchrony. ICDCN 2013 10Elizabeth Borowsky, Eli Gafni: A Simple Algorithmically Reasoned

Characterization of Wait-Free Computations (Extended Abstract). PODC 1997

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 14 / 51

slide-43
SLIDE 43

Leading Questions During this Thesis

◮ How do computability degrades when allowing a limited but

dynamic partitioning?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 15 / 51

slide-44
SLIDE 44

Leading Questions During this Thesis

◮ How do computability degrades when allowing a limited but

dynamic partitioning?

◮ What is needed to solve agreement problems in presence of

partitioning?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 15 / 51

slide-45
SLIDE 45

Leading Questions During this Thesis

◮ How do computability degrades when allowing a limited but

dynamic partitioning?

◮ What is needed to solve agreement problems in presence of

partitioning?

◮ How to express, in the iterated models, the computability

brought by failure detectors in asynchronous systems?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 15 / 51

slide-46
SLIDE 46

Leading Questions During this Thesis

◮ How do computability degrades when allowing a limited but

dynamic partitioning?

◮ What is needed to solve agreement problems in presence of

partitioning?

◮ How to express, in the iterated models, the computability

brought by failure detectors in asynchronous systems?

◮ What can we build between message-passing and shared

memory communication? How can we compare and link some of the numerous models?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 15 / 51

slide-47
SLIDE 47

Articles Published During this Thesis

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 16 / 51

slide-48
SLIDE 48

Distributed Computing Motivations, Problems and Contributions Synchrony weakened by message adversaries vs asynchrony restricted by failure detectors Two fundamental Failure Detectors: Σ and Ω Message Adversaries: Weakening the Synchronous Crash-free Model Equivalence Results and Questions A Hierarchy of Iterated Models from Messages to Memory Conclusion and Perspectives

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 17 / 51

slide-49
SLIDE 49

Michel Raynal, Julien Stainer: Synchrony Weakened by Message Adversaries vs. Asynchrony Restricted by Failure Detectors. PODC 2013: 166-175

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 18 / 51

slide-50
SLIDE 50

Preventing Partitioning: Σ

◮ Σ provides each process with a set of process identities called

quorum;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 19 / 51

slide-51
SLIDE 51

Preventing Partitioning: Σ

◮ Σ provides each process with a set of process identities called

quorum;

◮ any two quorums taken at any time on any processes intersect;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 19 / 51

slide-52
SLIDE 52

Preventing Partitioning: Σ

◮ Σ provides each process with a set of process identities called

quorum;

◮ any two quorums taken at any time on any processes intersect; ◮ eventually the quorums only contain correct processes.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 19 / 51

slide-53
SLIDE 53

Preventing Partitioning: Σ

◮ Σ provides each process with a set of process identities called

quorum;

◮ any two quorums taken at any time on any processes intersect; ◮ eventually the quorums only contain correct processes.

Σ is the weakest failure detector to simulate a memory in the asynchronous message-passing system AMP[∅] a

aCarole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui: Tight failure

detection bounds on atomic object implementations. J. ACM (2010)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 19 / 51

slide-54
SLIDE 54

Breaking Symmetry: Ω

◮ Ω provides each process with the identity of a process

considered as the leader;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 20 / 51

slide-55
SLIDE 55

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. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 20 / 51

slide-56
SLIDE 56

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 the weakest failure detector to solve the consensus in the asynchronous shared memory system ASM[∅] a Σ, Ω is the weakest failure detector to solve the consensus in the asynchronous message-passing system AMP[∅] b

aTushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg: The Weakest

Failure Detector for Solving Consensus. J. ACM (1996)

bCarole Delporte-Gallet, Hugues Fauconnier, Rachid Guerraoui, Vassos

Hadzilacos, Petr Kouznetsov, Sam Toueg: The weakest failure detectors to solve certain fundamental problems in distributed computing. PODC 2004

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 20 / 51

slide-57
SLIDE 57

The Synchronous Message-passing Model: SMP[∅]

◮ The execution is stripped in a sequence of rounds;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 21 / 51

slide-58
SLIDE 58

The Synchronous Message-passing Model: SMP[∅]

◮ The execution is stripped in a sequence of rounds; ◮ each round is made of three phases:

◮ processes send messages to each other, Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 21 / 51

slide-59
SLIDE 59

The Synchronous Message-passing Model: SMP[∅]

◮ The execution is stripped in a sequence of rounds; ◮ each round is made of three phases:

◮ processes send messages to each other, ◮ they receive the round messages addressed to them, Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 21 / 51

slide-60
SLIDE 60

The Synchronous Message-passing Model: SMP[∅]

◮ The execution is stripped in a sequence of rounds; ◮ each round is made of three phases:

◮ processes send messages to each other, ◮ they receive the round messages addressed to them, ◮ they compute locally their new states. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 21 / 51

slide-61
SLIDE 61

The Synchronous Message-passing Model: SMP[∅]

◮ The execution is stripped in a sequence of rounds; ◮ each round is made of three phases:

◮ processes send messages to each other, ◮ they receive the round messages addressed to them, ◮ they compute locally their new states.

◮ There are no process failures.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 21 / 51

slide-62
SLIDE 62

Message Adversaries

◮ The adversary removes messages in SMP[∅].

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 22 / 51

slide-63
SLIDE 63

Message Adversaries

◮ The adversary removes messages in SMP[∅]. ◮ Properties define the patterns of messages that can be

removed

◮ during a round; ◮ across the execution. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 22 / 51

slide-64
SLIDE 64

Message Adversaries

◮ The adversary removes messages in SMP[∅]. ◮ Properties define the patterns of messages that can be

removed

◮ during a round; ◮ across the execution.

Adversaries weaken the synchronous crash-free model SMP[∅].

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 22 / 51

slide-65
SLIDE 65

Shared Memory from Synchrony: the Adversary TOUR

◮ TOUR 11 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

  • ne of the two messages exchanged untouched.

11Yehuda Afek, Eli Gafni: Asynchrony from Synchrony. ICDCN 2013 Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 23 / 51

slide-66
SLIDE 66

Shared Memory from Synchrony: the Adversary TOUR

◮ TOUR 11 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

  • ne of the two messages exchanged untouched.

11Yehuda Afek, Eli Gafni: Asynchrony from Synchrony. ICDCN 2013 Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 23 / 51

slide-67
SLIDE 67

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-68
SLIDE 68

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-69
SLIDE 69

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-70
SLIDE 70

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-71
SLIDE 71

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-72
SLIDE 72

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-73
SLIDE 73

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-74
SLIDE 74

Ω from Synchrony: the Adversary SOURCE

◮ SOURCE can remove any message but it eventually preserves

all messages sent by a given source

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 24 / 51

slide-75
SLIDE 75

Σ 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 r1 and r2, for any two processes p1 and p2,

there is a process p3 such that:

◮ p1 receives the message of p3 during r1 and ◮ p2 receives the message of p3 during r2;

◮ There is at least one process that is infinitely often able to

send messages (directly or not) to any other process.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 25 / 51

slide-76
SLIDE 76

Equivalence Results

(computability w.r.t. colorless tasks) Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 26 / 51

slide-77
SLIDE 77

Remarks and Perspectives

◮ Expressing the calculability of the two asynchronous models

associated with failure detectors through message adversaries gives us a new way to compare them in a common framework.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 27 / 51

slide-78
SLIDE 78

Remarks and Perspectives

◮ Expressing the calculability of the two asynchronous models

associated with failure detectors through message adversaries gives us a new way to compare them in a common framework.

◮ Strongly correct processes play an essential role in dynamic

systems.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 27 / 51

slide-79
SLIDE 79

Remarks and Perspectives

◮ Expressing the calculability of the two asynchronous models

associated with failure detectors through message adversaries gives us a new way to compare them in a common framework.

◮ Strongly correct processes play an essential role in dynamic

systems.

◮ What are the message adversaries that allow agreement tasks

to be solved?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 27 / 51

slide-80
SLIDE 80

Remarks and Perspectives

◮ Expressing the calculability of the two asynchronous models

associated with failure detectors through message adversaries gives us a new way to compare them in a common framework.

◮ Strongly correct processes play an essential role in dynamic

systems.

◮ What are the message adversaries that allow agreement tasks

to be solved?

◮ Is there a matching message adversary for any failure detector?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 27 / 51

slide-81
SLIDE 81

Remarks and Perspectives

◮ Expressing the calculability of the two asynchronous models

associated with failure detectors through message adversaries gives us a new way to compare them in a common framework.

◮ Strongly correct processes play an essential role in dynamic

systems.

◮ What are the message adversaries that allow agreement tasks

to be solved?

◮ Is there a matching message adversary for any failure detector? ◮ What happens when considering colored tasks?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 27 / 51

slide-82
SLIDE 82

Distributed Computing Motivations, Problems and Contributions Synchrony weakened by message adversaries vs asynchrony restricted by failure detectors A Hierarchy of Iterated Models from Messages to Memory Wait-free Models and Solo Executions d-Solo Models The Colorless Algorithm in the d-solo model The (d, ǫ)-Approximate Agreement Problem A Strict Hierarchy from Shared Memory to Message-Passing Status and Further Investigation Conclusion and Perspectives

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 28 / 51

slide-83
SLIDE 83

Maurice Herlihy, Sergio Rajsbaum, Michel Raynal, Julien Stainer: Computing in the Presence of Concurrent Solo Executions. LATIN 2014: 214-225

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 29 / 51

slide-84
SLIDE 84

Wait-free Algorithms and Solo Executions

◮ Wait-free models in both meanings:

◮ as a progress condition: each process makes progress in a finite

number of steps, whatever the level of concurrence;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 30 / 51

slide-85
SLIDE 85

Wait-free Algorithms and Solo Executions

◮ Wait-free models in both meanings:

◮ as a progress condition: each process makes progress in a finite

number of steps, whatever the level of concurrence;

◮ as a resiliency condition: the computation has to be valid even

if all processes but one crash.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 30 / 51

slide-86
SLIDE 86

Wait-free Algorithms and Solo Executions

◮ Wait-free models in both meanings:

◮ as a progress condition: each process makes progress in a finite

number of steps, whatever the level of concurrence;

◮ as a resiliency condition: the computation has to be valid even

if all processes but one crash.

◮ Slow and crashed processes are indistinguishable:

some processes

◮ may have to behave as if they were alone; ◮ do not have access to other processes inputs. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 30 / 51

slide-87
SLIDE 87

Shared Memory, Message passing and Solo Executions

◮ If processes share a memory, then at most one of them can be

in that situation for a given execution.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 31 / 51

slide-88
SLIDE 88

Shared Memory, Message passing and Solo Executions

◮ If processes share a memory, then at most one of them can be

in that situation for a given execution.

◮ If processes exchange asynchronous messages, then all of

them may have to behave as if they were alone.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 31 / 51

slide-89
SLIDE 89

Shared Memory, Message passing and Solo Executions

◮ If processes share a memory, then at most one of them can be

in that situation for a given execution.

◮ If processes exchange asynchronous messages, then all of

them may have to behave as if they were alone. What could be computed in intermediate models in which up to d processes may run solo?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 31 / 51

slide-90
SLIDE 90

d-Solo Models

◮ An iterated model generalizing the iterated immediate

snapshot model.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 32 / 51

slide-91
SLIDE 91

d-Solo Models

◮ An iterated model generalizing the iterated immediate

snapshot model.

◮ The execution is stripped in a sequence of rounds; ◮ a one-shot communication object for each round;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 32 / 51

slide-92
SLIDE 92

d-Solo Models

◮ An iterated model generalizing the iterated immediate

snapshot model.

◮ The execution is stripped in a sequence of rounds; ◮ a one-shot communication object for each round; ◮ each process writes a value and retrieves the previously or

simultaneously written values.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 32 / 51

slide-93
SLIDE 93

d-Solo Models

◮ An iterated model generalizing the iterated immediate

snapshot model.

◮ The execution is stripped in a sequence of rounds; ◮ a one-shot communication object for each round; ◮ each process writes a value and retrieves the previously or

simultaneously written values.

◮ in the d-solo model, the first set of simultaneous accesses can

miss each other.

◮ If they do, then this set contains at most d processes.

A spectrum of models that spans from message-passing (d = n) to shared memory (d = 1).

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 32 / 51

slide-94
SLIDE 94

From the Immediate Snapshot Object. . .

◮ Each process p provides a value vp to the object and retrieves

a set of values (a view).

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 33 / 51

slide-95
SLIDE 95

From the Immediate Snapshot Object. . .

◮ Each process p provides a value vp to the object and retrieves

a set of values (a view).

◮ As with the immediate snapshot object, any ordered partition

(π1, . . . , πx) of the set of the processes accessing the object describe a valid behavior for the object:

◮ the view of any process belonging to πi is

  • j≤i{(p, vp), p ∈ πj}.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 33 / 51

slide-96
SLIDE 96

From the Immediate Snapshot Object. . .

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 34 / 51

slide-97
SLIDE 97

From the Immediate Snapshot Object. . .

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 34 / 51

slide-98
SLIDE 98

. . . to the COd Communication Object

◮ Additionally, any ordered partition (ρ1, . . . , ρx) of the set of

processes accessing the object describe another authorized behavior for the object if |ρ1| ≤ d:

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 35 / 51

slide-99
SLIDE 99

. . . to the COd Communication Object

◮ Additionally, any ordered partition (ρ1, . . . , ρx) of the set of

processes accessing the object describe another authorized behavior for the object if |ρ1| ≤ d:

◮ if i > 1, then the view of any process belonging to ρi is

  • j≤i{(p, vp), p ∈ ρj};

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 35 / 51

slide-100
SLIDE 100

. . . to the COd Communication Object

◮ Additionally, any ordered partition (ρ1, . . . , ρx) of the set of

processes accessing the object describe another authorized behavior for the object if |ρ1| ≤ d:

◮ if i > 1, then the view of any process belonging to ρi is

  • j≤i{(p, vp), p ∈ ρj};

◮ the view of a process p of ρ1 is {vp}. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 35 / 51

slide-101
SLIDE 101

. . . to the COd Communication Object

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 36 / 51

slide-102
SLIDE 102

. . . to the COd Communication Object

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 36 / 51

slide-103
SLIDE 103

The Subdivided Complex of the Possible States after one Access to an Immediate Snapshot Object

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 37 / 51

slide-104
SLIDE 104

The Subdivided Complex of the Possible States after one Access to an Immediate Snapshot Object

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 37 / 51

slide-105
SLIDE 105

The Additional Possible States after one Access to a CO2 Object

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 38 / 51

slide-106
SLIDE 106

The Colorless Algorithm in the d-solo model

◮ We consider the case of a colorless algorithm:

◮ processes do not use their identities during the computation; Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 39 / 51

slide-107
SLIDE 107

The Colorless Algorithm in the d-solo model

◮ We consider the case of a colorless algorithm:

◮ processes do not use their identities during the computation; ◮ they use the object as a set: during each round a process writes

the last view it retrieved (initially its input value) ignoring writers identities and multiple occurrences of the same view;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 39 / 51

slide-108
SLIDE 108

The Colorless Algorithm in the d-solo model

◮ We consider the case of a colorless algorithm:

◮ processes do not use their identities during the computation; ◮ they use the object as a set: during each round a process writes

the last view it retrieved (initially its input value) ignoring writers identities and multiple occurrences of the same view;

◮ they compute their output from their view after R rounds. Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 39 / 51

slide-109
SLIDE 109

The Colorless Algorithm in the d-solo model

◮ We consider the case of a colorless algorithm:

◮ processes do not use their identities during the computation; ◮ they use the object as a set: during each round a process writes

the last view it retrieved (initially its input value) ignoring writers identities and multiple occurrences of the same view;

◮ they compute their output from their view after R rounds.

◮ It allows us to describe all the possible states of the system

after the execution of R rounds by a subdivided complex without coloring vertices with process identities.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 39 / 51

slide-110
SLIDE 110

The Colorless Complex of the Possible States in the Colorless Algorithm (Immediate Snapshot)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 40 / 51

slide-111
SLIDE 111

The Colorless Complex of the Possible States in the Colorless Algorithm (Immediate Snapshot)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 40 / 51

slide-112
SLIDE 112

The Colorless Complex of the Possible States in the Colorless Algorithm (Immediate Snapshot)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 40 / 51

slide-113
SLIDE 113

The Colorless Complex of the Additional Possible States in the Colorless Algorithm (CO2)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 41 / 51

slide-114
SLIDE 114

The Colorless Complex of the Additional Possible States in the Colorless Algorithm (CO2)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 41 / 51

slide-115
SLIDE 115

The Colorless Complex of the Additional Possible States in the Colorless Algorithm (CO2)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 41 / 51

slide-116
SLIDE 116

The Colorless Complex of the Additional Possible States in the Colorless Algorithm (CO2)

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 41 / 51

slide-117
SLIDE 117

Task Solvability in the d-Solo Model

◮ A Colorless Task is specified by:

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 42 / 51

slide-118
SLIDE 118

Task Solvability in the d-Solo Model

◮ A Colorless Task is specified by:

◮ the (colorless) complex of all possible input configurations; Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 42 / 51

slide-119
SLIDE 119

Task Solvability in the d-Solo Model

◮ A Colorless Task is specified by:

◮ the (colorless) complex of all possible input configurations; ◮ the (colorless) complex of output configurations; Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 42 / 51

slide-120
SLIDE 120

Task Solvability in the d-Solo Model

◮ A Colorless Task is specified by:

◮ the (colorless) complex of all possible input configurations; ◮ the (colorless) complex of output configurations; ◮ a monotonic carrier map associating each input configuration

to a set of allowed output configurations.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 42 / 51

slide-121
SLIDE 121

Task Solvability in the d-Solo Model

◮ A Colorless Task is specified by:

◮ the (colorless) complex of all possible input configurations; ◮ the (colorless) complex of output configurations; ◮ a monotonic carrier map associating each input configuration

to a set of allowed output configurations.

Theorem

A colorless task is solvable by a colorless algorithm in the d-solo model with n processes if and only if there is a number of rounds R ≥ 0 and a simplicial map from the R-iterated d-subdivision of the n − 1 skeleton of the (colorless) input complex to the (colorless)

  • utput complex that is carried by the colorless task carrier map.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 42 / 51

slide-122
SLIDE 122

The (d, ǫ)-Approximate Agreement Problem

◮ Generalizing the ǫ-Approximate Agreement that is universal

for the shared memory model

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 43 / 51

slide-123
SLIDE 123

The (d, ǫ)-Approximate Agreement Problem

◮ Generalizing the ǫ-Approximate Agreement that is universal

for the shared memory model

◮ Each process proposes a value from an Euclidian space.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 43 / 51

slide-124
SLIDE 124

The (d, ǫ)-Approximate Agreement Problem

◮ Generalizing the ǫ-Approximate Agreement that is universal

for the shared memory model

◮ Each process proposes a value from an Euclidian space. ◮ Termination: all correct processes decide in a finite number

  • f steps.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 43 / 51

slide-125
SLIDE 125

The (d, ǫ)-Approximate Agreement Problem

◮ Generalizing the ǫ-Approximate Agreement that is universal

for the shared memory model

◮ Each process proposes a value from an Euclidian space. ◮ Termination: all correct processes decide in a finite number

  • f steps.

◮ Validity: all the decided values belong to the convex hull of

the set of proposed values.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 43 / 51

slide-126
SLIDE 126

The (d, ǫ)-Approximate Agreement Problem

◮ Generalizing the ǫ-Approximate Agreement that is universal

for the shared memory model

◮ Each process proposes a value from an Euclidian space. ◮ Termination: all correct processes decide in a finite number

  • f steps.

◮ Validity: all the decided values belong to the convex hull of

the set of proposed values.

◮ Agreement: there is a set S of up to d processes that can

decide any valid value while other processes have to decide within a distance of ǫ from the convex hull of the values decided by processes of S.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 43 / 51

slide-127
SLIDE 127

The (d, ǫ)-Approximate Agreement Problem

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 44 / 51

slide-128
SLIDE 128

(d, ǫ)-Approximate Agreement in the d-Solo Models

◮ For any ǫ, any d and any n, if the volume of the d-faces of

the input complex is bounded, there is a number of round R such that the colorless algorithm solves the (d, ǫ)-approximate agreement problem in the d-solo model.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 45 / 51

slide-129
SLIDE 129

(d, ǫ)-Approximate Agreement in the d-Solo Models

◮ For any ǫ, any d and any n, if the volume of the d-faces of

the input complex is bounded, there is a number of round R such that the colorless algorithm solves the (d, ǫ)-approximate agreement problem in the d-solo model.

◮ For any ǫ, any d and any n, n > d, if there is a simplex of the

input complex containing a large enough regular d-simplex, then the (d, ǫ)-approximate agreement problem is impossible to solve in the (d + 1)-solo model.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 45 / 51

slide-130
SLIDE 130

(d, ǫ)-Approximate Agreement in the d-Solo Models

◮ For any ǫ, any d and any n, if the volume of the d-faces of

the input complex is bounded, there is a number of round R such that the colorless algorithm solves the (d, ǫ)-approximate agreement problem in the d-solo model.

◮ For any ǫ, any d and any n, n > d, if there is a simplex of the

input complex containing a large enough regular d-simplex, then the (d, ǫ)-approximate agreement problem is impossible to solve in the (d + 1)-solo model. Since these conditions are compatible, the hierarchy of the d-solo models is strict.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 45 / 51

slide-131
SLIDE 131

A Strict Hierarchy Spanning from Shared Memory to Message-Passing

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 46 / 51

slide-132
SLIDE 132

Status and Further Investigation

◮ We built a hierarchy of iterated models, spanning from shared

memory to message-passing.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 47 / 51

slide-133
SLIDE 133

Status and Further Investigation

◮ We built a hierarchy of iterated models, spanning from shared

memory to message-passing.

◮ Calculability decrease strictly along this hierarchy, when the

allowed number of parallel solo executions increases.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 47 / 51

slide-134
SLIDE 134

Status and Further Investigation

◮ We built a hierarchy of iterated models, spanning from shared

memory to message-passing.

◮ Calculability decrease strictly along this hierarchy, when the

allowed number of parallel solo executions increases.

◮ At the different levels of the hierarchy, there is a matching

generalization of ǫ-agreement.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 47 / 51

slide-135
SLIDE 135

Status and Further Investigation

◮ We built a hierarchy of iterated models, spanning from shared

memory to message-passing.

◮ Calculability decrease strictly along this hierarchy, when the

allowed number of parallel solo executions increases.

◮ At the different levels of the hierarchy, there is a matching

generalization of ǫ-agreement.

◮ Can we solve a stronger generalization of ǫ-agreement if we do

not restrict to colorless algorithms?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 47 / 51

slide-136
SLIDE 136

Status and Further Investigation

◮ We built a hierarchy of iterated models, spanning from shared

memory to message-passing.

◮ Calculability decrease strictly along this hierarchy, when the

allowed number of parallel solo executions increases.

◮ At the different levels of the hierarchy, there is a matching

generalization of ǫ-agreement.

◮ Can we solve a stronger generalization of ǫ-agreement if we do

not restrict to colorless algorithms?

◮ How does computability evolve if we allow more behavior for

the communication object?

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 47 / 51

slide-137
SLIDE 137

Distributed Computing Motivations, Problems and Contributions Synchrony weakened by message adversaries vs asynchrony restricted by failure detectors A Hierarchy of Iterated Models from Messages to Memory Conclusion and Perspectives

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 48 / 51

slide-138
SLIDE 138

Summary

During this thesis, we explored

◮ the way asynchronous models enriched with failure detector

can relate to iterated models;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 49 / 51

slide-139
SLIDE 139

Summary

During this thesis, we explored

◮ the way asynchronous models enriched with failure detector

can relate to iterated models;

◮ the relations between shared memory and message-passing

and the possibility of intermediary models;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 49 / 51

slide-140
SLIDE 140

Summary

During this thesis, we explored

◮ the way asynchronous models enriched with failure detector

can relate to iterated models;

◮ the relations between shared memory and message-passing

and the possibility of intermediary models;

◮ the impact of potential partitioning on agreement tasks.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 49 / 51

slide-141
SLIDE 141

Summary

During this thesis, we explored

◮ the way asynchronous models enriched with failure detector

can relate to iterated models;

◮ the relations between shared memory and message-passing

and the possibility of intermediary models;

◮ the impact of potential partitioning on agreement tasks.

The processes that infinitely often able to communicate, directly or not, with all the others have a special role across the different models.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 49 / 51

slide-142
SLIDE 142

Summary

During this thesis, we explored

◮ the way asynchronous models enriched with failure detector

can relate to iterated models;

◮ the relations between shared memory and message-passing

and the possibility of intermediary models;

◮ the impact of potential partitioning on agreement tasks.

The processes that infinitely often able to communicate, directly or not, with all the others have a special role across the different models. Partitioning, if contained, is not an end. There are important tasks that are solvable without the ability to implement a memory.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 49 / 51

slide-143
SLIDE 143

Perspectives

In the future, I would like to further study

◮ the computability links between asynchronous systems and

dynamic networks in presence of partitioning;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 50 / 51

slide-144
SLIDE 144

Perspectives

In the future, I would like to further study

◮ the computability links between asynchronous systems and

dynamic networks in presence of partitioning;

◮ the models allowing to express correlated/heterogeneous

failures;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 50 / 51

slide-145
SLIDE 145

Perspectives

In the future, I would like to further study

◮ the computability links between asynchronous systems and

dynamic networks in presence of partitioning;

◮ the models allowing to express correlated/heterogeneous

failures;

◮ the possible high level abstractions we can offer to ease

programming against byzantine failures;

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 50 / 51

slide-146
SLIDE 146

Perspectives

In the future, I would like to further study

◮ the computability links between asynchronous systems and

dynamic networks in presence of partitioning;

◮ the models allowing to express correlated/heterogeneous

failures;

◮ the possible high level abstractions we can offer to ease

programming against byzantine failures;

◮ the mathematical structure of the set of possible executions in

presence of partitioning.

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 50 / 51

slide-147
SLIDE 147

Thank you for your attention!

Computability Abstractions for Fault-tolerant Asynchronous Distributed Computing 51 / 51