Deterministic Distributed Resource Discovery

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Kademlia: A Peer-to-peer Information System Based on the XOR Metric Petar Mayamounkov David Mazières A few slides are taken from the authors’ original.
Minimum Spanning Trees
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
LOCALITY IN DISTRIBUTED GRAPH ALGORITHMS Nathan Linial Presented by: Ron Ryvchin.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
Fast Distributed Algorithm for Convergecast in Ad Hoc Geometric Radio Networks Alex Kesselman, Darek Kowalski MPI Informatik.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
Derandomizing LOGSPACE Based on a paper by Russell Impagliazo, Noam Nissan and Avi Wigderson Presented by Amir Rosenfeld.
Dept. of Computer Science Distributed Computing Group Asymptotically Optimal Mobile Ad-Hoc Routing Fabian Kuhn Roger Wattenhofer Aaron Zollinger.
Distributed MST for Constant Diameter Graphs Zvi Lotker & Boaz Patt-Shamir & David Peleg.
Maximal Independent Set Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Introduction to Computer Networks 09/23 Presenter: Fatemah Panahi.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Distributed Algorithms on a Congested Clique Christoph Lenzen.
Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Union-find Algorithm Presented by Michael Cassarino.
1 Leader Election in Rings. 2 A Ring Network Sense of direction left right.
The new protocol of freenet Taken from Ian Clarke and Oskar Sandberg (The Freenet Project)
On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.
Data Structures and Algorithms in Parallel Computing Lecture 2.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
PRIN WOMEN PROJECT Research Unit: University of Naples Federico II G. Ferraiuolo
Peer to Peer Network Design Discovery and Routing algorithms
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Peer-to-Peer (P2P) Networks By Bongju Yu. Contents  What is P2P?  Features of P2P systems  P2P Architecture  P2P Protocols  P2P Projects  Reference.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
Deterministic Distributed Resource Discovery Shay Kutten Technion David Peleg Weizmann Inst. Uzi Vishkin Univ. of Maryland & Technion.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Plethora: A Locality Enhancing Peer-to-Peer Network Ronaldo Alves Ferreira Advisor: Ananth Grama Co-advisor: Suresh Jagannathan Department of Computer.
Domain Name System: DNS To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the Connection of a host to the Internet.
Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.
Peer-to-Peer Information Systems Week 12: Naming
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
On a Network Creation Game
Chapter 25 Domain Name System.
Stochastic Streams: Sample Complexity vs. Space Complexity
New Characterizations in Turnstile Streams with Applications
Monitoring Churn in Wireless Networks
Michael Langberg: Open University of Israel
The minimum cost flow problem
Net 323 D: Networks Protocols
Intra-Domain Routing Jacob Strauss September 14, 2006.
MST in Log-Star Rounds of Congested Clique
Leader Election (if we ignore the failure detection part)
Network Creation Game A. Fabrikant, A. Luthra, E. Maneva,
On a Network Creation Game
Turnstile Streaming Algorithms Might as Well Be Linear Sketches
MST GALLAGER HUMBLET SPIRA ALGORITHM
Distributed Consensus
Minimum Spanning Tree.
TexPoint fonts used in EMF.
Fault-tolerant Consensus in Directed Networks Lewis Tseng Boston College Oct. 13, 2017 (joint work with Nitin H. Vaidya)
Lectures on Graph Algorithms: searching, testing and sorting
Strayer University at Arlington, VA
PRESENTATION COMPUTER NETWORKS
MST GALLAGER HUMBLET SPIRA ALGORITHM
Lecture 8: Synchronous Network Algorithms
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Distributed Error- Confinement
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Leader Election Ch. 3, 4.1, 15.1, 15.2 Chien-Liang Fok 4/29/2019
Peer-to-Peer Information Systems Week 12: Naming
Kademlia: A Peer-to-peer Information System Based on the XOR Metric
Minimum Spanning Trees
Presentation transcript:

Deterministic Distributed Resource Discovery Shay Kutten Technion David Peleg Weizmann Inst. Uzi Vishkin Univ. of Maryland & Technion

