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

Slides:



Advertisements
Similar presentations
Practical Searches for Stability in iBGP
Advertisements

COMP 482: Design and Analysis of Algorithms
Lecture 7 March 1, 11 discuss HW 2, Problem 3
Simple Graph Warmup. Cycles in Simple Graphs A cycle in a simple graph is a sequence of vertices v 0, …, v n for some n>0, where v 0, ….v n-1 are distinct,
N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
8.3 Representing Relations Connection Matrices Let R be a relation from A = {a 1, a 2,..., a m } to B = {b 1, b 2,..., b n }. Definition: A n m  n connection.
Distributed Computing 1. Lower bound for leader election on a complete graph Shmuel Zaks ©
Walks, Paths and Circuits Walks, Paths and Circuits Sanjay Jain, Lecturer, School of Computing.
Teaser - Introduction to Distributed Computing
CompSci 102 Discrete Math for Computer Science April 19, 2012 Prof. Rodger Lecture adapted from Bruce Maggs/Lecture developed at Carnegie Mellon, primarily.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
Geometric Ad-Hoc Routing: Of Theory and Practice Fabian Kuhn Roger Wattenhofer Yan Zhang Aaron Zollinger.
Does Topology Control Reduce Interference? Martin Burkhart Pascal von Rickenbach Roger Wattenhofer Aaron Zollinger.
Data Structures, Spring 2004 © L. Joskowicz 1 Data Structures – LECTURE 14 Strongly connected components Definition and motivation Algorithm Chapter 22.5.
Worst-Case Optimal and Average-Case Efficient Geometric Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
The selfish-edges Minimum Spanning Tree (MST) problem.
SANS A Simple Ad hoc Network Simulator Nicolas Burri Roger Wattenhofer Yves Weber Aaron Zollinger.
Is the following graph Hamiltonian- connected from vertex v? a). Yes b). No c). I have absolutely no idea v.
CSE 222 Systems Programming Graph Theory Basics Dr. Jim Holten.
Dept. of Computer Science Distributed Computing Group Asymptotically Optimal Mobile Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
1 Brief Announcement: Distributed Broadcasting and Mapping Protocols in Directed Anonymous Networks Michael Langberg: Open University of Israel Moshe Schwartz:
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 2 – Distributed Systems.
CSE 321 Discrete Structures Winter 2008 Lecture 25 Graph Theory.
CTIS 154 Discrete Mathematics II1 8.2 Paths and Cycles Kadir A. Peker.
Data Structures, Spring 2006 © L. Joskowicz 1 Data Structures – LECTURE 14 Strongly connected components Definition and motivation Algorithm Chapter 22.5.
MCA 520: Graph Theory Instructor Neelima Gupta
Fundamental Group

Strategic Behavior in Multi-Winner Elections A follow-up on previous work by Ariel Procaccia, Aviv Zohar and Jeffrey S. Rosenschein Reshef Meir The School.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2004 Lecture 5 Wednesday, 10/6/04 Graph Algorithms: Part 2.
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
Introduction to Graph Theory
Distributed Verification and Hardness of Distributed Approximation Atish Das Sarma Stephan Holzer Danupon Nanongkai Gopal Pandurangan David Peleg 1 Weizmann.
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
Bringing Paxos Consensus in Multi-agent Systems Andrei Mocanu Costin Bădică University of Craiova.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 01, 2005 Session 14.
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
Consensus and Its Impossibility in Asynchronous Systems.
6.852: Distributed Algorithms Spring, 2008 Class 13.
The Minimum Spanning Tree (MST) problem in graphs with selfish edges.
© 2004 Goodrich, Tamasia Recall: Digraphs A digraph is a graph whose edges are all directed Short for “directed graph” Applications one-way streets flights.
DISTRIBUTED SYSTEMS II A POLYNOMIAL LOCAL SOLUTION TO MUTUAL EXCLUSION Prof Philippas Tsigas Distributed Computing and Systems Research Group.
MAT 2720 Discrete Mathematics Section 8.7 Planar Graphs
Chapter 7 April 28 Network Flow.
Impossibility of Distributed Consensus with One Faulty Process By, Michael J.Fischer Nancy A. Lynch Michael S.Paterson.
Xuding Zhu Zhejiang Normal University Budapest Circular flow of signed graphs.
Chapter 7 May 3 Ford-Fulkerson algorithm Step-by-step walk through of an example Worst-case number of augmentations Edmunds-Karp modification Time complexity.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
COMPSCI 102 Introduction to Discrete Mathematics.
Zookeeper Wait-Free Coordination for Internet-Scale Systems.
Distributed Transactions What is a transaction? (A sequence of server operations that must be carried out atomically ) ACID properties - what are these.
COP 3530 Spring2012 Data Structures & Algorithms Discussion Session.
Relations and Graphs Relations and Graphs Sanjay Jain, Lecturer, School of Computing.
Krishnendu ChatterjeeFormal Methods Class1 MARKOV CHAINS.
Does Topology Control Reduce Interference?
Michael Langberg: Open University of Israel
Algebraic Topology and Distributed Computing part two
CS223 Advanced Data Structures and Algorithms
MAT 2720 Discrete Mathematics
Lecture 6 Shortest Path Problem.
Discrete Mathematics for Computer Science
Graph Theory: Cuts and Connectivity
Graph Theory: Proof Techniques
Locality In Distributed Graph Algorithms
Presentation transcript:

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

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 312 <<  

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 a l ! a l’ :(1) a l, a l’ of the form (i,¢) (2) a l, a l’ 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 E i : {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 8 A 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 8 A j ! lead(i)  j Position(1) i  j ! pos(i)  pos(j) (2) i 8 A j ! pos(i) < pos(j) Predecessor i if pos(i) = 1 j if pos(j) = pos(i) - 1 pred(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