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

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

Embed Size (px)

Citation preview

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

Towards a Theory ofPeer-to-Peer Computability

Joachim GiesenRoger Wattenhofer

Aaron Zollinger

Page 2: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

Presentation Overview

• Introduction

• Peer-to-peer framework

• Protocol graph

• Peer-to-peer computability

• Summary

Page 3: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

Introduction

• Peer-to-Peer:– Sharing of computation resources directly

between clients

• Current research: fault-tolerant distributed content location services

• Our focus: fundamental coordination primitives

Page 4: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

Peer-to-Peer Model

• Agents,

registers:

• Atomic access to powerful read-modify-write registers

• Wait-free implementations• Asynchronicity• Ordering decision tasks

Page 5: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

Ordering Decision Tasks

• Position

• Predecessor

• Leader Election

3 1 2< <

Page 6: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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

Page 7: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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)

Page 8: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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)

Page 9: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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

Page 10: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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)

Page 11: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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

Page 12: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

Example:

Protocol Graph II

Page 13: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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,¢)

Page 14: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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) =

Page 15: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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:

Page 16: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger
Page 17: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

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.

Page 18: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger

Summary

• Proposed peer-to-peer model

• Defined structures based on execution in this model

• Results:– Leader Election and Predecessor are

impossible– Position is possible