towards a theory of peer-to-peer computability joachim giesen roger wattenhofer aaron zollinger
Post on 15-Jan-2016
221 Views
Preview:
TRANSCRIPT
Towards a Theory ofPeer-to-Peer Computability
Joachim GiesenRoger Wattenhofer
Aaron 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
Ordering Decision Tasks
• Position
• Predecessor
• Leader Election
3 1 2< <
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
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)
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:
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
• 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
• 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)
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
Example:
Protocol Graph II
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,¢)
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 i if pos(i) = 1
j if pos(j) = pos(i) - 1pred(i) =
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
top related