180 likes | 200 Views
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.
E N D
Towards a Theory ofPeer-to-Peer Computability Joachim GiesenRoger WattenhoferAaron Zollinger
Presentation Overview • Introduction • Peer-to-peer framework • Protocol graph • Peer-to-peer computability • Summary
Introduction • Peer-to-Peer: • Sharing of computation resources directly between clients • Current research: fault-tolerant distributed content location services • Our focus: fundamental coordination primitives
Peer-to-Peer Model • Agents, registers: • Atomic access to powerful read-modify-write registers • Wait-free implementations • Asynchronicity • Ordering decision tasks
3 1 2 < < Ordering Decision Tasks • Position • Predecessor • Leader Election
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
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)
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:
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
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:
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
Protocol Graph II Example:
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,¢)
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
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:
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.
Summary • Proposed peer-to-peer model • Defined structures based on execution in this model • Results: • Leader Election and Predecessor are impossible • Position is possible