1 / 18

Fundamental Coordination Primitives in Peer-to-Peer Computability

Explore a theory of peer-to-peer computability, focusing on coordination primitives, protocols, and execution DAGs, with a special emphasis on leader election, position, and predecessor computability in a peer-to-peer model.

imamoore
Download Presentation

Fundamental Coordination Primitives in Peer-to-Peer Computability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Towards a Theory ofPeer-to-Peer Computability Joachim GiesenRoger WattenhoferAaron 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. 3 1 2 < <    Ordering Decision Tasks • Position • Predecessor • Leader Election

  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 • Agent 1: (1,2), (1,3), (1,2) • Agent 2: (2,1), (2,3), (2,1) • Agent 3: (3,2), (3,1), (3,2) 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)

  8. 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) Execution DAG Execution DAG: • Vertices: execution accesses • Edge al! al’: (1) al, al’ of the form (i,¢) (2) al, al’ of the form (i,j), (j,i) Example:

  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 • 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) • Indistinguishability relation defined via pruned execution DAG • Prune execution DAG w.r.t. agent i: drop all vertices “irrelevant” to agent i Example:

  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 Ei: {u,v} with label i iff A 2 u, B 2 v s.t. A ~i B

  12. Protocol Graph II Example:

  13. Invisibility Relation • Basis for serializability in ordering decision tasks • Invisibility relation i 8A 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. i if pos(i) = 1 pred(i) = j if pos(j) = pos(i) - 1 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 8A j ! lead(i) ¹ j • Position (1) i ¹ j ! pos(i) ¹ pos(j) (2) i 8A j ! pos(i) < pos(j) • Predecessor

  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. 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.

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

More Related