towards a theory of peer-to-peer computability joachim giesen roger wattenhofer aaron zollinger

Post on 15-Jan-2016

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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