Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
An Application-Level Network Mapper Arnaud Legrand 1 eric Mazoit 2 - - PowerPoint PPT Presentation
An Application-Level Network Mapper Arnaud Legrand 1 eric Mazoit 2 - - PowerPoint PPT Presentation
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion An Application-Level Network Mapper Arnaud Legrand 1 eric Mazoit 2 Martin Quinson 1 . Fr ed 1: ID UMR 5132 (CNRS INPG INRIA UJF), Grenoble,
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Outline
Introduction Context Motivation and goals State of the art ALNeM Model used Measurement methodology Problem statement Mathematical tools, algorithms Total interference and separators Reconstruction trees and cliques of trees Extension for cycles Implementation Data collection Conclusion Contributions and future work
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Introduction (1/2)
Motivation Modern platforms (Grid, P2P systems) heterogeneous and dynamic. Distributed applications have to be reactive and network-aware. Quantitative information (bandwidth) well studied [NWS, RPS, ganglia]. Qualitative information (topology) seldom known, but needed for:
Host siting and automatic configuration Group communication
Definitions of topology Almost as many as layers in the OSI model. Physical interconnexion map (wires in the walls) Routing infrastructure (path of network packets, from router to switch) Application level (focus on effects – bandwidth, latency – not causes)
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Introduction (2/2)
Our context is at application level Grid or P2P systems = multi-organization platforms.
System heterogeneity ⇒ cannot rely on specific system feature Trust issue ⇒ no privileges for grid administrators (“root” or other)
Our Goal is... Discover What Applications can Expect from the Platform Given 4 hosts (a, b, c, d), determine whether a → b impact c → d (perfs). Intuition: if they share a link, they share the bandwidth. Our goal is not... Discover network bottleneck and configuration issues Discover packet paths
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Topology discovery methodologies
State of the art
Method Restriction Focus Routers Notes SNMP authorized path all passive, LAN traceroute ICMP path all level 3 of OSI pathchar root path all link bandwidth, slow Other no path din = dout tree tomography bipartite [Rabbat03] ENV no interference some tree only ALNeM no interference ? complete graph
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Outline
Introduction Context Motivation and goals State of the art ALNeM Model used Measurement methodology Problem statement Mathematical tools, algorithms Total interference and separators Reconstruction trees and cliques of trees Extension for cycles Implementation Data collection Conclusion Contributions and future work
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Model used
Definition: routed graph G = (V , E, r) Non-oriented graph with routing function (r : V × V → V ).
- u −
→
G v
- is the path (set of vertices encountered in the graph G).
Definition: (ab) interfere with (cd) in G (ab) G (cd) ⇐ ⇒
- a −
→
G b
- ∩
- c −
→
G d
- = ∅
Symmetric relation: (ab) G (cd) ⇔ (cd) G (ab) Routing not symmetric: (ab) G (cd) ⇔ (ab) G (dc)
Definition: (ab) does not interfere with (cd) in G (ab) G (cd) ⇐ ⇒ ¬
- (ab)
G (cd)
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Measurement methodology
Notation bw(ab): bandwidth on a → b. bwcd(ab): bandwidth on a → b when c → d is saturated. Definition of the measured interference (ab) mes (cd) ⇐ ⇒
bwcd(ab) bw(ab)
< 0.7 ; (ab) mes (cd) if ratio > 0.9
Not symmetric:
10 Mo/s 100 Mo/s 100 Mo/s a c b d
(ab) mes (cd) and (cd) mes (ab).
Definition of the “real” interference (to reintroduce symmetry) (ab) rl (cd) ⇐ ⇒
- (ab)
mes (cd) (cd) mes (ab) (or) ⇐ ⇒ ¬(ab) rl (cd)
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Problem statement
Notations H : set of nodes Interference matrix I(H, rl): I(H, rl)(a,b,c,d) =
- 1
if (ab) rl (cd) else Definition InterferenceGraph: Given H and I(H, e
G), find a routed graph
G = (V , E, r) such that: H ⊂ V ; I(H, e
G) = I(H,
G) ; |V | is minimal.
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Outline
Introduction Context Motivation and goals State of the art ALNeM Model used Measurement methodology Problem statement Mathematical tools, algorithms Total interference and separators Reconstruction trees and cliques of trees Extension for cycles Implementation Data collection Conclusion Contributions and future work
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Mathematical tools: Total interference and separators
Definition of the total interference a ⊥ b ⇐ ⇒ ∀(u, v) ∈ H, (au) rl (bv) Lemma (Separation) a ⊥ b ⇐ ⇒ ∃ρ ∈ V
- ∀z ∈ H : ρ ∈ (a −
→ z) ∩ (b − → z) . Such a ρ is said to be a separator of a and b. Theorem: ⊥ is an equivalence relation
(under some assumptions)
Moreover, ∀ equivalence class, ∃ common separator for all pair of elements. Theorem (Representativity) Let C be an equivalence class for ⊥ and ρ a separator of its elements. ∀a ∈ C, ∀b, u, v ∈ H, (a, u) rl (b, v) ⇔ (ρ, u) rl (b, v)
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm
Handling trees and cliques of trees Equivalence class ⇒ greedy algorithm eating the leaves.
A C D E F G H I B A B C D E F G H I
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm
Handling trees and cliques of trees Equivalence class ⇒ greedy algorithm eating the leaves.
A C D E F G H I B B D G H I F E C A
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm
Handling trees and cliques of trees Equivalence class ⇒ greedy algorithm eating the leaves.
A C D E F G H I B B D G H I F E C A
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm
Handling trees and cliques of trees Equivalence class ⇒ greedy algorithm eating the leaves.
A C D E F G H I B D G B H I F E C A
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm
Handling trees and cliques of trees Equivalence class ⇒ greedy algorithm eating the leaves.
A C D E F G H I B D G B H I F E C A
Theorem: When |Cinf| = 1, the graph built is a solution. Theorem: If a tree being a solution exists, |Cinf| = 1. Remark: The graph built is optimal (wrt |V | since V = H)
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm
Handling trees and cliques of trees Equivalence class ⇒ greedy algorithm eating the leaves.
A C D E F G H I B D G B H I F E C A
Theorem: When |Cinf| = 1, the graph built is a solution. Theorem: If a tree being a solution exists, |Cinf| = 1. Remark: The graph built is optimal (wrt |V | since V = H) Theorem: When no interferences in I, clique of Ci is valid solution Remark: It is also optimal
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
a b
Finding out how to cut a, b: nodes with the most interferences (i.e., maximizing {u, v : au
bv})
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
a b
β α
Finding out how to cut a, b: nodes with the most interferences (i.e., maximizing {u, v : au
bv})
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
a b
I1 I2 I3
Finding out how to cut a, b: nodes with the most interferences (i.e., maximizing {u, v : au
bv}) 8 > > > < > > > : I1 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I2 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I3 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I4 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯
I4 = {a; b} or
a b u
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
u v v u a b
I1 I2 I3
Finding out how to cut a, b: nodes with the most interferences (i.e., maximizing {u, v : au
bv}) 8 > > > < > > > : I1 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I2 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I3 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I4 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯
b α β a b α β a
1 1
} } }
u
1 1 1
v
0\1
I2 I3 I1
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
u v v u a b
I1 I2 I3
Finding out how to cut a, b: nodes with the most interferences (i.e., maximizing {u, v : au
bv}) 8 > > > < > > > : I1 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I2 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I3 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯ I4 = ˘ u ∈ Ci : a ∈ (b − → u) and b ∈ (a − → u) ¯
b α β a b α β a
1 1
} } }
u
1 1 1
v
0\1
I2 I3 I1
Topological sort on the graph associated to the matrix slice gives I1, I2, I3
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
a b
I1 I2 I3
Finding out how to cut . . . How to connect parts afterward
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
- ✁
a b
I1 I2 I3
Finding out how to cut . . . How to connect parts afterward First step on I1 → Finds 2 classes I1a and I1α; a ∈ I1a. First step on I3 → Finds 2 classes I1b and I1β; b ∈ I1b.
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
- ✁
a b
I1 I2 I3
Finding out how to cut . . . How to connect parts afterward First step on I1 → Finds 2 classes I1a and I1α; a ∈ I1a. First step on I3 → Finds 2 classes I1b and I1β; b ∈ I1b. Reconnect I1a and I1b ; Reconnect I1α and I1β.
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Reconstructing algorithm: Extension for cycles
Idea Find a and b close to each other on a cycle; cut the cycle in between; iterate previous algorithm; reintroduce the cycle: reconnect (a, b).
- ✁
a b
I1 I2 I3
Finding out how to cut . . . How to connect parts afterward First step on I1 → Finds 2 classes I1a and I1α; a ∈ I1a. First step on I3 → Finds 2 classes I1b and I1β; b ∈ I1b. Reconnect I1a and I1b ; Reconnect I1α and I1β. No demonstration of this...
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
32 42 5 6 1 8 10 16100
101102
103104
20 105 106107 108
109 22 11 12 14 19 110111
112113
114 39115 116 117
118 119120
121122 123
124 34125
126127 128 129
36 13 15 130 131132
133 134 31135
136137
138139
46 60140
141142
143 144 40145
146 147 148149
4 7150 151
152 153 154 47 155156 157
158 159 44 18 75160
161162 163
164 58 17 80 170 171 172 173 174 52 175 176 177178
179 5965
70 180181
182 183184
53 2 27 3 51 21 25 28 8595
23 24 29 2690
30 35 33 37 38 9 45 41 50 55 56 57 61 62 63 64 66 67 68 69 71 72 73 74 7677
78 7981 82 83 84
8687 88 89 91
9293
94 9697
98 99Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Example of reconstruction
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Outline
Introduction Context Motivation and goals State of the art ALNeM Model used Measurement methodology Problem statement Mathematical tools, algorithms Total interference and separators Reconstruction trees and cliques of trees Extension for cycles Implementation Data collection Conclusion Contributions and future work
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Data collection
Intuitive algorithm
1 Measure the bandwidth on (ab) ; 2 Measure the bandwidth on (ab) when the link (cd) is saturated ; 3 Compute the ratio.
N4, 30s. per step ⇒ 50 days for 20 hosts. Speeding things up Using traceroute or other tomography
- Independent tests in parallel
- Validation of information sets
Refinement of existing graph?
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion
Outline
Introduction Context Motivation and goals State of the art ALNeM Model used Measurement methodology Problem statement Mathematical tools, algorithms Total interference and separators Reconstruction trees and cliques of trees Extension for cycles Implementation Data collection Conclusion Contributions and future work
Introduction ALNeM Mathematical tools, algorithms Implementation Conclusion