Title: Vivaldi: A Decentralized Network Coordinate System
1Vivaldi A Decentralized Network Coordinate
System
- Authors
- Frank Dabek, Russ Cox, Frans Kaashoek, Robert
Morris - MIT
- Published at SIGCOMM 04
2Introduction
- Vivaldi is a simple, adaptive, distributed
algorithm for computing network coordinates that
accurately predict Internet latencies without
requiring any fixed infrastructure - Internet Hosts compute their coordinates in some
coordinate space such that the distance between
themselves and other hosts coordinates predicts
the RTT between them without sending probing
packets just for measuring latencies
3Algorithm
- Use synthetic distance between nodes to
accurately map to latencies (RTT) between nodes. - Can not create an exact mapping due to violations
of triangle inequality
A lt B C
4Algorithm
- Use synthetic distance between nodes to
accurately map to latencies (RTT) between nodes. - Can not create an exact mapping due to violations
of triangle inequality
100 ms
N1
N3
48 ms
48 ms
N2
100 lt 48 48 100 lt 96
5Algorithm
- Use synthetic distance between nodes to
accurately map to latencies (RTT) between nodes. - Can not create an exact mapping due to
violations of triangle inequality - Tries to minimize the error of predicted RTT
values - Observation
- Minimizing the square error function of
predicted RTT between two nodes is analogous to
minimizing the energy in a mass-spring system
Where Lij Actual Measure RTT between Node j
and Node j xi Synthetic coordinates of Node
i xj Synthetic coordinates of Node j
6Algorithm
100
N1
N2
7Algorithm
150
N1
N2
F12 100 150 F12 -50
8Algorithm
100
N1
N2
F12 100 100 F12 0
9Algorithm
100
100
N1
N2
N3
10Algorithm
100
150
N3
N2
N2
F32 100 150 F32 50
F12 0
System Error F122 F322 0 502 2500
11Algorithm
150
100
N1
N2
N3
F12 100 150 F12 -50
F32 0
System Error F122 F322 502 0 2500
12Algorithm
125
125
N3
N1
N2
F32 100 125 F32 25
F12 100 125 F12 25
System Error F122 F322 252 252 1300
13Centralized version
- Calculate net Force on node i
- Move a step in the direction of the net Force
14d setting
- Sampling inaccurate node will not significantly
affect the movement
15Full Vivaldi Version
Adjust time step
16Impact of Adaptive time stamp
17Evaluation Methodology
- Environment
- Packet-level network simulator using measured RTT
values from the Internet - Latency data
- Matrix of inter-host Internet RTTs
- Compute coordinates from a subset of these RTTs
- Check accuracy of algorithm by comparing
simulated results to full RTT matrix - 2 Data sets (Measured Data)
- 192 nodes Planet Lab network, all pair-ping gives
fully populated matrix - Median RTT 76 ms
- 1740 Internet DNS servers
- Median RTT 159 ms
- populate full matrix using the King method
- Continuously measure pairs over a week take
median (other schemes just keep minim measured
RTT since King can give estimates that are lower
than actual RTT need to take median) - During collection of data need to make sure
unwanted forwarding of name request did not occur
(give RTT for the wrong name server)
18Evaluation Methodology
- 2 Data sets (Synthetically generated Data)
- Grid
- Vivaldi accurately recovers RTT values but
coordinates are translated and rotated from the
original grids coordinates - ITM topology generation
19Using data
- Simulation test setup
- Input RTT matrix
- Send a packet one a second
- Delay by ½ RTT time
- Send RPC packet
- Uses measured RTT of RPC to update coordinates
20Evaluation (Robustness to high error nodes)
- Adding many new nodes that do not know their
coordinates s, so are very uncertain (200 stable,
then 200 new) - Constant delta, already certain node get knock
away from there good coordinates - Adaptive delta, already certain nodes stay stable
while new nodes move relatively quickly to their
correct coordinates
21Evaluation (Communication Patterns)
- In 21 (localization in sensor networks) shown
that sampling only low latency nodes gives good
local coordinates but poor global coordinates. - 400 node sim (set 4 close neighbor, set 4 far
neighbor) chose from far neighbor set is a
probability p. - p .5 quick convergence
- p gt .5 convergence slows
- p lt .5 convergence slows
- no distant communication
22Evaluation (Adapt to network changes)
- Ability to adapt to changes in the network
(tested with Transit-Stub) - extend one stub by 10x
23Evaluation (Accuracy vs. GNP)
24Model Selection
25Critique
- Cool points
- Proposes simple decentralized way for
measuring network latency - Fast convergence
- Bad points
- Limited scope of application area due to its
dependency on traffic pattern - Applications communicating neighbors are less
benefited from Vivaldi - The implication of delta(d) is profound but no
guidance provided - No proposed architecture for managing coordinates
information
26New idea
- Scalable and distributed VC management system
- SPoN control plane?
- Exploits vivaldi scheme in clustering operations
- Cluster member nodes have received VC of other
head nodes - They decide to migrate the cluster by computing
the distance between them and the cluster head
nodes - Exploits the spring-relaxation scheme in
selecting data delivery node and clustering
operatios in SPoN cluster - Construct n dimensional virtual space with data
loss, network bandwidth and latency. - Compute the best VC in terms of the minimization
- Select the real node deployed in that coordinates
or close to it
27 28Evaluation Methodology
29Using data
- Error definitions
- Error of Link
- Absolute difference between predicted RTT
(coordinate math) and measured (RTT Matrix
element) - Error of Node
- Median of link errors involving this node
- Error of System
- Median of all node errors