Measurement-aware Monitor Placement and Routing A Joint Optimization Approach for Network-Wide Measurements Guanyao Huang 1 Chia-Wei Chang Chen-Nee Chuah 1 Bill Lin 1 University of California at Davis, CA USA University of California at San Diego, CA USA 010
task: measure network traffic with limited resources and QoS constraints in mind
question: which monitors should be activated, how to route traffic over them to maximize measurement gain, given limited resources
current state of the art
pick monitor locations without changing routing decison
might miss important traffic
decide on routing based on static monitors (MeasuRouting)
might violate QoS constraints
MMPR Motivational Example
find monitor locations first, then use MeasuRouting
maximize measurement resolution function β β = y θ (i,j) E I y p (i,j) u (i,j) Γ x y Υ x G(V, E) - network graph V - set of nodes E - set of edges (i, j) - tuple denoting edge in E θ - mutually exclusive flowsets x - an OD pair Υ x - set of flowsets belonging to OD pair x y - flowset, part of an Υ x I y - measurement utility of flowset y u (i,j) - boolean monitor placement for link (i, j) p i,j - sampling rate of link (i, j) Γ x y Υ x - original routing γ y θ (i,j) E - traffic demand flowset y places on link (i, j) ψ y - traffic demand of flowset y
search for best γ y (i,j) and u (i,j) assignments in network with M nodes, minimizing β with limiting amount of monitors to K
K-Best algorithm 1. start with All-On configuration, calculate maximum β and optimal traffic assignment γ y i,j. rank monitors according to a metric least utility y p (i,j)γ y (i,j) I y least traffic y γy (i,j) ψ y least importance y γy (i,j) I y least rate p (i,j) least neighbours 3. remove the top M-K monitors
Successive Selection
Greedy Algorithm
Quasi-Greedy Algorithm
Experimental Evaluation I y = f v y i f b f Abilene public academic network in the US 11 nodes 8 10Gbps links AS6461 RocketFuel (Topology Mapping Engine) topology 19 nodes 68 links GEANT European research/education network 3 nodes 74 (155Mbps - 10Gbps) links
All-On, Placement-only, MR-only, β Abiliene 10 x 105 8 6 4 All On Placement only MR only 0 0 5 10 15 0 5 30 β AS6461 4 x 104 3 All On 1 Placement only MR only 0 10 0 30 40 50 60 70 β GEANT 4 x 106 3 All On 1 Placement only MR only 0 0 0 40 60 80
MMPR performance using K-Best β Abiliene 10 x 105 8 6 KB/utility KB/traffic 4 KB/importance KB/rate KB/neighbor 0 0 5 10 15 0 5 30 0.13 β AS6461 4 x 104 3 KB/utility KB/traffic KB/importance 1 KB/rate KB/neighbor 0 10 0 30 40 50 60 70 1.4 β GEANT 4 x 106 3 KB/utility KB/traffic KB/importance 1 KB/rate KB/neighbor 0 0 0 40 60 80 1.9 0.1 KB/utility 0.11 KB/traffic KB/importance KB/rate KB/neighbor 0.1 0 5 10 15 0 5 30 CPU Time AS6461 1.3 1. KB/utility KB/traffic 1.1 KB/importance KB/rate KB/neighbor 1 10 0 30 40 50 60 70 CPU Time GEANT 1.8 1.7 KB/utility KB/traffic 1.6 KB/importance KB/rate KB/neighbor 1.5 0 0 40 60 80
MMPR performance using Successive Selection β Abiliene 10 x 105 8 6 4 SS/utility SS/traffic SS/importance 0 5 10 15 0 5 30 β AS6461 3.5 x 104 3.5 SS/utility SS/traffic SS/importance 1.5 10 0 30 40 50 60 70 β GEANT 3.5 x 106 3.5 SS/utility SS/traffic SS/importance 1.5 0 0 40 60 80
MMPR performance using Quasi-Greedy β AS6461 3.5 x 104 3.5 QG/λ=0.05 QG/λ=0.1 QG/λ=0. CPU Time AS6461 300 00 100 QG/λ=0.05 QG/λ=0.1 QG/λ=0. 10 0 30 40 50 60 70 0 10 0 30 40 50 60 70
Compare different heuristics 3 x 107 3.5 x 104 3.5 x 106 β Abiliene.5 1.5 1 KB/utility SS/utility QG/λ=0.15 β AS6461 3.5 KB/utility SS/utility QG/λ=0.15 β GEANT Network 3.5 KB/utility SS/utility QG/λ=0.15 0.5 0 5 10 15 0 5 30 CPU Time Abiliene 3 1 KB/utility SS/utility QG/λ=0.15 0 0 5 10 15 0 5 30 CPU Time AS6461 1.5 10 0 30 40 50 60 70 400 300 00 100 KB/utility SS/utility QG/λ=0.15 0 10 0 30 40 50 60 70 CPU Time GEANT 1.5 0 0 40 60 80 500 400 300 00 100 KB/utility SS/utility QG/λ=0.15 0 0 0 40 60 80
best choice: K-Best using least utility reduces computation time by 3X, 46X and 33X for Abilene, AS6461 and GEANT respectively produces near optimal solution
opportunities sampling rates as another degree of freedom future implementation in OpenFlow (programmable routing platform) issues in practice how to select traffic importance? what routing protocol? how to estimate flow importance dynamically? how to configure routing tables dynamically?
questions?