network computing laboratory 1 vivaldi: a decentralized network coordinate system authors: frank...
TRANSCRIPT
1Network Computing Laboratory
Vivaldi: A Decentralized Network Coordinate System
Authors:
Frank Dabek, Russ Cox, Frans Kaashoek, Robert Morris
MIT
Published at SIGCOMM ‘04
Network Computing Laboratory | 2
Korea Advanced Institute of Science and Technology
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 host’s coordinates predicts the RTT between them without sending probing packets just for measuring latencies
Introduction
Network Computing Laboratory | 3
Korea Advanced Institute of Science and Technology
Algorithm
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
N1
N2
N3A
B C
|| A || <= || B || + || C||
Network Computing Laboratory | 4
Korea Advanced Institute of Science and Technology
Algorithm
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
N1
N2
N3100 ms
48 ms 48 ms
100 <= 48 + 48100 <= 96
Network Computing Laboratory | 5
Korea Advanced Institute of Science and Technology
Algorithm
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 jxi = Synthetic coordinates of Node ixj = Synthetic coordinates of Node j
i j
jiij x ||xLE 2)
||(
Network Computing Laboratory | 6
Korea Advanced Institute of Science and Technology
Algorithm
N1 N2100
Network Computing Laboratory | 7
Korea Advanced Institute of Science and Technology
Algorithm
N1 N2150
F12 = 100 – 150F12 = -50
Network Computing Laboratory | 8
Korea Advanced Institute of Science and Technology
Algorithm
F12 = 100 – 100F12 = 0
N1 N2100
Network Computing Laboratory | 9
Korea Advanced Institute of Science and Technology
Algorithm
N1 N2100
N3100
Network Computing Laboratory | 10
Korea Advanced Institute of Science and Technology
Algorithm
N3N2150
F32 = 100 – 150F32 = 50
N2100
F12 = 0
System Error = F122 + F32
2 = 0 + 502 = 2500
Network Computing Laboratory | 11
Korea Advanced Institute of Science and Technology
Algorithm
N1 N2150
F12 = 100 – 150F12 = -50
N3100
F32 = 0
System Error = F122 + F32
2 = 502 + 0 = 2500
Network Computing Laboratory | 12
Korea Advanced Institute of Science and Technology
Algorithm
N3N1125
F32 = 100 – 125F32 = 25
N2125
F12 = 100 – 125F12 = 25
System Error = F122 + F32
2 = 252 + 252 = 1300
Network Computing Laboratory | 13
Korea Advanced Institute of Science and Technology
Centralized version
• Calculate net Force on node i• Move a step in the direction of the net Force
Network Computing Laboratory | 14
Korea Advanced Institute of Science and Technology
δ setting
error remote error localerror local C c
Sampling inaccurate node will not significantly affect the movement
Network Computing Laboratory | 15
Korea Advanced Institute of Science and Technology
Full Vivaldi Version
Adjust time step
Network Computing Laboratory | 16
Korea Advanced Institute of Science and Technology
Impact of Adaptive time stamp
Network Computing Laboratory | 17
Korea Advanced Institute of Science and Technology
Evaluation 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)
Network Computing Laboratory | 18
Korea Advanced Institute of Science and Technology
Evaluation 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
Network Computing Laboratory | 19
Korea Advanced Institute of Science and Technology
Using data
Simulation test setup Input RTT matrix Send a packet one a second Delay by ½ RTT time
Send RPC packetUses measured RTT of RPC to update coordinates
Network Computing Laboratory | 20
Korea Advanced Institute of Science and Technology
Evaluation (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
Network Computing Laboratory | 21
Korea Advanced Institute of Science and Technology
Evaluation (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 > .5 convergence slows p < .5 convergence slows no distant communication
Network Computing Laboratory | 22
Korea Advanced Institute of Science and Technology
Evaluation (Adapt to network changes)
Ability to adapt to changes in the network (tested with “Transit-Stub”) extend one stub by 10x
Network Computing Laboratory | 23
Korea Advanced Institute of Science and Technology
Evaluation (Accuracy vs. GNP)
Network Computing Laboratory | 24
Korea Advanced Institute of Science and Technology
Model Selection
Network Computing Laboratory | 25
Korea Advanced Institute of Science and Technology
Critique
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(δ) is profound but no guidance provided No proposed architecture for managing coordinates information
Network Computing Laboratory | 26
Korea Advanced Institute of Science and Technology
New 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
Network Computing Laboratory | 27
Korea Advanced Institute of Science and Technology
Backup slides
Network Computing Laboratory | 28
Korea Advanced Institute of Science and Technology
Evaluation Methodology
Network Computing Laboratory | 29
Korea Advanced Institute of Science and Technology
Using 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