Rodolfo Conde Joint work with Sergio Rajsbaum Instituto de Matemáticas

Slides:



Advertisements
Similar presentations
Topology in Distributed Computing: A Primer 1 / 16 Sergey Velder SPbSU ITMO.
Advertisements

N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
Bigamy Eli Gafni UCLA GETCO Outline Models, tasks, and solvability What is SM? r/w w.f. asynch computability Sperner Lemma as a consequence of the.
Is 1 different from 12? Eli Gafni UCLA Eli Gafni UCLA.
1 Randomized Concurrent Algorithms Based on slides by Dan Alistarh Giuliano Losa.
1 Nir Shavit Tel-Aviv University and Sun Microsystems Labs (Joint work with Maurice Herlihy of Brown University) © Herlihy and Shavit 2004 The Topological.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
CPSC 668Set 19: Asynchronous Solvability1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
Sergio Rajsbaum 2006 Lecture 3 Introduction to Principles of Distributed Computing Sergio Rajsbaum Math Institute UNAM, Mexico.
Distributed Algorithms: Asynch R/W SM Computability Eli Gafni, UCLA Summer Course, CRI, Haifa U, Israel.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
Deriving an Algorithm for the Weak Symmetry Breaking Task Armando Castañeda Sergio Rajsbaum Universidad Nacional Autónoma de México.
CPSC 668Set 11: Asynchronous Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
© Sergio Rajsbaum; DISC/GETCO 2004 Introduction to the Gödel Prize Session Sergio Rajsbaum Math Institute UNAM, Mexico.
CPSC 668Set 11: Asynchronous Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
On the Cost of Fault-Tolerant Consensus When There are no Faults Idit Keidar & Sergio Rajsbaum Appears in SIGACT News; MIT Tech. Report.
Two-Process Systems TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Manifold Protocols TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A AA Companion slides for Distributed Computing.
1 © P. Kouznetsov A Note on Set Agreement with Omission Failures Rachid Guerraoui, Petr Kouznetsov, Bastian Pochon Distributed Programming Laboratory Swiss.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 11: Asynchronous Consensus 1.
1 Chapter 9 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch Set 11: Asynchronous Consensus 1.
1 Consensus Hierarchy Part 1. 2 Consensus in Shared Memory Consider processors in shared memory: which try to solve the consensus problem.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
Impossibility of Distributed Consensus with One Faulty Process By, Michael J.Fischer Nancy A. Lynch Michael S.Paterson.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
“Towards Self Stabilizing Wait Free Shared Memory Objects” By:  Hopeman  Tsigas  Paptriantafilou Presented By: Sumit Sukhramani Kent State University.
 2004 SDU 1 Lecture5-Strongly Connected Components.
1 © R. Guerraoui Set-Agreement (Generalizing Consensus) R. Guerraoui.
Recursively Enumerable and Recursive Languages. Definition: A language is recursively enumerable if some Turing machine accepts it.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Computing with anonymous processes
Algorithm Analysis CSE 2011 Winter September 2018.
Colorless Wait-Free Computation
Algebraic Topology and Distributed Computing part two
Byzantine-Resilient Colorless Computaton
Algebraic Topology and Distributed Computing
Solvability of Colorless Tasks in Different Models
Wait-Free Computability for General Tasks
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Alternating Bit Protocol
Distributed Consensus
Distributed Algorithms (22903)
Distributed Systems, Consensus and Replicated State Machines
Distributed Consensus
Simulations and Reductions
Combinatorial Topology and Distributed Computing
Fault-tolerant Consensus in Directed Networks Lewis Tseng Boston College Oct. 13, 2017 (joint work with Nitin H. Vaidya)
Algebraic Topology and Decidability in Distributed Computing
Renaming and Oriented Manifolds
CS21 Decidability and Tractability
Algebraic Topology and Distributed Computing part three
Distributed Algorithms (22903)
Basics of Recursion Programming with Recursion
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Distributed Algorithms (22903)
Deterministic Objects: Life Beyond Consensus
Combinatorial Topology and Distributed Computing
Combinatorial Topology and Distributed Computing
Distributed systems Consensus
Yehuda Afek, Eli Daian, Eli Gafni, Giuliano Losa
Presentation transcript:

The iterated shared memory model of computation and an enrichment with safe-consensus tasks Rodolfo Conde Joint work with Sergio Rajsbaum Instituto de Matemáticas Universidad Nacional Autónoma de México GETCO 2010

