EL9331 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
EL9332 Outline r Introduction m Research Motivation m Virtual Coordinates vs. Meridian using Query routing r Meridian Overview r Applications of Meridian m Closest Node Discovery m Central Leader Election m Node selection with multi-constraints r Performance Evaluation r Conclusion Remarks
EL9333 Network Location Service r Selecting nodes based on network location (defined by RTTs) is a basic building block for distributed systems r Three categories of network location problems m Finding the closest node to one target node Locate the closet web mirror site Locate the closet game server for one player m 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 m Finding a node that is < r i ms from target t i 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
EL9334 Related Work: Virtual Coordinates r Maps high-dimensional network measurements into a location in a smaller Euclidean space m GNP, Vivaldi, Lighthouse, ICS, VL, BBS, PIC, NPS, etc. r The authors claimed three problems of the Coordinate approach m Inherent coordinate embedding error (Agree) m 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 m Requires additional P2P substrate to solve network (???) location problems without centralized servers or O(N) state with a centralized server
EL9335 Global Network Positioning (GNP) r Model the Internet as a geometric space (e.g. 3-D Euclidean) r Characterize the position of any end host with coordinates r Use computed distances to predict actual distances y (x 2,y 2,z 2 ) x z (x 1,y 1,z 1 ) (x 3,y 3,z 3 ) (x 4,y 4,z 4 )
EL9336 Landmark Operations r Compute Landmark coordinates by minimizing the overall discrepancy between measured distances and computed distances y x Internet (x 2,y 2 ) (x 1,y 1 ) (x 3,y 3 ) L1L1 L2L2 L3L3 L1L1 L2L2 L3L3 r Small number of distributed hosts called Landmarks measure inter-Landmark distances
EL9337 Ordinary Host Operations r Each ordinary host measures its distances to the Landmarks, Landmarks just reflect pings x Internet (x 2,y 2 ) (x 1,y 1 ) (x 3,y 3 ) (x 4,y 4 ) L1L1 L2L2 L3L3 y L2L2 L1L1 L3L3 r Ordinary host computes its own coordinates relative to the Landmarks by minimizing the overall discrepancy between measured distances and computed distances
EL9338 Meridian Contributions r Lightweight, scalable and accurate system for keeping track of location-information of Meridian nodes r Theoretical analysis shows that Meridian provides robust performance, high scalability and good load balance. r Comprehensive evaluation based on both simulations parameterized with RTTs from a large scale network measurements and a PlanetLab deployment
EL9339 Meridian Overview r Lightweight framework for direct node selection without computing coordinates m Combine querying routing with active measurement m Each query-hop brings the query exponentially closer to the destination r Design goals: m Accurate: Find satisfying nodes with high probability m General: User can fully express their network location requirements m Scalable: O(logN) state per node, O(logN) hops per query r Target node need not be part of Meridian overlay; however, the selected node must be part of the overlay m Only latency to target is needed
EL93310 Meridian Framework r Construct loosely structured Meridian overlay using multi-resolution rings m Peers are placed into small fixed number of concentric, non-overlapped rings r Overlay Management for Ring Membership m Number of nodes per ring, k m Achieve geographic diversity by ring member replacement r Gossip based node discovery m Each node discovers new nodes m Bootstrap for new joining Meridian node
EL93311 Multi-resolution Rings r Set of concentric, non- overlapping rings m Exponentially increasing radii r Node placement m Node A measures the distance to a peer, and places this peer in an appropriate ring of node A m At most k nodes in each ring m Favor nearby neighbor nodes m Retains a sufficient number of pointers to remote regions
EL93312 Multi-resolution Rings r Set of concentric, non- overlapping rings m Exponentially increasing radii r Node placement m Node A measures the distance to a peer, and places this peer in an appropriate ring of node A m At most k nodes in each ring m Favor nearby neighbor nodes m Retains a sufficient number of pointers to remote regions
EL93313 Multi-resolution Rings r Set of concentric, non- overlapping rings m Exponentially increasing radii r Node placement m Node A measures the distance to a peer, and places this peer in an appropriate ring of node A m At most k nodes in each ring m Favor nearby neighbor nodes m Retains a sufficient number of pointers to remote regions
EL93314 Multi-resolution Rings r Set of concentric, non- overlapping rings m Exponentially increasing radii r Node placement m Node A measures the distance to a peer, and places this peer in an appropriate ring of node A m At most k nodes in each ring m Favor nearby neighbor nodes m Retains a sufficient number of pointers to remote regions
EL93315 Ring Membership Management r The # of nodes per ring, k m Tradeoff between accuracy and overhead m Proper selection is needed r Periodically reassess ring membership decisions to provide greater diversity -> incur additional overhead m k primary ring members and l secondary ring members Geographically distributed ring members provides more “ utility ” than clustered ones for reaching remote nodes
EL93316 Ring Membership Management (cont ’ ) r To improve the g eographic diversity of nodes within each ring using hypervolume computation Geographic diversity m Hypervolume of the k-polytope formed by the selected nodes r Each node should have a local, non-exported coordinate Coordinates : tuple, d i i =0 r Use greedy algorithm m A node starts out with the k+l polytope m Iteratively drops the vertex whose absent leads to the smallest reduction in hypervolume until k vertices remain
EL93317 Gossip Based Node Discovery r Goal of gossip protocol m For each node, to discover and maintain a sufficiently diverse set of nodes in the network r Node discovery algorithm m 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 m 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 m 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
EL93318 Gossip Based Node Discovery (Cont ’ ) r Re-ringing ensures that stale latency information is updated Newly discovered nodes are placed on B ’ s rings as secondary members r The newly joining node contacts a Meridian node and acquires its entire list of ring members m Places them on its own rings
EL93319 Applications of Meridian r Closest Node Discovery r Central Leader Election r Node selection with multi-constraints
EL93320 Closest Node Discovery Client sends a “ closest node discovery to target T ” request to a Meridian node A r Node A determines its latency d to T r Node A probes its ring members between (1-β)d and (1+β)d to determine their distances to the target r The request is forwarded to the closest node thus discovered that is at least β times closer to the target than A r Process continues until no node that is β times closer can be found
EL93321 Closest Node Discovery A
EL93322 Closest Node Discovery A
EL93323 Closest Node Discovery A
EL93324 Closest Node Discovery A
EL93325 Closest Node Discovery A
EL93326 Closest Node Discovery A
EL93327 Closest Node Discovery A
EL93328 Closest Node Discovery A B
EL93329 Closest Node Discovery A B
EL93330 Closest Node Discovery A B
EL93331 Closest Node Discovery A B
EL93332 Closest Node Discovery A B
EL93333 Closest Node Discovery A B
EL93334 Closest Node Discovery A B
EL93335 Closest Node Discovery A B C
EL93336 Closest Node Discovery A B C
EL93337 Closest Node Discovery A B C
EL93338 Closest Node Discovery A B C
EL93339 Closest Node Discovery A B C
EL93340 Performance Evaluation r Evaluation via a large scale simulation and a PlanetLab deployment r Simulation parameterized by real latency measurements m 2500 DNS servers, latency between 6.25 million node pairs using the King measurement technique m DNS servers are authorities name servers for domains found in the Yahoo web directory r Network size up to 2000 nodes m 500 nodes reserved as targets m K=16 nodes per ring, 9 rings per node, s=2, probing packet size of 50 bytes, β=0.5 a=1ms m 4 runs in total. Each run has queries.
EL93341 Evaluation: Closest Node Discovery r Meridian has an order of magnitude less error than GNP and Vivaldi
EL93342 Evaluation: Closest Node Discovery r CDF of relative error shows Meridian is more accurate for both typical nodes and fringe nodes
EL93343 Effect of nodes/ring k r A modest number of nodes per ring achieves low error
EL93344 Effect of β r An increase β in significantly improves accuracy for β<0.5
EL93345 Scalability Evaluation
EL93346 Conclusion r A lightweight accurate system for node selection m Well designed Meridian overlay management protocols m Combine query routing with active measurement m An order of magnitude less error than virtual coordinates r Theoretical analysis on performance bound of the Meridian system (not covered in the presentation)