slides in ppt

advertisement
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
Download