460 likes | 641 Views
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. Outline. Introduction Research Motivation
E N D
Meridian: A Lightweight Network Location Service without Virtual Coordinates Bernard Wong, Aleksandrs Slivkins, Emin Gun SirerSIGCOMM’05(Slides revised from the Authors’ slides) Presented by Xiaojun Hei EL933
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
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
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
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 predict actual distances (x2,y2,z2) y (x1,y1,z1) x z (x4,y4,z4) (x3,y3,z3) EL933
(x2,y2) y L2 (x1,y1) L1 L1 x L3 L2 L3 (x3,y3) • Small number of distributed hosts called Landmarks measure inter-Landmark distances Landmark Operations • Compute Landmark coordinates by minimizing the overall discrepancy between measured distances and computed distances Internet EL933
(x4,y4) Ordinary Host Operations (x2,y2) y L2 • Each ordinary host measures its distances to the Landmarks, Landmarks just reflect pings (x1,y1) L1 L1 L3 x Internet L2 L3 (x3,y3) • Ordinary host computes its own coordinates relative to the Landmarks by minimizing the overall discrepancy between measured distances and computed distances EL933
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
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
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
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
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
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
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
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
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
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
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
Applications of Meridian • Closest Node Discovery • Central Leader Election • Node selection with multi-constraints EL933
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
Closest Node Discovery A EL933
Closest Node Discovery A EL933
Closest Node Discovery A EL933
Closest Node Discovery A EL933
Closest Node Discovery A EL933
Closest Node Discovery A EL933
Closest Node Discovery A EL933
Closest Node Discovery A B EL933
Closest Node Discovery A B EL933
Closest Node Discovery A B EL933
Closest Node Discovery A B EL933
Closest Node Discovery A B EL933
Closest Node Discovery A B EL933
Closest Node Discovery A B EL933
Closest Node Discovery A C B EL933
Closest Node Discovery A C B EL933
Closest Node Discovery A C B EL933
Closest Node Discovery A C B EL933
Closest Node Discovery A C B EL933
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
Evaluation: Closest Node Discovery • Meridian has an order of magnitude less error than GNP and Vivaldi EL933
Evaluation: Closest Node Discovery • CDF of relative error shows Meridian is more accurate for both typical nodes and fringe nodes EL933
Effect of nodes/ring k • A modest number of nodes per ring achieves low error EL933
Effect of β • An increase β in significantly improves accuracy for β<0.5 EL933
Scalability Evaluation EL933
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