Download presentation

Presentation is loading. Please wait.

Published byDana Adee Modified over 2 years ago

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

2
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
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
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
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
6 The rest of it Definitions and tools Inseparability Theorem 1: connectivity of protocols Theorem 2: emulation Conclusions and future

7
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
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
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
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
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
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
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
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
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
16 Look in the future: x 0 ~x 1 Go along inseparable executions until a confusing view v

17
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
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
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
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
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
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
23 Thank you!

24
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

Similar presentations

OK

Eddie Bortnikov & Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring 2006 1 Principles of Reliable Distributed Systems Recitation.

Eddie Bortnikov & Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring 2006 1 Principles of Reliable Distributed Systems Recitation.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google

Ppt on c language history Ppt on open access Upload and view ppt online Ppt on self awareness institute Training ppt on team building Ppt on bluetooth security Ppt on world environment day history Ppt on object-oriented programming in java Ppt on acid-base indicators examples Ppt on nature and scope of human resource management