Distributed Resource Discovery [HLL99] router B C A pointer The corresponding directed graph (on nodes A,B,C): (assumption: weakly connected) A B C Problem: compute the connected component

Distributed Resource Discovery- [Harcol-Balter, Leighton, Lewin 1999] (“Names Dropper” protocol) Licensed to AKAMAI, a leading Web caching provider The resource discovery task: the set of servers changes  Find the current set (towards deciding which Akamai server to assign to each user)

Akamai servers need to learn how to reach each other via the Internet (towards deciding which Akamai server is “close” to the user). user CNN Internet Akamai Server

Think Distributed Mr. and Ms. B 132.12.16.64 IP street Interland A? a pointer used by the algorithm Mr. and Ms. B 132.12.16.64 IP street Interland A? A B a pointer used by the algorithm (one per node, initially pointing at the node itself) A Address “known” to Node A (“knowledge graph”)

When the Algorithm is started C A D B Weakly connected directed graph a pointer used by the algorithm (one per node, initially pointing at the node itself) A Address “known” to Node A (“knowledge graph”)

Algorithm Actions C A D C B Node A learns C’s addr. From B, thus, directed edge (A  C) is added to knowledge graph.

Algorithm Actions C A D C B Node A learns C’s addr. From B, thus, directed edge (A  C) is added to knowledge graph. (2) Node D who knows of C, change PTR to point at C, thus, pointer graph changes. D

Algorithm Actions change C A D C B Node A learns C’s addr. From B, thus, directed edge (A  C) is added to knowledge graph. (2) Node D who knows of C, change PTR to point at C, thus, pointer graph changes. D

Algorithm’s result pointers form star, knowledge graph is strongly connected, Plus, possibly, additional links (possibly clique) .

Model [HLL99] - synchronous (not necessary for our alg) - simultaneously start (for our alg: just “close”) - complete comm. Graph Complexity: #Msgs (connections [HLL99]), #bits (#pointers*log n), time (#rounds)

Motivation (2) Gnutella Napster server (mp3 music files) I have “Madonna” I want “Love Song” I have “Love Song”

Motivation (2) Gnutella Napster server Ask A A I want Love Song I have Love Song

Motivation (2) Gnutella Napster server Ask A A I want Love Song

Motivation (2) Gnutella Napster server Ask A A Love Song

Motivation (2) Gnutella vs. Napster Napster server If the court closes The service collapsed

Motivation (2) Gnutella vs. Napster If the court closes The service collapsed Napster server

Motivation (2) Gnutella vs. Napster If the court closes the service collapses Napster server

Motivation (2) Gnutella vs. Napster Napster server If the court closes the service collapses Gnutella: attempts to solve by having every client=server Same problem: user knows some others find more increase connectivity to withstand disconnections

Motivation(2) Gnutella Bob Users get disconnected often Alice Carol David Initially Alice knows only Bob & Carol (personally, or from ICQ, or from Google…) and can connect via them To others they know.

Motivation(2) gnutella Users get disconnected often Bob Alice Carol David Initially Alice knows only Bob & Carol (personally, or from ICQ, or from Google…) Alice learned from Carol how to reach David, so that when Bob & Carol are not online Alice is still connected.

Motivation: “Peer to Peer” Applications (P2P) Akamai http://www.akamai.com 1999 Gnutella http://gnutella.wego.com (originally Nullsoft (Winamp)) 2000 Gpulp: general Purpose Location Protocol http://www.gpulp.com (4) Genny http://www.gnutelladev.com (5) Freenet http://freenet.sourceforge.net 2000 (6) JXTA http://www.jxta.org (Sun Microsystems) April 2001 (7) Retsina: Discovery of Infrastructure in Multi-Agent Systems (CMU)

This paper [HLL99] deterministic randomized termination detection no detection O(log n) rounds O(log n) O(n log n) messages O(n log n) O(E log n) bits O(n log n) 2 3