Rodolfo Conde and Sergio Rajsbaum The Model 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The Iterated Snapshot Shared Memory model We have n processes that communicate using a memory SM[i][0…n] (i ≥ 0) of Read/Write registers 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The Iterated Snapshot Shared Memory model The computation proceeds in rounds 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The Iterated Snapshot Shared Memory model In each round, a process P can atomically write to SM[i][P] 1 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The Iterated Snapshot Shared Memory model each process can atomically read all of SM[i] 1 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The Iterated Snapshot Shared Memory model In each round, the processes use a new memory array 1 1 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Asynchronous The n processes are asynchronous Arbitrary delays of any kind 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Wait-Free The protocols are wait-free All but one process can crash A process cannot wait to hear from another process ? 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Generic Iterated Snapshot protocol init r := 0; sm := input, dec := NULL; loop forever r := r + 1; SM[r].write(sm); sm := SM[r].snapshot(); /* Local computing */ end loop 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Generic Iterated Snapshot protocol init r := 0; sm := input, dec := NULL; loop forever r := r + 1; SM[r].write(sm); sm := SM[r].snapshot(); /* Local computing */ end loop P writes sm to SM[r][P] 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Generic Iterated Snapshot protocol init r := 0; sm := input, dec := NULL; loop forever r := r + 1; SM[r].write(sm); sm := SM[r].snapshot(); /* Local computing */ end loop P reads all the array SM[r] 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol One possible execution is the following: the two processes read and write concurrently WR RD 1 WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol We can represent this execution as a 1-simplex WR RD 1 WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol Each vertex represents the process view of the memory WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol Another possible execution: One process is faster that the other WR RD WR RD 1 WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol The red process only sees itself, but the green can see both of them WR RD WR RD 1 WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol And the last possibility 1 WR RD WR RD WR RD WR RD 1 WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocol And the last possibility 1 WR RD WR RD WR RD WR RD 1 WR RD 1 WR RD 1 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (1 round) 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum The 2nd round The input for the 2nd round is any possible state after the first round WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum The 2nd round And the three possibilities repeat WR RD 1 WR RD WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum The 2nd round And the three possibilities repeat WR RD 1 WR RD WR RD 1 WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum The 2nd round And the three possibilities repeat WR RD 1 WR RD 1 WR RD WR RD 01 01 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Two processes protocols in the iterated model Given a possible input: Each execution of a round is represented as a 1-simplex All possible executions are represented as a simplicial complex (subdivision of a line) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Three processes protocols The state after an execution can be described by a triangle (2-simplex) WR RD WR RD WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Three processes protocols The state after an execution can be described by a triangle (2-simplex) 000 WR RD WR RD WR RD 00 00 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (1st round) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (1st round) WR RD WR RD WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (1st round) WR RD WR RD WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (1st round) WR RD WR RD WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (1st round) WR RD WR RD WR RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (3 processes) For the 2nd round Each triangle (state) of the 1st round subdivides in the same way Because we work in an iterated model Recursive behaviour 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rercursive behaviour (2nd round) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rercursive behaviour (2nd round) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rercursive behaviour (2nd round) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex (2nd round) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum In general For n + 1 processes: Each state of a protocol is represented as a n-simplex The executions of a protocol are represented as a n-dimensional complex A subdivision of the n-simplex !! [Gafni & Borowsky] 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The (n,k)-set agreement task [S. Chaudhuri, 90] 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The (n,k)-set agreement task [S. Chaudhuri, 90] 2 7 9 Processes start with private input values from a domain I (|I| ≥ n) Set agreement 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The (n,k)-set agreement task [S. Chaudhuri, 90] 2 7 9 Their outputs must agree on at most k < n distinct values Set agreement 7 7 2 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Impossibility of (3,2)-set agreement in the Iterated model We can use the geometric view of distributed protocols to show this remarkable result. The basic idea is as follows: Assume a protocol exists. Find an execution of this protocol (using the protocol complex) where processes decide 3 values !!! 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Suppose a protocol exists Consider an input where processes have as input values their own ids Run the protocol until processes decide 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Suppose a protocol exists Because we work in the iterated model The protocol complex is a subdivision of the triangle We can colour the vertices with the decision each process takes This colouring satisfies the hypothesis of Sperner’s Lemma 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

We apply Sperner’s lemma to the subdivided complex By Sperner’s Lemma, at least one simplex has all three colours This simplex corresponds to an execution where processes decide three distinct values !!! 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum In summary The iterated model Executions are represented as simplicial complexes Simple recursive structure 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum In summary The set agreement task is impossible to solve [Borowsky & Gafni, Saks & Zaharoglou, Herlihy & Shavit, 93] The iterated model is equivalent to the usual read/write model [Borowsky & Gafni, 97] Set agreement result is valid in the usual model (but easier to prove in the iterated model) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

We can enrich the Iterated model with more powerful objects 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 Processes start with private input values from a domain I Safe-consensus 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 Their outputs values must be the same Safe-consensus 2 2 2 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 The safe-consensus has two special rules Safe-consensus 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 (1) If a process starts executing the task and outputs before any other process starts executing the task Safe-consensus 7 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 the task’s output is that process proposed input value. Safe-consensus 7 7 7 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 (2) Otherwise, if two or more processes initially access the task concurrently Safe-consensus 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

