View
215
Download
0
Tags:
Embed Size (px)
Citation preview
Vivaldi Coordinate Service
Justin Ma, Patrick Verkaik, Michael VrableDepartment of Computer Science And Engineering
UCSD
CSE222A, Winter 2005
Network Coordinates● Knowledge of network latencies useful● All-pairs measurement overly expensive● Key idea: embed nodes into a metric
space, where distance corresponds to RTT
0, 0
0, 5 13, 5
Vivaldi Algorithm
● Decentralized algorithm for computing network coordinates
A B
My coordinates:(5, 0)My error:20%
Current Coordinates:(10, 0)Current Error:50%
RTT: 10 ms
(1): Request
(2): Reply
(3): Update Position
(12, 0)
Vivaldi Algorithm (cont.)
● Each node updates position incrementally with each communication
● Modeled as a spring system● Movement governed by error estimate of
each node
Dabek, et al., SIGCOMM '04
Vivaldi Evaluation Shortcomings
● Presented evaluation uses static latency measurements
● Measurement of response to network changes limited
● We need to evaluate this algorithm in a real setting
Outline
● Vivaldi Coordinate Service● Simulation Results● VCS Deployment● Demonstration
VCS Overview
● Service for querying network coordinates of hosts
● Platform for verifying effectiveness of Vivaldi
Where is Y? Landmarks
Landmark Protocol
● Role of landmarks is to service queries● Maintains accurate coordinates among
landmarks
Query Protocol
● Querying non-landmark node
Calc Y's coordinates
Y
Implementation Goals
● How do we make the landmark and query protocols lightweight and accurate?
● Candidate landmark protocol: All landmarks ping each other
● Candidate query protocol: All landmarks ping target
● We conduct simulations to investigate other candidate protocols
Simulation Dataset
● PlanetLab all-pair ping● 11-24 January, 2005● 15 minute averages● 166 nodes
Simulation: Landmark Protocol
Evaluate two communication patterns:● All-pairs
– Every 15 minutes, a landmark pings all other landmarks
● Random fraction– Every 15 minutes, a landmark:
● Selects random 10% of other landmarks● Pings the selected landmarks
Simulation: All-Pair Landmark Protocol
Highly variable, but after 2.5 days (t=240):
– 50% of measurements mostly below 7% error
– 75% of measurements mostly below 20% error
Simulation: All-Pair Landmark Protocol
● 50% node pairs have < 9% average error● 80% of node pairs have < 30% average
error
Simulation: All-Pair Landmark Protocol
● Error decreases with time
Sim: Random-10% Landmark Protocol
● After a half day: random-10% similar to all-pair
Simulation: Query Protocol
Calc Y's coordinates
Y
Simulation: Query ProtocolThe DOS approach 3 least-error
Uses landmarks with lowest Vivaldi error
Uses all landmarks
Simulation: Query Protocol
Not bad:● Few probes
needed● Few probers
needed
Simulation: Query Protocol
Can do better:● Two least-error
nodes were close together
● => Pick better probers
Live Deployment
● PlanetLab (roughly 15 nodes are landmarks)
● Landmarks implemented in Python● Landmark software deployed using
PLuSH
Live Deployment: Landmark Protocol
Current deployment uses:● Changing set of 6 nodes (40% of total)● Half nearby nodes● Half random (distant)
Live Deployment: Query Protocol
Current deployment uses:● 3 least-error nodes
Future Work● Investigate adaptive landmark protocols● More optimal query protocol● Improve Vivaldi Coordinate Service
Implementation● Robustness● Security● Caching● Peer management
● Evaluate filtering of raw ping data
Conclusion
● Simulations show the potential of Vivaldi and a lightweight coordinate service
● Constructed Vivaldi Coordinate Service using guidance from simulations
Demonstration
3 Interfaces:● Text-based UDP query interface (netcat)● PlanetLab Sensor http://ironic.ucsd.edu/● Animation Webpage
http://ironic.ucsd.edu/vivaldi/