(1) Shrink tall trees to make them stars [SV82] Algorithm strategies (1) Shrink tall trees to make them stars [SV82] D E F G H I (2) Merge stars to get one tree (changed from [SV82]) 12 5 (3) Carefully connect weakly connected (explained later; one of the differences from [Shiloach, Vishkin 82])

Example of a technique taken from [SV82] (Handling tall trees in “pointer graph”) Shortcuts [SV82] C B A

the pointer to its grandparent Handing tall trees in “pointer graph” (cont.) Shortcuts ([SV82] D E F G H I C B A Each child learns the pointer to its grandparent

Handing tall trees in “pointer graph” (cont.) Shortcuts D E F G H I C B A

Add edges to knowledge graph: Algorithm: finding who to merge with [SV82] D A E,E,F,G,H, I,C E B F C C G H Add edges to knowledge graph: node I, on becoming a child of root D, tells D about C I

Algorithm (2) handling active star roots join 5 12 join join 24 3 Star roots ask to connect

Algorithm (2) handling active star roots join 5 12 join join 24 3 -An undirected subgraph is created by join Messages. -Each root connects to local minima (ID) root On undirected subgraph.

Algorithm (2) handling active star roots 5 12 24 -An undirected subgraph is created by join Messages. -Each root connects to local minima (ID) root On undirected subgraph. 3

Algorithm (2) handling active star roots 12 join 24 7 (note differences from [SV82]) Non-stars do not join 9 20

Algorithm (2) handling active star roots Join smallest id- prevents cycles 12 5 join 5 joins 12!!! : smallest id neighbor join join 24 7 3 (only stars join, as opposed to [SV82]) 9 20

Algorithm (2) handling active star roots join 5 12 join join 16 join 24 7 3 9 20

Algorithm (2) handling active star roots join 5 12 join join 16 join 24 7 3 9 20

Algorithm (2) handling active star roots join 5 12 join 16 join join 24 7 3 9 20

Algorithm handling passive star roots 5 join 24 9 Node 9 is “passive” since it does not know any Node  it cannot initiate any joining

Algorithm handling passive star roots 8 join join 5 12 Node 12 is passive: It does not know Any non-child. It cannot Initiate any progress. join 24 7 3 9 20

Algorithm handling passive star roots 8 join join 5 12 join 24 7 3 Node 12 joins its lowest “suitor” 3. Suitors of 12 join 3 too. 9 20

Algorithm: An Example of a Technique different than [SV82] (weakly connected directed graph) Without an additional technique, may take (n) time: Worst case (only A is active, its star grows by 1 per phase): Phase 1 A

(weakly connected diagraph) Without an additional technique, may take (n) time: Worst case (only A is active, its star grows by 1 per phase): A phase 2

(weakly connected diagraph) Without an additional technique, may take (n) time: Worst case (only A is active, its star grows by 1 per phase): phase n-1 A

(weakly connected diagraph) Prevent (n) time, and still do not send too many messages: i Idea: star root A picks 2 neighbors (not just 1) in phase i. (In phase i there are only n/2 stars) i A Example: i=2 2 =4 i

(weakly connected diagraph) Prevent (n) time: Idea: A picks 2 neighbors (not just 1) in phase i. i A Some delicate points: resolving collisions, mixed topologies prove convergence in O(log n) phases

Lemma: always some active star Correctness Lemma: No cycles are created (hook on smaller + non-star does not connect) Assured by a new technique: 37 Possible because of Weak connectivity!! 14 3 7 50 30 200 No connection  No cycle Lemma: always some active star

(2) Active star roots merge. Complexity Two kinds of progress in each phase: A tall tree gets shallower by a constant factor. (2) Active star roots merge. Obstacles: # of star trees may grow because of (1) Trees may get taller because of (2) But (with the right combination) there is a progress in the combination.

Conclusion improved complexity in all measures (verifies [HLL99] conjecture, forecasting a simple algorithm with these complexities). Deterministic. Terminates (answers an open problem of Lipton). Further research Adaptive algorithms (vs. “one shot”) Lower bounds? (in [CGK95] O(n) msgs for undirected case).