400 likes | 542 Views
Finding Nearby Objects in Peer-to-Peer Networks. Kirsten Hildrum. Object Location. The Big Picture. Behind the Cloud. ?. 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
E N D
Finding Nearby Objects in Peer-to-Peer Networks Kirsten Hildrum
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 Two solutions
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 hard (4,4) easy
Outline • Low stretch dynamic peer-to-peer network • Tolerate failures in network • Adapting to network variation • Related results • Future work
Distributed Hash Tables • These systems give • Guaranteed location • Join and leave algorithms • Load-balanced storage • No stretch guarantees
Low Stretch Approaches • Not dynamic Result #1: Make a dynamic low-stretch scheme
PRR/Tapestry Country State City
PRR/Tapestry Level 3 Level 2 Level 1 Two object types: red and blue, so two trees
Neighbor Table For “5471” (Octal) NodeID 5416 NodeID 5455 5470 540x 50xx 0xxx 5471 541x 51xx 1xxx 5472 542x 52xx 2xxx 3 3 5473 543x 53xx 3xxx Ø 544x 54xx 4xxx 3 5475 545x 55xx 5xxx NodeID 5432 NodeID 5471 2 Ø 546x 56xx 6xxx 5477 547x 57xx 7xxx 4 4 3 2 1 2 Routing Levels 2 NodeID 5470 NodeID 5061 Balancing Load 1 NodeID 5123
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 logb n) • Every node at every level stores b parents We want the links to be of geometrically increasing length
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
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) A B
Node Join in Practice 150 128 203 ~210 Constant churn largegroup join killnodes RouteToID operations on 40 node cluster Churn: nodes join/leave every 10 seconds, average lifetime = 2mins
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
3r r 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
new Algorithm Idea, in pictures
3r 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
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 3r r log n per level & log n levels, so total is O(log2 n)
Summary In growth-restricted networks (with no additional space!): Theorem 2 [HKRZ02] Can find nearest neighbor with high probability with O(log2 n) messages Theorem 3[HKMR04]Can find nearest neighbor, and messages is O(log n) with high probability + more dynamic, low-stretch network
Outline • Low stretch dynamic peer-to-peer network • Tolerate failures in network • Adapting to network variation • Related results • Future work
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 4In growth restricted spaces, can make probability of failed route less than 1/nc for width O(clog n) Hildrum & Kubiatowicz, DISC02
Outline • Low stretch dynamic peer-to-peer network • Tolerate failures in network • Adapting to Network Variation • Related results • Future work
Network not homogeneous Previous schemes assumed global growth rate. But what if there isn’t one? Nebraska San Francisco Paris
3r r 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
Summary • Previous approaches assumed a global c • Had to know cin advance of construction Hildrum, Krauthgamer & Kubiatowicz [SPAA04]: Dynamic, locally optimal low-stretch network
Outline • Low stretch dynamic peer-to-peer network • Tolerate failures in network • Adapting to network variation • Related results • Future work
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…
Summary • Räcke02 showed scheme exists O(log3 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(log2 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:
Outline • Low stretch dynamic peer-to-peer network • Tolerate failures in network • Adapting to network variation • Related results • Future work
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