The safe-consensus task [Afek, Gafni & Lieber, 09] 2 7 9 it can return any value. (even invalid values) Safe-consensus α α α 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum What happens if we enrich the iterated model with safe-consensus tasks ? 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum The enriched Model init r := 0; sm, input, scret, dec := NULL; loop forever r := r + 1; SM[r].write(sm, scret); scret := safe-consensus[h(sm, scret)](id); sm := SM[r].snapshot(); /* Local computing */ end loop 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum The enriched Model init r := 0; sm, input, scret, dec := NULL; loop forever r := r + 1; SM[r].write(sm, scret); scret := safe-consensus[h(sm, scret)](id); sm := SM[r].snapshot(); /* Local computing */ end loop Process access the object indicated by h(sm, scret) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

What happens to the protocol complex ? 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Protocol complex with safe-consensus 1 round 3 processes All processes invoke the safe-consensus Input values: Ids 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Which executions are represented in this complex ? Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Why do we have only these executions ? Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look WR SC RD WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look WR SC RD Safe-consensus = WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Executions where the safe-consensus returns green Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Why there cannot be more adjacent simplexes ? Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Why there cannot be more adjacent simplexes ? Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Why there cannot be more adjacent simplexes ? WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Why there cannot be more adjacent simplexes ? Safe-consensus = WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Why there cannot be more adjacent simplexes ? Safe-consensus = Safe-consensus = WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Because the safe-consensus does not allow it Safe-consensus = Safe-consensus = Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Similar argument for other executions Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Similary for other executions WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Similary for other executions Safe-consensus = WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Similary for other executions Safe-consensus = Safe-consensus = WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Similary for other executions Safe-consensus = Safe-consensus = Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Safe-consensus = Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Safe-consensus = Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum A closer look Safe-consensus = Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum And the black complex It represents executions where the safe-consensus returns an invalid value Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum And the black complex At least two processes invoke the safe-consensus concurrently WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum And the black complex At least two processes invoke the safe-consensus concurrently WR SC RD WR SC RD WR SC RD Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

A closer look Safe-consensus = a value different from valid ids Each component represents a set of executions of the protocol where the safe-consensus is allowed to return the indicated value 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum And again… Because we work in the iterated model In the 2nd round This behaviour is going to repeat 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Remember, Iterated model 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Remember, Iterated model 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Remember, Iterated model 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Some results for set agreement 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

(k+1,k)-set agreement is solvable in this model proc (k+1,k)-set-agreement(val) SM.write(val); sc := safe-consensus(id); sm := SM.snapshot(); if (sc is in {1, …, k+1} Λ sm[sc] ≠ NULL) then dec := sm[sc]; else dec := sm[j] with j := min{ m | sm[m] ≠ NULL }; end if decide dec; end proc 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Notice We omit here the correctness proof of the protocol Not difficult, but tedious 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum In particular (3,2)-set agreement is solvable in the iterated model with safe-consensus. 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum In particular (3,2)-set agreement is solvable in the iterated model with safe-consensus. But we can prove that (3,1)-set agreement (3-consensus) is not solvable in the Iterated model with safe-consensus. 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Proof’s idea Suppose a protocol exists. Consider an input where processes propose their ids Take the gray subcomplex 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

In the protocol’s 1st round WR SC RD Notamos el camino que hay de la ejecución en solo del proceso verde a la ejecución de los procesos rojo y amarillo (sin el verde) WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

In the protocol’s 1st round Notamos el camino que hay de la ejecución en solo del proceso verde a la ejecución de los procesos rojo y amarillo (sin el verde) WR SC RD WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

In the protocol’s 1st round Notamos el camino que hay de la ejecución en solo del proceso verde a la ejecución de los procesos rojo y amarillo (sin el verde) There exists a path here 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

In the protocol’s 2nd round And because we work in an iterated model El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum 2nd round El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum 2nd round El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum 2nd round El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum 2nd round WR SC RD El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum 2nd round El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… WR SC RD WR SC RD WR SC RD 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum 2nd round There’s also a path El camino entre una ejecucion en solo del proceso verde y una ejecucion en solo del rojo y el amarillo aun existe… … And so on… 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Because of the iterated model In any r-round partial execution: a solo execution of is “conected” to a execution of and without 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

When the protocol finishes must decide green Argumentamos que esa conectividad entre esas ejecuciones generan una contradiccion 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

When the protocol finishes must decide green Argumentamos que esa conectividad entre esas ejecuciones generan una contradiccion must decide red or yellow 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Contradiction Argumentamos que esa conectividad entre esas ejecuciones generan una contradiccion This “connectivity” in all rounds lead us to a contradiction, so no such protocol can exists 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum In general There is no protocol in the Iterated Snapshot model with safe-consensus objects that can solve the (k, 1)-set agreement problem (k ≥ 3). Generalizacion del resultado anterior 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Summary There’s a deep conection between Distributed computing and Topology Impossibility results arise from this conection We can derive algorithms by looking at the geometric structure of protocol complexes Shared objects can affect the topology of the protocol complex (safe-consensus) 15/01/2010 Rodolfo Conde and Sergio Rajsbaum

Rodolfo Conde and Sergio Rajsbaum Thank you 15/01/2010 Rodolfo Conde and Sergio Rajsbaum