towards a theory of peer-to-peer computability joachim giesen roger wattenhofer aaron zollinger
TRANSCRIPT
![Page 1: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/12.jpg)
Example:
Protocol Graph II
![Page 13: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/16.jpg)
![Page 17: Towards a Theory of Peer-to-Peer Computability Joachim Giesen Roger Wattenhofer Aaron Zollinger](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062322/56649cb95503460f94981152/html5/thumbnails/18.jpg)
Summary
• Proposed peer-to-peer model
• Defined structures based on execution in this model
• Results:– Leader Election and Predecessor are
impossible– Position is possible