vivaldi coordinate service justin ma, patrick verkaik, michael vrable department of computer science...

Post on 30-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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/

top related