# N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.

## Presentation on theme: "N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems."— Presentation transcript:

N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems

2 Distributed shared memory  Processes communicate via objects  Each object is an instance of a type  Type N-consensus: first N operations propose(v), v∈{0,1} return the argument of the first operation, N+1-th fails  Object types can be classified by their consensus power

3 Consensus power  Cons(T)=N iff objects of T and RW registers can implement N-consensus but not N+1-consensus  N-consensus is universal in a system of N processes : can implement an object of any type [Her91]

4 What about N or more processes? Can objects of consensus power N “do more” than N-consensus objects? No: if an N+1-process task can be solved by deterministic objects of consensus power N, then it can also be solved by N-consensus objects ⇨ There are no objects between N- and N+1- consensus

5 Main results Theorem 1. Any protocol over N+1 processes using deterministic objects of consensus power N is connected. Theorem 2. Any connected protocol over N+1 processes can be emulated using N-consensus

6 The rest of it  Definitions and tools  Inseparability  Theorem 1: connectivity of protocols  Theorem 2: emulation  Conclusions and future

7 Processes and protocols  N+1 processes communicate via objects of consensus power N, RW registers  Protocol P: a collection of deterministic automata P 1,…P N+1, assume a single initial state

8 Objects and synchrony  Objects are atomic and deterministic: an execution of P can be seen as a sequence of process ids a state of P is a finite execution a view of Pi in x is the local state of Pi in x  System is asynchronous: we consider all possible executions 2-consensus cannot be implemented using RW registers N+1-consensus cannot be implemented using N- consensus

9 Some tools  2-process ε-agreement task for q0 and q1 If qi goes alone, qi outputs i outputs are within ε in [0,1] (can be implemented using RW registers)  N-consensus can be used to split processes in two teams, each running as a single process in a 2-process RW protocol (e.g., ε- agreement)

10 Inseparability States x0 and x1 of P are inseparable (x0~x1) iff some process P i cannot distinguish x0 and x1 even in an infinite execution Pi goes through the same sequence of views in e0 and e1 x1x0 e1e0

11 Inseparably connected protocols P is inseparably connected iff for each state x of P, the set G(x) of N+1 immediate descendants of x is transitively inseparable x1x1 x2x2 xNxN x N+1 ~ ~~~ … There is a path of inseparable states between any two states in G(x) … x

12 Connectivity and consensus power Theorem 1. Any protocol over N+1 processes using deterministic objects of consensus power N is connected Proof sketch:  suppose some G(x) is ~ disconnected  each execution extending x reveals the component of G(x)  we can solve consensus using x and P (use determinism here)

13 Emulation of connected protocols  Let P be connected  Then we can emulate it using N-consensus! Emulation:  Processes periodically output views of P Safety: All output views are compatible with an execution of P Liveness: at least one active process makes progress (outputs infinitely many views of P)

14 Emulation invariants  Each process maintains a local estimate of the “current” state of P  Asynchronous phases, at the end of each phase: There are at most two different state estimates, and they are inseparable At least one participant outputs a new view All views output so far are compatible with both state estimates

15 Phase description  Processes split in two teams q0 and q1  Each qi elects a member to promote: proposes a new “next” state x i and a new view v i  q0 and q1 runs ε-agreement and map the results to vertices of the non-separating path connecting x 0 and x 1

16 Look in the future: x 0 ~x 1 Go along inseparable executions until a confusing view v

17 Look in the future: x 0 and x 1 are not inseparable But their parents x 0 ’ and x 1 ’ are – concatenate the paths

18 Choosing the next state: safety  ε=Ω(1/N): the decided vertices are neighbors  Neighboring states are inseparable  Each view is compatible with neighboring states: safety is guaranteed!

19 Joining a team: liveness In every phase, a process:  Try to agree on the system state using N- consensus  If succeeded, join team q0  If failed (only if N came earlier)– join q1  ≤N processes participate ⇨ q1 is empty  Only a participant obtains a new view: liveness is guaranteed!

20 A corollary that matters Let P be any protocol that solves a task M A non-blocking emulation of P is also wait-free: every active process makes progress Every N+1-process task that can be solved by objects of consensus power N can also be solved by N-consensus objects

21 Summary  Inseparability (a general connectivity)  Emulation of any connected protocol  In a system of N+1 processes, there is no object between N- and N+1-consensus

22 Related questions  Can objects of consensus power N be implemented by N-consensus objects? Common2 class: is queue in it? [Afek et al. 93,…]  How to emulate a protocol P that uses objects of two types, each of consensus power N Robustness [Jay93,…]  Non-determinism?

23 Thank you!

24 Deterministic objects  Q, set of states  O, set of operations  R, set of responses  σ, Q x O → Q x R, sequential specification RW-register: a read returns the most recent written value N-consensus: first N agree on a proposed value, N+1-th fails

Download ppt "N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems."

Similar presentations