Meridian: A Lightweight Network Location Service without Virtual Coordinates Bernard Wong, Aleksandrs Slivkins, Emin Gun Sirer SIGCOMM’05 (Slides revised from the Authors’ slides) Presented by Xiaojun Hei EL933 1 Outline Introduction Research Motivation Virtual Coordinates vs. Meridian using Query routing Meridian Overview Applications of Meridian Closest Node Discovery Central Leader Election Node selection with multi-constraints Performance Evaluation Conclusion Remarks EL933 2 Network Location Service Selecting nodes based on network location (defined by RTTs) is a basic building block for distributed systems Three categories of network location problems Finding the closest node to one target node • Locate the closet web mirror site • Locate the closet game server for one player Finding the closest node to the center of a set of nodes • Perform efficient application level multicast • Find an appropriate relay node between two hosts Finding a node that is < ri ms from target ti for all targets • ISP find a server that satisfies a Service Level Agreement with a client • Grid users can find a set of nodes with a bounded inter-node latency EL933 3 Related Work: Virtual Coordinates Maps high-dimensional network measurements into a location in a smaller Euclidean space GNP, Vivaldi, Lighthouse, ICS, VL, BBS, PIC, NPS, etc. The authors claimed three problems of the Coordinate approach Inherent coordinate embedding error (Agree) A snapshot in time of the network location of a node (???) • Coordinates become stale over time • Latency estimates based on coordinates computed at different times can lead to additional errors Requires additional P2P substrate to solve network (???) location problems without centralized servers or O(N) state with a centralized server EL933 4 Global Network Positioning (GNP) Model the Internet as a geometric space (e.g. 3-D Euclidean) Characterize the position of any end host with coordinates Use computed distances to (x2,y2,z2) y predict actual distances (x1,y1,z1) x z (x3,y3,z3) (x4,y4,z4) EL933 5 Landmark Operations (x2,y2) y L2 (x1,y1) L1 L1 L3 L2 x Internet (x3,y3) L3 Small number of distributed hosts called Landmarks measure inter-Landmark distances Compute Landmark coordinates by minimizing the overall discrepancy between measured distances and computed distances EL933 6 Ordinary Host Operations (x2,y2) y L2 (x1,y1) L1 L1 L3 L2 x Internet (x3,y3) L3 (x4,y4) Each ordinary host measures its distances to the Landmarks, Landmarks just reflect pings Ordinary host computes its own coordinates relative to the Landmarks by minimizing the overall discrepancy between measured distances and computed distances EL933 7 Meridian Contributions Lightweight, scalable and accurate system for keeping track of location-information of Meridian nodes Theoretical analysis shows that Meridian provides robust performance, high scalability and good load balance. Comprehensive evaluation based on both simulations parameterized with RTTs from a large scale network measurements and a PlanetLab deployment EL933 8 Meridian Overview Lightweight framework for direct node selection without computing coordinates Combine querying routing with active measurement Each query-hop brings the query exponentially closer to the destination Design goals: Accurate: Find satisfying nodes with high probability General: User can fully express their network location requirements Scalable: O(logN) state per node, O(logN) hops per query Target node need not be part of Meridian overlay; however, the selected node must be part of the overlay Only latency to target is needed EL933 9 Meridian Framework Construct loosely structured Meridian overlay using multi-resolution rings Peers are placed into small fixed number of concentric, non-overlapped rings Overlay Management for Ring Membership Number of nodes per ring, k Achieve geographic diversity by ring member replacement Gossip based node discovery Each node discovers new nodes Bootstrap for new joining Meridian node EL933 10 Multi-resolution Rings Set of concentric, non- overlapping rings Exponentially increasing radii Node placement Node A measures the distance to a peer, and places this peer in an appropriate ring of node A At most k nodes in each ring Favor nearby neighbor nodes Retains a sufficient number of pointers to remote regions EL933 11 Multi-resolution Rings Set of concentric, non- overlapping rings Exponentially increasing radii Node placement Node A measures the distance to a peer, and places this peer in an appropriate ring of node A At most k nodes in each ring Favor nearby neighbor nodes Retains a sufficient number of pointers to remote regions EL933 12 Multi-resolution Rings Set of concentric, non- overlapping rings Exponentially increasing radii Node placement Node A measures the distance to a peer, and places this peer in an appropriate ring of node A At most k nodes in each ring Favor nearby neighbor nodes Retains a sufficient number of pointers to remote regions EL933 13 Multi-resolution Rings Set of concentric, non- overlapping rings Exponentially increasing radii Node placement Node A measures the distance to a peer, and places this peer in an appropriate ring of node A At most k nodes in each ring Favor nearby neighbor nodes Retains a sufficient number of pointers to remote regions EL933 14 Ring Membership Management The # of nodes per ring, k Tradeoff between accuracy and overhead Proper selection is needed Periodically reassess ring membership decisions to provide greater diversity -> incur additional overhead k primary ring members and l secondary ring members Geographically distributed ring members provides more “utility” than clustered ones for reaching remote nodes EL933 15 Ring Membership Management (cont’) To improve the geographic diversity of nodes within each ring using hypervolume computation Geographic diversity Hypervolume of the k-polytope formed by the selected nodes Each node should have a local, non-exported coordinate Coordinates : tuple <di1, di2, di3,…,dik+l>, dii=0 Use greedy algorithm A node starts out with the k+l polytope Iteratively drops the vertex whose absent leads to the smallest reduction in hypervolume until k vertices remain EL933 16 Gossip Based Node Discovery Goal of gossip protocol For each node, to discover and maintain a sufficiently diverse set of nodes in the network Node discovery algorithm Each node A randomly picks a node B from each of its rings and sends a gossip packet to B containing a randomly chosen node from rings On receiving the packet, node B determines through direct probes its latency to A and to each of the nodes contained in the gossip packet After sending a gossip packet to a node in each of rings, node A wait until the start of its next gossip period and then begins again EL933 17 Gossip Based Node Discovery (Cont’) Re-ringing ensures that stale latency information is updated Newly discovered nodes are placed on B’s rings as secondary members The newly joining node contacts a Meridian node and acquires its entire list of ring members Places them on its own rings EL933 18 Applications of Meridian Closest Node Discovery Central Leader Election Node selection with multi-constraints EL933 19 Closest Node Discovery Client sends a “closest node discovery to target T” request to a Meridian node A Node A determines its latency d to T Node A probes its ring members between (1-β)d and (1+β)d to determine their distances to the target The request is forwarded to the closest node thus discovered that is at least β times closer to the target than A Process continues until no node that is β times closer can be found EL933 20 Closest Node Discovery A EL933 21 Closest Node Discovery A EL933 22 Closest Node Discovery A EL933 23 Closest Node Discovery A EL933 24 Closest Node Discovery A EL933 25 Closest Node Discovery A EL933 26 Closest Node Discovery A EL933 27 Closest Node Discovery A B EL933 28 Closest Node Discovery A B EL933 29 Closest Node Discovery A B EL933 30 Closest Node Discovery A B EL933 31 Closest Node Discovery A B EL933 32 Closest Node Discovery A B EL933 33 Closest Node Discovery A B EL933 34 Closest Node Discovery A B C EL933 35 Closest Node Discovery A B C EL933 36 Closest Node Discovery A B C EL933 37 Closest Node Discovery A B C EL933 38 Closest Node Discovery A B C EL933 39 Performance Evaluation Evaluation via a large scale simulation and a PlanetLab deployment Simulation parameterized by real latency measurements 2500 DNS servers, latency between 6.25 million node pairs using the King measurement technique DNS servers are authorities name servers for domains found in the Yahoo web directory Network size up to 2000 nodes 500 nodes reserved as targets K=16 nodes per ring, 9 rings per node, s=2, probing packet size of 50 bytes, β=0.5 a=1ms 4 runs in total. Each run has 25000 queries. EL933 40 Evaluation: Closest Node Discovery Meridian has an order of magnitude less error than GNP and Vivaldi EL933 41 Evaluation: Closest Node Discovery CDF of relative error shows Meridian is more accurate for both typical nodes and fringe nodes EL933 42 Effect of nodes/ring k A modest number of nodes per ring achieves low error EL933 43 Effect of β An increase β in significantly improves accuracy for β<0.5 EL933 44 Scalability Evaluation EL933 45 Conclusion A lightweight accurate system for node selection Well designed Meridian overlay management protocols Combine query routing with active measurement An order of magnitude less error than virtual coordinates Theoretical analysis on performance bound of the Meridian system (not covered in the presentation) EL933 46