Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science...
-
date post
30-Jan-2016 -
Category
Documents
-
view
215 -
download
0
Transcript of Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science...
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/