Sequoia: Supporting Latency-Aware Applications through Prediction Trees Dahlia Malkhi, MSR and Hebrew U Joint work with Ittai Abraham, Mahesh Balakrishnan, Fabian Kuhn, Rama Ramasubramanian, Nir Sonenschein, and Kunal Talwar
Introduction Latency-awareness is critical for internet applications CDNs, P2P file sharing, network monitoring, etc. Latency-enabled functionality: Closest node discovery Locality-based clustering Detour routing Spanning trees
Current State of the Art Application-specific approaches Closest node [Meridian, Oasis, …] Detour routing [OneHop Source Routing, Detour, Akella et al…] Clustering [SDIMS, …] General-purpose frameworks Measurement based inference [iPlane] Requires intrusive, expensive measurements Coordinate-based latency prediction [Vivaldi, PIC, GNP, ICS, Virtual Landmarks, PCoord, NPS, Lighthouse, IDMaps] Needs substantial work to support applications
Goals Internet Topology is not directly known to end-hosts Inter-node Ping latencies are available Model Clustering, Closest Node Discovery… End-Host Pings
Big Insight “It's not a big truck. It's a series of tubes.” Ted Stevens, Senator from Alaska
Prediction Trees Tree of Virtual Routing Nodes Distance between nodes is path length on the tree Interior: Virtual Routing Nodes Leaves: Physical End-hosts
Metric Embedding into Trees Generally hard Ultra-metric: MST yields HST representing distances precisely Tree: MST yields the right tree Tree-metric: Buneman’s Steiner tree yields the right tree
Is the Internet a Tree? The Four-Point Condition: Given 4 points A,B,C,D: If AC+BD ≥ AD+BC ≥ AB+CD, AC+BC = AD+BC ≥ AB+CD AC+BD = AD+BC ≥ AB+CD
Is the Internet a Tree? We can model it as one! Relaxed Four Point Condition: AC+BD=[AD+BC]+2 * min{AB,CD} Internet Latencies are very close to a tree metric Random power-law graph latencies are also very close to a tree metric
New Challenge: Embed Relaxed Tree Metrics in Trees Teriffic experimental evidence Distance prediction, clustering, finding closest nodes, spanning-trees (1+O(ε log(n)) ) / (1 – O(ε log(n)) ) Steiner approximation (1+O(ε log(n)) ) stretch lower bound (1 + O(ε)) Steiner approximation for metrics generated from relaxed tree metric graphs (1 + O(ε)) approximation by log(n) Steiner trees
Some Open Directions Close lower/upper gap Embed random graphs with power-law degrees in trees Relaxed tree-metric condition of such graphs Embed into distribution on trees Embed into fixed-size collection of trees Lower bound Instance-specific Steiner-tree approximation
Thanks! Sponsored link: LOCALITY 2007, Satellite workshop at PODC 2007, August, Portland Oregon
(Re)constructing the Tree ABC A B C Cx = (AC+BC-AB)/2 Ax = (AB+AC-BC)/2 Bx = (AB+BC-AC)/2
Growing the Tree…
Towards a Distributed System Virtual nodes are emulated by ‘surrogate’ physical nodes Distributed Tree-Building Protocol Discrete Event Simulator: executed on ping data from PlanetLab, King Datasets
Latency Prediction: Mechanism Distance Labels Path to Root planet0.jaist.ac.jp label = ( , , ) planetlab1.cs.ubc.ca label= ( , , ) Path between them = ( , , ) Distance = = ms
Latency Prediction: Performance I PlanetLab, 117 nodes, 1 month
Latency Prediction: Performance II King Dataset (Harvard), 1835 nodes
Latency Prediction: Multiple Trees Each node joins x randomly selected trees out of t total trees Existing theoretical work on modeling a graph metric with a distribution of dominating trees… To predict latencies between 2 nodes, select all trees both nodes belong to, and pick median T1T2T3 dist(B,C) = median(dist T1 (B,C), dist T2 (B,C))
Latency Prediction: Multiple Trees
Closest Node Discovery: Mechanism A xz y BCD Problem: Can’t ping inner virtual nodes, only physical leaf nodes Solution: Each virtual node maintains ping-able representatives for each virtual neighbor T Traverse the tree, always picking the neighbor that’s closer to the target More Overhead More Accuracy Number of representatives per neighbor BD CB Number of parallel queries
Closest Node Discovery: Performance I PlanetLab, 117 nodes, 1 month ping data
Closest Node Discovery: Performance II King Dataset (Meridian), 2500 nodes Meridian performance on same data: ~1 ms Vivaldi, GNP: ranging from 8 ms to 18 ms (from Wong et al, Sigcomm 05) q = queries, r = reps
Clustering PlanetLab Europe
Clustering PlanetLab Poland, Germany, Scandinavia
Clustering PlanetLab Poland
Work in Progress Explore better tree-building algorithms Model other properties using these trees Loss rate, bandwidth Build a robust distributed system: Failure Handling, Tree Balancing
Conclusions Prediction Trees are a promising way of modeling internet latencies Simple yet powerful abstraction Latency estimation comparable with coordinate schemes Closest Node Discovery comparable to Meridian Good locality-based Clustering
THANK YOU!
King Dataset (harvard) 1835 Nodes
Four Point Condition Relaxed 4PC: d(AC)+d(BC) = [d(AD)+d(BC)] + * [d(AB)+d(CD)]
Prediction Trees Tree of Virtual Routing Nodes End-hosts Interior nodes are virtual ‘steiner’ nodes Leaf nodes are physical end-hosts Estimated Distance is Path Length on the Tree
Clustering PlanetLab All European Nodes
Clustering PlanetLab German and Scandinavian nodes Hostname ends with “de” OR “fi” OR “no” OR “se”