You are on page 1of 25

Measurement-aware Monitor Placement and Routing

A Joint Optimization Approach for Network-Wide Measurements Guanyao Huang1 Chia-Wei Chang2 Bill Lin2 Chen-Nee Chuah1

1 University 2 University

of California at Davis, CA USA of California at San Diego, CA USA

2010

task: measure network trac with limited resources and QoS constraints in mind

question: which monitors should be activated, how to route trac over them to maximize measurement gain, given limited resources

current state of the art

pick monitor locations without changing routing decison

might miss important trac

decide on routing based on static monitors (MeasuRouting)

might violate QoS constraints

MMPR Motivational Example

nd monitor locations rst, then use MeasuRouting

maximize measurement resolution function =


y (i,j)E

Iy p(i,j) u(i,j) x x y

G(V, E) - network graph V - set of nodes E - set of edges (i, j) - tuple denoting edge in E - mutually exclusive owsets x - an OD pair x - set of owsets belonging to OD pair x y - owset, part of an x Iy - measurement utility of owset y u(i,j) - boolean monitor placement for link (i, j) pi,j - sampling rate of link (i, j) x x - original routing y
y (i,j)E - trac demand owset y places on link (i, j) y - trac demand of owset y

y search for best (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 conguration, calculate maximum and y optimal trac assignment i,j 2. rank monitors according to a metric
least least least least least
y utility y p(i,j) (i,j) Iy y trac y (i,j) y y importance y (i,j) Iy rate p(i,j) neighbours

3. remove the top M-K monitors

Successive Selection

Greedy Algorithm

Quasi-Greedy Algorithm

Experimental Evaluation
Iy = Abilene
public academic network in the US 11 nodes 28 10Gbps links
f vy if bf

AS6461
RocketFuel (Topology Mapping Engine) topology 19 nodes 68 links

GEANT
European research/education network 23 nodes 74 (155Mbps - 10Gbps) links

All-On, Placement-only, MR-only, Optimal

10 8
Abiliene

x 10

4 3 2 1

x 10

4 3
GEANT

x 10

6 4 2 0 0 5 10 AllOn Placementonly MRonly Optimal 15 20 #monitor 25 30

AS6461

2 1 0 0 20 40 #monitor

0 10

20

30

40 #monitor

AllOn Placementonly MRonly Optimal 50 60 70

AllOn Placementonly MRonly Optimal 60 80

MMPR performance using K-Best


5 4 6

10 8
Abiliene

x 10

4 3

x 10

4 3
GEANT

x 10

AS6461

6 4 2 0 0 5 10 15 #monitor

KB/utility KB/traffic KB/importance KB/rate KB/neighbor Optimal 20 25 30

2 1 0 10 20 30 40 #monitor

KB/utility KB/traffic KB/importance KB/rate KB/neighbor Optimal 50 60 70

2 1 0 0 20 40 #monitor

KB/utility KB/traffic KB/importance KB/rate KB/neighbor Optimal 60 80

0.13
CPU Time AS6461

1.4 1.3 1.2 1.1 1 10 20 30 40 #monitor KB/utility KB/traffic KB/importance KB/rate KB/neighbor 50 60 70
CPU Time GEANT

1.9 1.8 1.7 1.6 1.5 0 20 40 #monitor KB/utility KB/traffic KB/importance KB/rate KB/neighbor 60 80

0.12 KB/utility KB/traffic KB/importance KB/rate KB/neighbor 5 10 15 20 #monitor 25 30

0.11

0.1 0

MMPR performance using Successive Selection

10 8 6 4

x 10

3.5 3 2.5 2 30

x 10

3.5 3 SS/utility SS/traffic SS/importance Optimal 20 30 40 50 #monitor 60 70


GEANT

x 10

Abiliene

SS/utility SS/traffic SS/importance Optimal 5 10 15 20 #monitor 25

AS6461

2.5 2 1.5 0 20 40 #monitor

2 0

1.5 10

SS/utility SS/traffic SS/importance Optimal 60 80

MMPR performance using Quasi-Greedy

3.5 3 2.5

x 10

300
CPU Time AS6461

Optimal QG/=0.05 QG/=0.1 QG/=0.2

AS6461

200

Optimal QG/=0.05 QG/=0.1 QG/=0.2

100

2 10

20

30

40 50 #monitor

60

70

0 10

20

30

40 50 #monitor

60

70

Compare dierent heuristics

3 2.5
Abiliene

x 10

3.5 3 2.5 2 30

x 10

3.5
GEANT Network

x 10

2 1.5 1 0.5 0 3 5 10 15 20 #monitor

Optimal KB/utility SS/utility QG/=0.15

AS6461

3 2.5 2 1.5 0 20 40 #monitor Optimal KB/utility SS/utility QG/=0.15 60 80

Optimal KB/utility SS/utility QG/=0.15 20 30 40 50 #monitor 60 70

25

1.5 10 400
CPU Time AS6461

500
CPU Time GEANT

CPU Time Abiliene

Optimal KB/utility SS/utility QG/=0.15

300 200 100 0 10 20 30

Optimal KB/utility SS/utility QG/=0.15

400 300 200 100 0 0 20 40 #monitor

Optimal KB/utility SS/utility QG/=0.15

0 0

10

15 20 #monitor

25

30

40 50 #monitor

60

70

60

80

best choice: K-Best using least utility


reduces computation time by 23X, 246X and 233X 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 trac importance? what routing protocol? how to estimate ow importance dynamically? how to congure routing tables dynamically?

questions?