Finding Nearby Objects in Peer-to-Peer Networks Kirsten Hildrum.

Slides:



Advertisements
Similar presentations
Peer-to-Peer Infrastructure and Applications Andrew Herbert Microsoft Research, Cambridge
Advertisements

Tapestry: Decentralized Routing and Location SPAM Summer 2001 Ben Y. Zhao CS Division, U. C. Berkeley.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
1 PASTRY Partially borrowed from Gabi Kliot ’ s presentation.
1 Accessing nearby copies of replicated objects Greg Plaxton, Rajmohan Rajaraman, Andrea Richa SPAA 1997.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Oblivious Routing for the L p -norm Matthias Englert Harald Räcke 1.
Positive Feedback Loops in DHTs or Be Careful How You Simulate January 13, 2004 Sean Rhea, Dennis Geels, Timothy Roscoe, and John Kubiatowicz From “Handling.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Distributed Lookup Systems
Distributed Object Location in a Dynamic Network Kirsten Hildrum, John D. Kubiatowicz, Satish Rao and Ben Y. Zhao.
Secure routing for structured peer-to-peer overlay networks (by Castro et al.) Shariq Rizvi CS 294-4: Peer-to-Peer Systems.
A Note on Finding the Nearest Neighbor in Growth-Restricted Metrics Kirsten Hildrum John Kubiatowicz Sean Ma Satish Rao.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Localized Self- healing using Expanders Gopal Pandurangan Nanyang Technological University, Singapore Amitabh Trehan Technion - Israel Institute of Technology,
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Or, Providing Scalable, Decentralized Location and Routing Network Services Tapestry: Fault-tolerant Wide-area Application Infrastructure Motivation and.
1/17/01 Changing the Tapestry— Inserting and Deleting Nodes Kris Hildrum, UC Berkeley Joint work with John Kubiatowicz, Satish.
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Tapestry: Finding Nearby Objects in Peer-to-Peer Networks Joint with: Ling Huang Anthony Joseph Robert Krauthgamer John Kubiatowicz Satish Rao Sean Rhea.
Tapestry: A Resilient Global-scale Overlay for Service Deployment Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, and John.
Tree-Structured Indexes. Range Searches ``Find all students with gpa > 3.0’’ –If data is in sorted file, do binary search to find first such student,
Symmetric Replication in Structured Peer-to-Peer Systems Ali Ghodsi, Luc Onana Alima, Seif Haridi.
Tapestry GTK Devaroy (07CS1012) Kintali Bala Kishan (07CS1024) G Rahul (07CS3009)
1 Plaxton Routing. 2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that.
1 PASTRY. 2 Pastry paper “ Pastry: Scalable, decentralized object location and routing for large- scale peer-to-peer systems ” by Antony Rowstron (Microsoft.
June 10, 2003STOC 2003 Optimal Oblivious Routing in Polynomial Time Harald Räcke Paderborn Edith Cohen AT&T Labs-Research Yossi Azar Amos Fiat Haim Kaplan.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
The Impact of DHT Routing Geometry on Resilience and Proximity K. Gummadi, R. Gummadi..,S.Gribble, S. Ratnasamy, S. Shenker, I. Stoica.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
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.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 More on Plaxton routing There are n nodes, and log B n digits in the id, where B = 2 b The neighbor table of each node consists of - primary neighbors.
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
Christoph Lenzen, STOC What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing.
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
Peer to Peer Network Design Discovery and Routing algorithms
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Peer-to-Peer Data Structures Christian Scheideler Dept. of Computer Science Johns Hopkins University.
1 Plaxton Routing. 2 History Greg Plaxton, Rajmohan Rajaraman, Andrea Richa. Accessing nearby copies of replicated objects, SPAA 1997 Used in several.
Peer-to-Peer Networks 05 Pastry Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
The Chord P2P Network Some slides taken from the original presentation by the authors.
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Distributed Hash Tables
(slides by Nick Feamster)
Plethora: Infrastructure and System Design
Accessing nearby copies of replicated objects
A Polynomial-time Tree Decomposition for Minimizing Congestion
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
Object Location Problem: Find a close copy of an object in a large network Solution should: Find object if it exists Find a close copy of the object (no.
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
P2P: Distributed Hash Tables
Simultaneous Insertions in Tapestry
Presentation transcript:

Finding Nearby Objects in Peer-to-Peer Networks Kirsten Hildrum

Object Location

The Big Picture

Behind the Cloud ?

Two solutions One directory –One participant stores a lot, but average is low –Stretch is high Everyone has a directory –Low stretch! –Everyone has lots of data –Changes are very expensive

Distribute directory Each peer is responsible for part of directory Q: Who is responsible for my object? A: Hash peers into same namespace as objects. Q: How do I get there? A: Peer-to-peer networks route to names.  Must efficiently self-organize into network

Efficiency is… With respect to network Few neighbors Short routes (few hops & low stretch) Easy routing (No routing tables!) Dynamic With respect to directory Not too many entries (4,4) hard easy

Low stretch dynamic peer-to-peer network Tolerate failures in network Adapting to network variation Related results Future work Outline

SystemNeighbor s Motivating Structure Hops CAN, 2001O(r)gridO(rn 1/r ) Chord, 2001O(log n)hypercubeO(log n) Pastry, 2001O(log n)hypercubeO(log n) Tapestry, 2001O(log n)hypercubeO(log n) Distributed Hash Tables These systems give –Guaranteed location –Join and leave algorithms –Load-balanced storage No stretch guarantees

Low Stretch Approaches SystemStretchSpaceBalancedMetric Awerbuch Peleg, 1991 polylog noGeneral PRR, 1997O(1)O(log n)yesSpecial Thorup-ZwickO(k 2 )O(kn 1/k )yesGeneral RRVV, 2001polylog yesGeneral Not dynamic Result #1: Make a dynamic low-stretch scheme

PRR/Tapestry City State Country

PRR/Tapestry Two object types: red and blue, so two trees Level 1 Level 2 Level 3

PRR/Tapestry Two object types: red and blue, so two trees Level 1 Level 2 Level 3

Neighbor Table For “5471” (Octal) Routing Levels xxx 2xxx 0xxx 3xxx 4xxx 5xxx 6xxx 7xxx 50xx 51xx 52xx 53xx 54xx 55xx 56xx 57xx 540x 541x 542x 543x 544x 545x 546x 547x Ø 5475 Ø 5477 Balancing Load 1 NodeID NodeID 5471 NodeID 5416 NodeID 5061 NodeID 5432 NodeID 5455 NodeID 5470

Building It Every node is a root! Can extend to more than two colors Pefix routing in base b  promoting at rate 1/b b=16  match one hex digit or four bits at a time Space: O(b log b n) –Every node at every level stores b parents We want the links to be of geometrically increasing length

Prefix Routing (PRR97) Nodes at the bottom can go red or blue Repeat at all levels, each node is a root of a tree defined by red/blue Space is O(n log n) –Each node appears in every level –Two parents per level If red=0, blue=1, then trees=binary IDs For object 10101, first send to a node beginning in 1, then 10, then 101….

Building It Repeat at all levels –Every node is a root! Can extend to more than two colors b colors  prefix routing in base b  promoting at rate 1/b b=16  match one hex digit or four bits at a time Space: O(b log b n) –Every node at every level stores b parents We want the links to be of geometrically increasing length

What’s Hard Level 1 Level 2 Level 3 ?

Node Joins Correctness O(log n) insert & delete –Concurrent inserts in a lock-free fashion Keeping low stretch –Required a nearest-neighbor search algorithm as subroutine –Keep O(1) stretch in special metrics Algorithms implemented in version of Tapestry used in OceanStore

Concurrent Insert

Solving the Problem Theorem 1 When peer A is finished inserting, it knows about all relevant peers that have finished insertion. Hildrum, Kubiatowicz, Rao & Zhao, “Distributed Object Location in a Dynamic Network” SPAA2002 Sequential Consistency (without locks) B A

Node Join in Practice large group join ~210 kill nodes RouteToID operations on 40 node cluster Churn: nodes join/leave every 10 seconds, average lifetime = 2mins Constant churn

Dynamic challenge: find parent Need to find closest at level Idea Use routing structure backwards Other approaches Clarkson ‘97 Karger & Ruhl ‘02 Krauthgamer Lee ‘03

Growth Restriction Growth Restriction: –Ball of radius 3r contains only a factor of c more nodes than ball of radius r. –Stronger than “polynomial growth” Base b at least c –Promote less than 1/c r 3r

Algorithm Idea, in pictures new

The Trimming Lemma Circle of radius r around new with at least one level i node. To find level (i-1) must find its parent. Level (i-1) node in little circle must point to a level i node in 3r of new <2r r 3r

How Many? Keep fixed k= O(log n) If k red nodes in little circle, then about ck in big circle Expect only about ck/b blue nodes If c/b < 1, expect less than k r 3r log n per level & log n levels, so total is O(log 2 n)

Using only O(log n) If k red nodes in little circle, then about ck in big circle Expect only about ck/b blue nodes If c/b < 1, expect constant per level But what is r? Guess, and backtrack if needed r 3r Total: O(log n)

Summary In growth-restricted networks (with no additional space!): Theorem 2 [HKRZ02] Can find nearest neighbor with high probability with O(log 2 n) messages Theorem 3 [HKMR04] Can find nearest neighbor, and messages is O(log n) with high probability + more  dynamic, low-stretch network

Low stretch dynamic peer-to-peer network Tolerate failures in network Adapting to network variation Related results Future work Outline

Behind the Cloud Again

Dealing with faults Multiple paths –Castro et. al –One failure along path, path breaks Wide path –Paths faulty at the same place to break Exponential difference in width effect “retrofit” Tapestry to do latter in slightly malicious networks Failed! Still good…

Effective even for small overhead Theorem 4 In growth restricted spaces, can make probability of failed route less than 1/n c for width O(clog n) Hildrum & Kubiatowicz, DISC02

Wide path vs. multiple paths

Wide path vs. multiple paths (2)

Low stretch dynamic peer-to-peer network Tolerate failures in network Adapting to Network Variation Related results Future work Outline

Network not homogeneous Previous schemes assumed global growth rate. But what if there isn’t one? San Francisco Nebraska Paris

b too big

b too small Level 1 Level 2 Level 3

Space as function of base

Using the local c Idea: Determine local c and use it Challenge: Paths still meet up, stretch still low, and space reasonable Technique: “Fix” or match bits –In variable size chunks –PRR97, LAND, Tapestry, Pastry matched bits in fixed size chunks r 3r

Using Local Growth Rate Level 1 We want the links to be of geometrically increasing length Find the rate so that level 1 is evenly spaced.  Bigger b on left, smaller on right

Summary Previous approaches assumed a global c Had to know c in advance of construction Hildrum, Krauthgamer & Kubiatowicz [SPAA04]: Dynamic, locally optimal low-stretch network

Low stretch dynamic peer-to-peer network Tolerate failures in network Adapting to network variation Related results Future work Outline

Congestion Latency might not be right measure Reduce bandwidth usage When demands are known, can use linear program to find a set of paths But what if demands are not known…

Oblivious Routing S1S1 T1T1 S3S3 T3T3 S2S2 T2T2

The Answer: A Tree

Summary Räcke02 showed scheme exists O(log 3 n) Azar, Cohen, Fiat, Kaplan, & Räcke in STOC03 find optimal routing, but not hierarchical Theorem 6 Hierarchical scheme can be constructed in polynomial time. (Within O(log 2 n log log n) of optimal) –Harrelson, Hildrum, & Rao, “A Polynomial-time Tree Decomposition to Minimize Congestion” SPAA03

Online Auctions for Digital Goods Online Answer bidder i before seeing the next bid –Bob offers you 50¢, yes or no? –Don’t get to see Alice’s bid before answering Digital Each additional copy is free –Want to sell to everyone at their bid –Can’t sell to everyone at their bid, or else all bids will be low Bar-Yossef, Hildrum, Wu, “Online Auctions for Digital Goods” SODA 2002: Theorem 7 Constant competitive ratio when opt makes O(maxBid log log maxBid) Theorem 8 When best fixed price sells few, can get:

Low stretch dynamic peer-to-peer network Tolerate failures in network Adapting to network variation Related results Future work Outline

Future Work Object location questions –Tradeoff between degree, stretch, load balance as function of growth rate –Smooth transition between general-metric systems and growth-restricted systems Distributed low-congestion network Peer-to-peer networks with selfish players Sensor networks

Thank You!