Presentation is loading. Please wait.

Presentation is loading. Please wait.

Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger.

Similar presentations


Presentation on theme: "Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger."— Presentation transcript:

1 Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

2 Presentation Overview Introduction Peer-to-peer framework Protocol graph Peer-to-peer computability Summary

3 Introduction Peer-to-Peer: –Sharing of computation resources directly between clients Current research: fault-tolerant distributed content location services Our focus: fundamental coordination primitives

4 Peer-to-Peer Model Agents, registers: Atomic access to powerful read-modify-write registers Wait-free implementations Asynchronicity Ordering decision tasks 

5 Ordering Decision Tasks Position Predecessor Leader Election 312 <<  

6 Strategy Strategy: one agent‘s register access order Example: Agent 1: (1,2), (1,3), (1,2) Agent 2: (2,1), (2,3), (2,1) Agent 3: (3,2), (3,1), (3,2) Protocol: all agents‘ strategies

7 Execution Execution: one access sequence of all strategies Example: Three Executions (1,2), (1,3), (1,2), (2,1), (2,3), (2,1), (3,2), (3,1), (3,2) (1,2), (1,3), (1,2), (2,1), (2,3), (3,2), (2,1), (3,1), (3,2) (1,2), (1,3), (1,2), (2,1), (3,2), (2,3), (2,1), (3,1), (3,2) Agent 1: (1,2), (1,3), (1,2) Agent 2: (2,1), (2,3), (2,1) Agent 3: (3,2), (3,1), (3,2)

8 Execution DAG Execution DAG: –Vertices: execution accesses –Edge a l ! a l’ :(1) a l, a l’ of the form (i,¢) (2) a l, a l’ of the form (i,j), (j,i) Example: Three Executions (1,2), (1,3), (1,2), (2,1), (2,3), (2,1), (3,2), (3,1), (3,2) (1,2), (1,3), (1,2), (2,1), (2,3), (3,2), (2,1), (3,1), (3,2) (1,2), (1,3), (1,2), (2,1), (3,2), (2,3), (2,1), (3,1), (3,2)

9 Indistinguishability Relation Two executions A, B can be indistinguishable for an agent i: A ~ i B Simply indistinguishable if so for all agents: A ~ B ~ i and ~ equivalence relations

10 Pruned Execution DAG Indistinguishability relation defined via pruned execution DAG Prune execution DAG w.r.t. agent i: drop all vertices “irrelevant” to agent i Example: Three Executions (1,2), (1,3), (1,2), (2,1), (2,3), (2,1), (3,2), (3,1), (3,2) (1,2), (1,3), (1,2), (2,1), (2,3), (3,2), (2,1), (3,1), (3,2) (1,2), (1,3), (1,2), (2,1), (3,2), (2,3), (2,1), (3,1), (3,2)

11 Protocol Graph Protocol Graph defined on the executions of a protocol: –Vertices: equivalence classes of all executions w.r.t. to indistinguishability relation ~ –Edges E i : {u,v} with label i iff A 2 u, B 2 v s.t. A ~ i B

12 Example: Protocol Graph II

13 Invisibility Relation Basis for serializability in ordering decision tasks Invisibility relation i 8 A j: in the execution A, j is invisible for i Formally: in the execution DAG of A there is no oriented path from any (j,¢) to any (i,¢)

14 Ordering Decision Tasks II Agents compute total order Task result compliant with invisibility Leader Election (1) 8 i,j: lead(i) = lead(j) (2) i 8 A j ! lead(i)  j Position(1) i  j ! pos(i)  pos(j) (2) i 8 A j ! pos(i) < pos(j) Predecessor i if pos(i) = 1 j if pos(j) = pos(i) - 1 pred(i) =

15 Computability I Theorem: Leader Election is impossible for n > 2 agents. Proof by connectivity of protocol graph. Theorem: Position is possible for n = 3. Proof:

16

17 Computability II Theorem: Predecessor is impossible for n = 3. Proof by reduction to Leader Election. Corollary: Predecessor is impossible for n > 3. Proof by reduction to n = 3. Corollary: Position is possible for n > 3. Proof by simulation of counting networks.

18 Summary Proposed peer-to-peer model Defined structures based on execution in this model Results: –Leader Election and Predecessor are impossible –Position is possible


Download ppt "Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger."

Similar presentations


Ads by Google