Compact Name-Independent Routing with Minimum Stretch

Slides:



Advertisements
Similar presentations
Distance and Routing Labeling Schemes in Graphs
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Compact Routing in Theory and Practice Lenore J. Cowen Tufts University.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Compact and Low Delay Routing Labeling Scheme for Unit Disk Graphs Chenyu Yan, Yang Xiang, and Feodor F. Dragan (WADS 2009) Kent State University, Kent,
1 K-clustering in Wireless Ad Hoc Networks Fernandess and Malkhi Hebrew University of Jerusalem Presented by: Ashish Deopura.
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.
Routing, Anycast, and Multicast for Mesh and Sensor Networks Roland Flury Roger Wattenhofer RAM Distributed Computing Group.
Building MST with Õ(n) bits of communication in a Distributed Network Building MST with Õ(n) bits of communication in a Distributed Network 1 Valerie King,
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
A Scalable and Load-Balanced Lookup Protocol for High Performance Peer-to-Peer Distributed System Jerry Chou and Tai-Yi Huang Embedded & Operating System.
1 Approximate Distance Oracles Mikkel Thorup AT&T Research Uri Zwick Tel Aviv University.
Compact Routing Schemes Mikkel Thorup Uri Zwick AT&T Labs – Research Tel Aviv University.
SCALLOP A Scalable and Load-Balanced Peer- to-Peer Lookup Protocol for High- Performance Distributed System Jerry Chou, Tai-Yi Huang & Kuang-Li Huang Embedded.
Compact Routing and Locality in Peer-to-Peer Systems Ittai Abraham School of Computer Science and Engineering Hebrew University of Jerusalem.
1 Load Balance and Efficient Hierarchical Data-Centric Storage in Sensor Networks Yao Zhao, List Lab, Northwestern Univ Yan Chen, List Lab, Northwestern.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Distributed MST for Constant Diameter Graphs Zvi Lotker & Boaz Patt-Shamir & David Peleg.
Locality Aware Network Solutions Dahlia Malkhi The Hebrew University of Jerusalem.
1 Load Balance and Efficient Hierarchical Data-Centric Storage in Sensor Networks Yao Zhao, List Lab, Northwestern Univ Yan Chen, List Lab, Northwestern.
Greedy Routing with Bounded Stretch Roland Flury, Roger Wattenhofer (ETH Zurich), Sriram Pemmaraju (Iowa University) Published at IEEE Infocom 2009 Introduction.
Connected Dominating Sets in Wireless Networks My T. Thai Dept of Comp & Info Sci & Engineering University of Florida June 20, 2006.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Introduction to compact routing Dmitri Krioukov UCSD/CAIDA IDRWS 2004.
Towards Efficient Load Balancing in Structured P2P Systems Yingwu Zhu, Yiming Hu University of Cincinnati.
1 Plaxton Routing. 2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that.
Improved Sparse Covers for Graphs Excluding a Fixed Minor Ryan LaFortune (RPI), Costas Busch (LSU), and Srikanta Tirthapura (ISU)
Hot Topics in Peer-to-Peer Computing (HOT-P2P 2004) Volendam 08 October 2004 Non-uniform deterministic routing on F-Chord(  ) Gennaro Cordasco, Luisa.
Distributed Algorithms Rajmohan Rajaraman Northeastern University, Boston May 2012 Chennai Network Optimization WorkshopDistributed Algorithms1.
1 Some Results in Interval Routing Francis C.M. Lau HKU and ITCS Tsinghua December 2, 2007.
Approximate Distance Oracles Mikkel Thorup and Uri Zwick Presented By Shiri Chechik.
Efficient Labeling Scheme for Scale-Free Networks The scheme in detailsPerformance of the scheme First we fix the number of hubs (to O(log(N))) and show.
Locality Aware Network Solutions Dahlia Malkhi The Hebrew University of Jerusalem.
Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS LRI, Univ. Paris Sud Joint work with Philippe Gauron.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Dynamic Networks for Peer-to-Peer Systems Pierre Fraigniaud CNRS Lab. de Recherche en Informatique (LRI) Univ. Paris-Sud, Orsay Joint work with Philippe.
A randomized linear time algorithm for graph spanners Surender Baswana Postdoctoral Researcher Max Planck Institute for Computer Science Saarbruecken,
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
1 Plaxton Routing. 2 History Greg Plaxton, Rajmohan Rajaraman, Andrea Richa. Accessing nearby copies of replicated objects, SPAA 1997 Used in several.
ETH Zurich – Distributed Computing Group Stephan HolzerSODA Stephan Holzer Silvio Frischknecht Roger Wattenhofer Networks Cannot Compute Their Diameter.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Christian Schindelhauer Algorithms for Radio Networks Winter Term 2005/2006.
Succinct Routing Tables for Planar Graphs Compact Routing for Graphs Excluding a Fixed Minor Ittai Abraham (Hebrew Univ. of Jerusalem) Cyril Gavoille (LaBRI,
Peer-to-Peer Networks 07 Degree Optimal Networks
Forbidden-Set Distance Labels for Graphs of Bounded Doubling Dimension
Distributed Hash Tables
A Study of Group-Tree Matching in Large Scale Group Communications
Improved Randomized Algorithms for Path Problems in Graphs
Labeling Schemes with Forbidden-Sets
Know thy Neighbor’s Neighbor Better Routing for Skip Graphs and Small Worlds Moni Naor Udi Wieder.
Plethora: Infrastructure and System Design
Accessing nearby copies of replicated objects
SKIP GRAPHS James Aspnes Gauri Shah SODA 2003.
Greedy Routing with Bounded Stretch
Mayank Bhatt, Jayasi Mehar
Randomized Algorithms CS648
Koorde: A simple degree optimal DHT
Distance and Routing Labeling Schemes in Graphs
Connected Dominating Sets
CS60002: Distributed Systems
Introduction Wireless Ad-Hoc Network
Hierarchical Routing Scheme
Compact Routing Schemes
Approximate Distance Oracles
Deterministic and Semantically Organized Network Topology
Compact routing schemes with improved stretch
Applications (2) Outline Overlay Networks Peer-to-Peer Networks.
Routing in Networks with Low Doubling Dimension
Forbidden-set labelling in graphs
Presentation transcript:

Compact Name-Independent Routing with Minimum Stretch Ittai Abraham (HUJI) Cyril Gavoille (LABRI) Dahlia Malkhi (HUJI) Noam Nisan (HUJI) Mikkel Thorup (ATT)

Internet Activity After 1992 – Dominated by the web browser Client Server paradigm Clients are Lightweight and Transient Low bandwidth, computational power and storage requirements Most servers are relatively simple and static (HTTP) Distributed Computing community mostly focused on robustifying servers for load balancing and high availability, targeting mostly at clusters of dozens of servers at the most How will Internet Activity look like in the future ?

Tomorrow’s Internet ? Internet peers will be stateful and will have a persistent connection Have high bandwidth, computational power and storage capabilities Peers are capable of acting both as a server and as a client Will have an active network presence Symmetric, decentralized, self organizing paradigm

Peer-to-peer Systems Group of peers wish to maintain a shared information data structure Complications Large group Enormous amounts of information Group is spatially distributed Dynamically changing Heterogeneous Selfish/faulty/malicious participants Challenge: provide efficient access to the shared information data structure

Distributed Hash Tables A universe U of object ids. A hash function h maps U into a smaller set S spreading ids without many collisions A set V of nodes that forms a distributed system The set S is partitioned in to |V| parts, and each node in V maintains its relevant part of the hash table Basic operations are lookup and store: Given an object id A, find the hash value h(A), route to the node that maintains the key h(A), and read/write the object A

DHT Lookup Example Hash function h(x) = x mod 1009 For this example each node with id i maintains all the objects whose has hash value is in [1009*i/6,1009*(i+1)/6) 5 6 Hash value is 1, so need to route to node with id 0 3 2 Node 2 wants to find the value of the object with id 1009001 4 1

Traditional Complexity Measures of Distributed Hash Tables Degree (local memory) of the overlay network O(1), O(logk n), O(n1/k) Number of hops from source node to target node O(log n), O(log n/loglog n), O(1) But counting hops does not take into account a weighted communication network

Locality Awareness x t s

Compact Low Stretch Routing Peers communicate through a weighted network G=<V,E,ω> Devise a distributed routing scheme such that: a node that knows the label of a target node can send a message that will be routed to the target node Main complexity measures: Stretch: the maximal ratio over all pairs of dRS(s,t)/d(s,t) Memory: the number of bits stored in each node.

Routing on a Weighted Graph Lower bounds: Stretch < 3 requires Ω(n) bits per node [Gavoille & Gengler 01] Stretch < 5 requires Ω (√n) bits per node [Thorup & Zwick 01] Stretch < 2k-1 requires Ω (n1/k) bits per node [Thorup & Zwick 01] Under the Erdosh conjecture Two main variants: Labeled routing: designer can choose the labels of nodes Name Independent routing: node labels are given by an adversary Labeled routing: Stretch 3 with Õ(n2/3) bits [Cowen 99] Stretch 3 with Õ(√n) bits [Thorup & Zwick 01] Stretch 4k-1 with Õ(n1/k) bits [Thorup & Zwick 01]

Name Independent Routing Awerbuch, Bar-Noy, Linial & Peleg 89 With Õ(n1/k) bits – stretch O(k29k) With Õ(n2/3) bits – stretch 468 With Õ(√n) bits – stretch 2593 Awerbuch & Peleg 90 (Sparse Partitions) For diameters that are polynomial in n With Õ(n1/k) bits – stretch O(k2) With Õ(n2/3) bits – stretch 624 With Õ(√n) bits – stretch 1088 Arias, Cowen, Laing, Rajaraman & Taka 03 With Õ(√n) bits – stretch 5

Compact Name-Independent Routing with Minimum Stretch Optimal stretch 3 with Õ(√n) bits Construction in polynomial time Routing decisions performed in constant time Surprisingly, with Õ(√n) bits allowing the designer to label the nodes does not improve the stretch factor compared to the task when node labels are predetermined by an adversary.

The Recipe Ingredients Vicinity routing Random coloring to √n colors Hash labels to colors Labeled routing on trees Landmarks Partial shortest path trees

Vicinity Routing Let B(u) denote the (√n log n)-closest nodes to u (ties broken consistently) For all vB(u), node u stores the next hop of a minimum cost path from u to v Simple property [ABLP 89]: If vB(u) and w is on a minimum cost path from u to v, then vB(w) u v w B(u)

Random Coloring to √n Colors Every node u chooses a random color c(u) With high probability Every color set has O(√n) nodes Every node has in its vicinity at least one node from every color set Polynomial number of tests Each test can be done in logspace Derandomization using the pseudo random generator of Nisan

Hash Labels to Colors Label u is hashed to a color h(u){1… √n} At most O(√n log n) hashed to same color Trivial if node labels are a permutation of 1…n Otherwise can collision free hash to n2.5 and then use the techniques of Tarjan and Yao to hash to √n in constant time. Can be deradomized similarly to deterministic dictionaries of Hagerup, Milerstein, & Pagh

Labeled Routing on Trees Based on DFS Interval Routing, improved by Frainiaud & Gavoille 01 and Thorup & Zwick 01 Storage O(log n) bits, Label O(log2 n) bits, Stretch 1 A node is heavy if its sub-tree contains more than half of the nodes of its parent’s sub-tree Each node stores its DFS interval and the DFS interval of its heavy child (if it has one) Storage is O(log n) bits A node’s label consists of the names of the non-heavy nodes on the path from the root Labels require O(log2 n) bits Routing to v on node u: If v is not in u’s interval then send to parent If v is in u’s heavy child interval then send to heavy Otherwise u’s label contains the appropriate child

Landmarks Let R(T,v) be the routing information stored at node v for routing on tree T Let T(u) be the minimum cost tree rooted at u One color is designated as special Let L be the set of all nodes l such that c(l)=special color Every node u maintains R(T(l),u) for all lL This requires Õ(√n) bits For node u, let l(u) be a landmark in B(u)

Partial Shortest Path Trees Every node v stores R(T(u),v) for all uB(v) Requires Õ(√n) bits Let L(T,u) be the label of u on tree T Simple property: If xB(y) then given L(T(x),y), node x can route to node y along a minimum cost path x w y B(y)

Case 1: Inside B(u) Use vicinity routing u v

Case 2: B(u) and B(v) are close Any node on any minimal path from u to v is either in B(u) or in B(v) Vicinity route to wB(u) s.t. c(w)=h(v) Node w stores L(T(w),u),x,(xy),L(T(y),v) Partial tree route to u on T(w) Vicinity routing to y Partial tree route to v on T(y) u x y v w

Case 3: B(u) and B(v) are far Any minimal path from u to v contains a node that is not in B(u) or in B(v) Vicinity route to wB(u) s.t. c(w)=h(v) Node w stores L(T(l(v)),l(v)) and L(T(l(v)),v) Tree route on T(l(v)) to l(v) and then to v u w l(v) v b(u)+d(w,l)+b(v) <= b(u)+b(u)+d(u,v)+b(v)+b(v) <= 3 d(u,v)

Storage on node u Routing information and colors in B(u) [Vicinity] R(T(l),u) for all lL [Landmarks] R(T(v),u) for all vB(u) [Partial Trees] For all v such that c(u)=h(v) minimum of Path to l(v) and then to v. Store <L(T(l(v)), l(v)) , L(T(l(v)), v)> Let P(u,w,v) be a path from u to v composed of an MCP from u to w, and of an MCP from w to v, such that: u \in B(w), there exists an edge (x  y) along the minimum path from w to v such that x  B(w) and y  B(v) Among all the these paths choose the lowest cost path P(u,w,v) and store <L(T(u), w), x, (x  y), L(T(y),v)>

Routing from u to v If vB(u) use vicinity routing If vL use tree routing on T(v) Otherwise vicinity route to wB(u) such that c(w)=h(v) Node w stores either <R(T(l(v)), l(v)) , R(T(l(v)), v)>, and routing proceeds to l(v) and then to v <R(T(u), w), x, (x  y), R(T(y),v)>, and routing proceeds to w then x to y and finally to v

Questions

Thank you