26
Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Vivaldi Coordinate Service

Justin Ma, Patrick Verkaik, Michael VrableDepartment of Computer Science And Engineering

UCSD

CSE222A, Winter 2005

Page 2: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department 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

Page 3: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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)

Page 4: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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

Page 5: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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

Page 6: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Outline

● Vivaldi Coordinate Service● Simulation Results● VCS Deployment● Demonstration

Page 7: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

VCS Overview

● Service for querying network coordinates of hosts

● Platform for verifying effectiveness of Vivaldi

Where is Y? Landmarks

Page 8: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Landmark Protocol

● Role of landmarks is to service queries● Maintains accurate coordinates among

landmarks

Page 9: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Query Protocol

● Querying non-landmark node

Calc Y's coordinates

Y

Page 10: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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

Page 11: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation Dataset

● PlanetLab all-pair ping● 11-24 January, 2005● 15 minute averages● 166 nodes

Page 12: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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

Page 13: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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

Page 14: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation: All-Pair Landmark Protocol

● 50% node pairs have < 9% average error● 80% of node pairs have < 30% average

error

Page 15: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation: All-Pair Landmark Protocol

● Error decreases with time

Page 16: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Sim: Random-10% Landmark Protocol

● After a half day: random-10% similar to all-pair

Page 17: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation: Query Protocol

Calc Y's coordinates

Y

Page 18: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation: Query ProtocolThe DOS approach 3 least-error

Uses landmarks with lowest Vivaldi error

Uses all landmarks

Page 19: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation: Query Protocol

Not bad:● Few probes

needed● Few probers

needed

Page 20: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Simulation: Query Protocol

Can do better:● Two least-error

nodes were close together

● => Pick better probers

Page 21: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Live Deployment

● PlanetLab (roughly 15 nodes are landmarks)

● Landmarks implemented in Python● Landmark software deployed using

PLuSH

Page 22: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Live Deployment: Landmark Protocol

Current deployment uses:● Changing set of 6 nodes (40% of total)● Half nearby nodes● Half random (distant)

Page 23: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Live Deployment: Query Protocol

Current deployment uses:● 3 least-error nodes

Page 24: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

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

Page 25: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Conclusion

● Simulations show the potential of Vivaldi and a lightweight coordinate service

● Constructed Vivaldi Coordinate Service using guidance from simulations

Page 26: Vivaldi Coordinate Service Justin Ma, Patrick Verkaik, Michael Vrable Department of Computer Science And Engineering UCSD CSE222A, Winter 2005

Demonstration

3 Interfaces:● Text-based UDP query interface (netcat)● PlanetLab Sensor http://ironic.ucsd.edu/● Animation Webpage

http://ironic.ucsd.edu/vivaldi/