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

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.
INF 123 SW ARCH, DIST SYS & INTEROP LECTURE 12 Prof. Crista Lopes.
Presentation of Designing Efficient Irregular Networks for Heterogeneous Systems-on-Chip by Christian Neeb and Norbert Wehn and Workload Driven Synthesis.
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Broadcasting in UDG Radio Networks with Unknown Topology Yuval Emek, Leszek Gąsieniec, Erez Kantor, Andrzej Pelc, David Peleg, Chang Su, Weizmann Liverpool.
1 An Overview of Gnutella. 2 History The Gnutella network is a fully distributed alternative to the centralized Napster. Initial popularity of the network.
LightFlood: An Optimal Flooding Scheme for File Search in Unstructured P2P Systems Song Jiang, Lei Guo, and Xiaodong Zhang College of William and Mary.
LOCALITY IN DISTRIBUTED GRAPH ALGORITHMS Nathan Linial Presented by: Ron Ryvchin.
An Overview of Peer-to-Peer Networking CPSC 441 (with thanks to Sami Rollins, UCSB)
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
Discussion #36 Spanning Trees
Fast Distributed Algorithm for Convergecast in Ad Hoc Geometric Radio Networks Alex Kesselman, Darek Kowalski MPI Informatik.
Minimum Spanning Trees Definition Algorithms –Prim –Kruskal Proofs of correctness.
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.
1 Maximizing Remote Work in Flooding-based P2P Systems Qixiang Sun Neil Daswani Hector Garcia-Molina Stanford University.
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.
1 Brief Announcement: Distributed Broadcasting and Mapping Protocols in Directed Anonymous Networks Michael Langberg: Open University of Israel Moshe Schwartz:
Distributed MST for Constant Diameter Graphs Zvi Lotker & Boaz Patt-Shamir & David Peleg.
1 Seminar: Information Management in the Web Gnutella, Freenet and more: an overview of file sharing architectures Thomas Zahn.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
Maximal Independent Set Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
Introduction to Computer Networks 09/23 Presenter: Fatemah Panahi.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
1 Network Creation Game A. Fabrikant, A. Luthra, E. Maneva, C. H. Papadimitriou, and S. Shenker, PODC 2003 (Part of the Slides are taken from Alex Fabrikant’s.
Link Recommendation In P2P Social Networks Yusuf Aytaş, Hakan Ferhatosmanoğlu, Özgür Ulusoy Bilkent University, Ankara, Turkey.
Distributed Algorithms on a Congested Clique Christoph Lenzen.
Distributed Constraint Optimization Michal Jakob Agent Technology Center, Dept. of Computer Science and Engineering, FEE, Czech Technical University A4M33MAS.
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
1 Locating Application Data Across Service Discovery Domains MobiCom’01.
Equality Function Computation (How to make simple things complicated) Nitin Vaidya University of Illinois at Urbana-Champaign Joint work with Guanfeng.
Distributed Coloring Discrete Mathematics and Algorithms Seminar Melih Onus November
Tight Bounds for Graph Problems in Insertion Streams Xiaoming Sun and David P. Woodruff Chinese Academy of Sciences and IBM Research-Almaden.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion.
On a Network Creation Game PoA Seminar Presenting: Oren Gilon Based on an article by Fabrikant et al 1.
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.
Peer-to-Peer Network Tzu-Wei Kuo. Outline What is Peer-to-Peer(P2P)? P2P Architecture Applications Advantages and Weaknesses Security Controversy.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Union-find Algorithm Presented by Michael Cassarino.
On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.
The Cost of Fault Tolerance in Multi-Party Communication Complexity Binbin Chen Advanced Digital Sciences Center Haifeng Yu National University of Singapore.
LightFlood: An Efficient Flooding Scheme for File Search in Unstructured P2P Systems Song Jiang, Lei Guo, and Xiaodong Zhang College of William and Mary.
PRIN WOMEN PROJECT Research Unit: University of Naples Federico II G. Ferraiuolo
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 2: Basic Graph Algorithms 1.
Peer to Peer Network Design Discovery and Routing algorithms
COS 420 Day 15. Agenda Finish Individualized Project Presentations on Thrusday Have Grading sheets to me by Friday Group Project Discussion Goals & Timelines.
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.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
1 Optimal Allocation of Electronic Content in Networks Israel Cidon- Technion Shay Kutten- Technion Ran Soffer- Redux.
Plethora: A Locality Enhancing Peer-to-Peer Network Ronaldo Alves Ferreira Advisor: Ananth Grama Co-advisor: Suresh Jagannathan Department of Computer.
Distributed Web Systems Peer-to-Peer Systems Lecturer Department University.
Stochastic Streams: Sample Complexity vs. Space Complexity
New Characterizations in Turnstile Streams with Applications
Peer-to-Peer and Social Networks
MST in Log-Star Rounds of Congested Clique
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
Deterministic Distributed Resource Discovery
MST GALLAGER HUMBLET SPIRA ALGORITHM
Presentation transcript:

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

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

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). Akamai Server Internet user CNN

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

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

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

Algorithm Actions A C D B C (1)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 A C D B C (1)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 change

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

Model [HLL99] - s ynchronous (not necessary for our alg) - s imultaneously 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 “ Love Song ” I want “ Love Song ” I have “ Madonna ”

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

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

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

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

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

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

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 Users get disconnected often Bob Carol Initially Alice knows only Bob & Carol (personally, or from ICQ, or from Google…) and can connect via them To others they know. Alice David

Motivation(2) gnutella Users get disconnected often Bob Carol 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. Alice David

Motivation: “ Peer to Peer ” Applications (P2P) (1) Akamai (2) Gnutella (originally Nullsoft (Winamp)) 2000 (3) Gpulp: general Purpose Location Protocol (4) Genny (5) Freenet (6) JXTA (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)

Algorithm strategies D E F G H I (1) Shrink tall trees to make them stars [SV82] 12 5 (2) Merge stars to get one tree (changed from [SV82]) (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”) D E F G H I C B A Shortcuts [SV82]

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

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

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

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

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

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

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

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!! No connection  No cycle Lemma: always some active star

Complexity Two kinds of progress in each phase: (1) A tall tree gets shallower by a constant factor. 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. (2) Active star roots merge.

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