Semi-Experiments and the Modelling of Internet Traffic - SAMSI
Semi-Experiments and the Modelling of Internet Traffic - SAMSI
Semi-Experiments and the Modelling of Internet Traffic - SAMSI
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Semi</strong>-<strong>Experiments</strong> <strong>and</strong> <strong>the</strong> <strong>Modelling</strong> <strong>of</strong> <strong>Internet</strong> <strong>Traffic</strong><br />
Nicolas Hohn ∗ Darryl Veitch ∗ Patrice Abry †<br />
∗ CUBIN, Dept. <strong>of</strong> Electrical & Electronic Engineering, University <strong>of</strong> Melbourne.<br />
† CNRS, UMR 5672, Laboratoire de Physique, ENS Lyon
Flows: <strong>the</strong> Structure Underlying <strong>the</strong> Packet Arrival Process<br />
Flow arrivals:<br />
Y (t)<br />
Packet arrivals:<br />
X(t)<br />
Time<br />
Seek statistically <strong>and</strong> physically meaningful stationary point process models.<br />
1
Study Second Order Structure, Using Wavelet Spectra<br />
Use <strong>the</strong> Discrete Wavelet Transform<br />
Definition<br />
Comparison <strong>of</strong> signal X(t) with family <strong>of</strong> functions ψ j,k via d X (j, k) =< X, ψ j,k >, where <strong>the</strong><br />
ψ j,k = 2 −j/2 ψ(2 −j t − k), are localised both in time <strong>and</strong> frequency.<br />
Properties<br />
• {d X (j, k), k ∈ Z} is stationary <strong>and</strong> short range dependent for fixed scale j,<br />
• variance(j) = IE|d X (j, k)| 2<br />
• For self-similar processes: IE|d X (j, k)| 2 = 2 jα E|d X (0, k)| 2 ,<br />
• For LRD processes: IE|d X (j, k)| 2 ∼ 2 jα IE|d X (0, k)| 2 for large j.<br />
Wavelet Spectrum Estimate (log-log plot):<br />
log 2 [ 1 ∑<br />
|d X (j, k)| 2 ]<br />
n j<br />
vs j<br />
k<br />
2
Estimated Wavelet Spectrum for X(t)<br />
20<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
18<br />
16<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
3
Biscaling<br />
20<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
18<br />
16<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
4
Periodogram<br />
20<br />
18<br />
Periodogram<br />
16<br />
14<br />
log 2<br />
P<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−10 −8 −6 −4 −2 0 2 4 6<br />
log 2<br />
f<br />
5
Periodogram vs Wavelet Spectrum<br />
20<br />
18<br />
Periodogram<br />
Wavelet<br />
16<br />
14<br />
log 2<br />
P<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−10 −8 −6 −4 −2 0 2 4 6<br />
log 2<br />
f<br />
6
Flows: <strong>the</strong> Structure Underlying <strong>the</strong> Packet Arrival Process<br />
Flow arrivals:<br />
Y (t)<br />
Packet arrivals:<br />
X(t)<br />
Time<br />
Seek statistically <strong>and</strong> physically meaningful stationary point process models.<br />
7
Similar ‘Biscaling’ in both Y <strong>and</strong> X for TCP Flows, Connected?<br />
Y<br />
X<br />
log 2<br />
Var( d j<br />
)<br />
16<br />
14<br />
12<br />
10<br />
8<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
AUCK2<br />
AUCK4<br />
Var ( d j<br />
)<br />
30.5mus 977mus 0.031 1 32 1024<br />
10<br />
8<br />
6<br />
4<br />
AUCK−a0<br />
AUCK−b0<br />
AUCK−c0<br />
AUCK−c1<br />
AUCK−d0<br />
AUCK−d1<br />
UNC−a0<br />
UNC−a1<br />
Abilene<br />
Mel ISP−1<br />
Mel ISP−2<br />
Mel ISP−3<br />
2<br />
6<br />
(a)<br />
0<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
j = log 2<br />
( a )<br />
−15 −10 −5 0 5 10<br />
j = log 2<br />
(a)<br />
Observations for both X, Y<br />
• Small scales: scaling behaviour?<br />
• Characteristic scale, ‘knee’: function <strong>of</strong> ?<br />
• Large scales: LRD, due to what?<br />
Connections between X, Y<br />
• Y ⊂ X<br />
• Structural: inter <strong>and</strong> intra-flow dependencies<br />
8
Is X <strong>the</strong> Flesh on <strong>the</strong> Y Skeleton?<br />
Investigative Method<br />
• Look at data subsets to isolate sources <strong>of</strong> key statistical features.<br />
• IP–reconstruction: add in-flow models to real flow arrivals <strong>and</strong> compare.<br />
Poor agreement!<br />
New Approach<br />
• Drop a priori ideas<br />
• Systematic use <strong>of</strong> semi-experiments<br />
9
Empirical Data<br />
IP flow: set <strong>of</strong> packets with <strong>the</strong> same 5-tuple<br />
IP Source Destination Source Destination<br />
protocol Address Address Port Port<br />
10
Extracting Flow Information<br />
IP flow: set <strong>of</strong> packets with <strong>the</strong> same 5-tuple<br />
IP Source Destination Source Destination<br />
protocol Address Address Port Port<br />
Time<br />
11
Extracting Flow Information<br />
IP flow: set <strong>of</strong> packets with <strong>the</strong> same 5-tuple<br />
IP Source Destination Source Destination<br />
protocol Address Address Port Port<br />
Time<br />
12
Benefits<br />
The <strong>Semi</strong>-Experimental Method<br />
Replacing selected aspects <strong>of</strong> data with model substitutes<br />
• Underst<strong>and</strong> <strong>the</strong> impact <strong>of</strong> a particular feature on overall statistics<br />
• Enables ‘convenient’, highly flexible virtual experimentation<br />
• Avoids need to model all aspects simultaneously<br />
• Enables physically meaningful parameters to be directly targeted<br />
Classes <strong>of</strong> manipulations performed:<br />
[A] on Flow Arrival process<br />
[P] on Packet arrival process within a flow<br />
[S] Selection <strong>of</strong> flows according to number <strong>of</strong> packets, duration, rate, address, burstiness ....<br />
[T] Truncation <strong>of</strong> flows according to number <strong>of</strong> packets, duration, silence duration ....<br />
A <strong>Modelling</strong> Continuum:<br />
primitive SE −→ compound SE −→ class search SE −→ semi-model −→ physical model<br />
(neutral model) (multi-aspect) (model choosing) (1 data aspect) (no data)<br />
13
Original TCP Data<br />
Time<br />
14
Original TCP Data<br />
DATA EXPERIMENT<br />
Time<br />
15
Permutation <strong>of</strong> Flows [A-Perm]<br />
DATA EXPERIMENT<br />
Time<br />
16
Permutation <strong>of</strong> Flows [A-Perm]<br />
20<br />
18<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
Data<br />
[A−Perm]<br />
16<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
17
Original Order Poisson Arrivals [A-Pord]<br />
DATA EXPERIMENT<br />
(a smooth form <strong>of</strong> internal shuffling)<br />
Time<br />
18
Original Order Poisson Arrivals [A-Pord]<br />
DATA EXPERIMENT<br />
Time<br />
19
Original Order Poisson Arrivals [A-Pord]<br />
20<br />
18<br />
16<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
Data<br />
[A−Perm]<br />
[A−Pord]<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
20
Permuted Poisson Arrivals [A-Pois]<br />
DATA EXPERIMENT<br />
Time<br />
21
Permuted Poisson Arrivals [A-Pois]<br />
20<br />
18<br />
16<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
Data<br />
[A−Perm]<br />
[A−Pord]<br />
[A−Pois]<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
22
What have we learned so far ?<br />
Flow Arrival Manipulation<br />
• Correlations between flows can be neglected<br />
• No need for session level hierarchical models<br />
• TCP dynamics between flows can be neglected<br />
• For IP modelling, flow arrivals can be modelled as Poisson<br />
• Justifies an assumption commonly used in traffic modelling.<br />
Note: true flow arrival process is LRD.<br />
23
Uniform In-Flow Arrivals [A-Pois; P-Uni]<br />
DATA EXPERIMENT<br />
Time<br />
24
Uniform In-Flow Arrivals [A-Pois; P-Uni]<br />
20<br />
18<br />
16<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
Data<br />
[A−Pois]<br />
[A−Pois; P−Uni]<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
25
What have we learned so far ?<br />
Flow Arrival Manipulation<br />
• Correlation between flows can be neglected<br />
• For IP modelling, flow arrivals can be modelled as Poisson<br />
Packets Within Flow Manipulation<br />
• LRD not caused by arrival process <strong>of</strong> packets within flows<br />
• Small scale behaviour governed by structure within flows<br />
• Source <strong>of</strong> structure (scaling ?) at small scales identified<br />
26
Uniform distribution <strong>of</strong> packets [A-Pois; P-Uni]<br />
DATA EXPERIMENT<br />
Time<br />
27
Rejection <strong>of</strong> Large Flows [A-Pois; P-Uni; S-Pkt]<br />
DATA EXPERIMENT<br />
Time<br />
28
Rejection <strong>of</strong> Large Flows [A-Pois; P-Uni; S-Pkt]<br />
20<br />
18<br />
16<br />
0.016 0.062 0.25 1 4 16 64 256 1024<br />
Data<br />
[A−Pois]<br />
[A−Pois; P−Uni]<br />
[A−Pois; P−Uni; S−Pkt]<br />
log 2<br />
Variance( j )<br />
14<br />
12<br />
10<br />
8<br />
6<br />
4<br />
−6 −4 −2 0 2 4 6 8 10<br />
scale j<br />
29
Flow Arrival Manipulation<br />
<strong>Semi</strong>-Experiment Outcomes<br />
• Correlation between flows can be neglected,<br />
• For IP modelling, flow arrivals can be modelled as Poisson,<br />
• [A-Clus]: knee <strong>of</strong> Y affects knee <strong>of</strong> X!<br />
Packets within Flow Manipulation<br />
• LRD not caused by arrival process <strong>of</strong> packets within flows,<br />
• Small scale behaviour governed by structure within flows,<br />
• Finite Poisson process a reasonable 0-th order model,<br />
• [P-Pois]: indistinguishable from [P-Uni],<br />
• [P-ConstR]; [P-ScaledR]: rate acts like a scale parameter,<br />
Flow Selection<br />
• Observed LRD caused by heavy-tailed flow volumes,<br />
• [S-Thin]: r<strong>and</strong>om thinning consistent with independent flows,<br />
• [S-Dur]: also kills LRD (flow duration slaved to volume),<br />
• [S-Pkt]: LRD still present even without heavy tail!<br />
Flow Truncation Manipulation<br />
• [T-Pkt]: also kills LRD, makes X tend to Y ,<br />
30
Poisson (Barlett-Lewis) Cluster Processes<br />
Definition<br />
• A Poisson process <strong>of</strong> seeds (flows), initiating independent groups <strong>of</strong> points (packets):<br />
X(t) = ∑ i<br />
G i (t − t F (i))<br />
• Group: a finite renewal process with P points <strong>and</strong> inter-arrival distribution A:<br />
G i (t) =<br />
P (i)<br />
∑<br />
j=1<br />
δ( t −<br />
∑j−1<br />
l=1<br />
A i (l) )<br />
Parameters<br />
• Flow arrivals: constant intensity λ F<br />
• Flow structure:<br />
1<br />
• Packet arrivals: A,<br />
EA = λ A 0<br />
• Flow volume: P , IEP = µ P
Properties <strong>of</strong> X(t), <strong>and</strong> Model Features<br />
• λ X = µ P λ F (does not involve λ A )<br />
• Point process, hence inherently ‘positive’<br />
• Physically meaningful structure <strong>and</strong> parameters<br />
• Fourier spectrum Γ X (ν) known<br />
• Inter-arrival distribution known (in principle)<br />
• Simple direct simulation (except transient)<br />
• Potentially tractable queueing <strong>the</strong>ory<br />
32
Fourier Spectrum<br />
Γ X (ν) = λ F ( µ P<br />
λ A<br />
Γ G (ν) + (S G (ω) + S G (−ω)) ),<br />
Γ G (ν): spectrum <strong>of</strong> stationary renewal process with inter-arrivals A, <strong>and</strong><br />
R( S G (ω) ) =<br />
Φ A (ω)<br />
(1 − Φ A (ω)) 2(G P(Φ A (ω)) − 1).<br />
Verify LRD:<br />
R( S G (ω) )<br />
ω→0<br />
∼<br />
ω→∞<br />
∼<br />
where B(β) = ψ(1 − β) cos(πβ/2)/(2π) (2−β) > 0<br />
LB(β)(2πλ A ) 2−β ω −(2−β) → ∞<br />
cos(cπ/2)<br />
− → 0<br />
(bω) c<br />
Properties<br />
• λ F just a variance multiplier: ‘more <strong>of</strong> same’<br />
• has scale parameter 1/λ A if A has: Γ X (ω; λ F , λ A , c, F P ) = Γ X (ω/λ A ; λ F , 1, c, F P )<br />
• Two terms dominating small-large scales<br />
• First term (small scales): scaled renewal process, no detailed P dependence<br />
• Second term (large scales): LRD, no A dependence beyond λ A<br />
33
<strong>Modelling</strong> Flows: Averages over Flows<br />
Tail <strong>of</strong> P<br />
Tail <strong>of</strong> D<br />
log( Pr[ P > k ] )<br />
0<br />
−1<br />
−2<br />
−3<br />
−4<br />
−5<br />
AUCK<br />
UNC<br />
Abilene<br />
Mel ISP<br />
−6<br />
0 1 2 3 4 5 6<br />
log( k )<br />
log( Pr[ D > x ] )<br />
0<br />
−0.2<br />
−0.4<br />
−0.6<br />
−0.8<br />
−1<br />
−1.2<br />
−1.4<br />
−1.6<br />
−1.8<br />
−2<br />
AUCK<br />
UNC<br />
Abilene<br />
Mel ISP<br />
−0.5 0 0.5 1 1.5 2 2.5<br />
log( x sec )<br />
• Slave durations to P<br />
• Heavy tail for P , use hyperbolic variable H(k; a, β)<br />
F H (k; a, β) = 1 − (ak + 1) −β ∼ 1 − Lk −β k = 1, 2, · · ·,<br />
• To match L <strong>and</strong> β <strong>and</strong> µ P , vary mixture parameter p ∈ [0, 1] for fixed (γ, a 2 ) = (2.5, 0.01):<br />
F P (k; p, a, β) = pF H (k; a 2 , γ) + (1 − p)F H (k; a, β)<br />
• Careful <strong>of</strong> power-law body, not just far tail!<br />
34
<strong>Modelling</strong> Flows: Variety Within Flows<br />
Volume <strong>and</strong> Rate<br />
Coefficient <strong>of</strong> variation<br />
4<br />
4<br />
(b)<br />
−2<br />
(c)<br />
2.5<br />
−2.5<br />
2<br />
−3<br />
log( P )<br />
2<br />
−3.5<br />
log( P )<br />
2<br />
1.5<br />
1<br />
−4<br />
−4.5<br />
0.5<br />
0<br />
−2 −1 0 1 2 3<br />
log( R )<br />
−5<br />
0<br />
−2 −1 0 1 2 3<br />
log( R )<br />
0<br />
• Underlying scatterplot, one point per flow. Discretisation essential for clarity.<br />
• Wide range <strong>of</strong> rates, but no bimodality - suggests single class<br />
• P quasi independent <strong>of</strong> rate<br />
• Wide range <strong>of</strong> variability in flows, but fairly constant in centre <strong>of</strong> flow mass<br />
* Suggests single representative rate with weighted constant C-<strong>of</strong>-V<br />
35
Use Gamma Inter-arrivals for A<br />
<strong>Semi</strong>-experiments: Poisson (stationarity) reasonable, but burstiness needed<br />
Gamma-Renewal: Not an Arbitrary Choice:<br />
• Contains exponential as special case<br />
• Has a scale parameter <strong>of</strong> <strong>the</strong> right form: b ∝ λ −1<br />
A<br />
• Flexible family with minimum number <strong>of</strong> physical parameters<br />
• Explicit cf:<br />
Φ A (ω; b, c) = (1 − ibω) −c<br />
• Explicit spectrum:<br />
Γ X (ν) = λ A [(1 − Φ A (ω)) −1 + (1 − Φ A (−ω)) −1 − 1]<br />
• Spectrum monotone for c < 1 (over-dispersed)<br />
36
Small Scales Problematic<br />
Care Needed with Wavelet Spectrum<br />
• Highly non-Gaussian: can’t use Gaussian-derived CI’s<br />
• Initialisation errors for DWT: simple counts with Haar exact for point processes<br />
• Discrete series: need to use modified approach, special initialisation<br />
Remember are taking logs..<br />
• Superpose n i.i.d copies −→ n∗variance −→ add n<br />
• Adding not linear! eg:<br />
Poisson & fGn Poisson & GR GR & fGn<br />
10<br />
0.031 1 32 1024<br />
(a)<br />
977mus 1 1024<br />
−3<br />
(b)<br />
9<br />
8<br />
0.031 1 32 1024<br />
(c)<br />
log 2<br />
Var( d j<br />
)<br />
5<br />
0<br />
−4<br />
−5<br />
−6<br />
7<br />
6<br />
5<br />
4<br />
−5<br />
−5 0 5 10 15<br />
−7<br />
−10 0 10<br />
j = log 2<br />
( a )<br />
3<br />
−5 0 5 10 15<br />
37
<strong>Modelling</strong> a Typical Auckl<strong>and</strong> IV Trace<br />
0.0039 0.016 0.062 0.25 1 4 16 64 256 1024<br />
20<br />
18<br />
Data<br />
Model<br />
GR component<br />
Cluster component<br />
Poisson limit<br />
log 2<br />
Var( d j<br />
)<br />
16<br />
14<br />
12<br />
λ F<br />
µ P<br />
c<br />
10<br />
λ F<br />
µ P<br />
−8 −6 −4 −2 0 2 4 6 8 10 12<br />
j = log 2<br />
( a )<br />
∗ : j ∗ = − log<br />
GR 2 λ A + log 2 (π 2 (c + 1)/(3ɛc 2 ))<br />
✷ : j ∗∗ = − log<br />
PGR 2 λ A + 1<br />
2 − β (log 2 µ P − log 2 (2LB(β)) − log 2 c)<br />
38
Why Black Box GR Cannot Work (even at small scale)<br />
0.0039 0.016 0.062 0.25 1 4 16 64 256 1024<br />
19<br />
17<br />
Data<br />
Model<br />
GR component<br />
Black box GR<br />
log 2<br />
Var( d j<br />
)<br />
15<br />
13<br />
11<br />
9<br />
7<br />
5<br />
−8 −6 −4 −2 0 2 4 6 8 10 12<br />
j = log 2<br />
( a )<br />
39
The Body <strong>of</strong> P Impacts Medium Scales<br />
25<br />
23<br />
21<br />
977mus 0.0039 0.016 0.062 0.25 1 4 16 64 256 1024<br />
Data<br />
Model<br />
Model with empirical P(i)<br />
[ A−Pois; S−Pkt ]<br />
upper limit from eq. (15)<br />
lower limit<br />
log 2<br />
Var( d j<br />
)<br />
19<br />
17<br />
15<br />
13<br />
11<br />
−10 −8 −6 −4 −2 0 2 4 6 8 10<br />
j = log 2<br />
( a )<br />
40
OC48 Data, New Features<br />
27<br />
25<br />
61mus 244mus977mus 0.0039 0.016 0.062 0.25 1 4 16 64 256<br />
Data<br />
Model with empirical P(i)<br />
GR component<br />
Cluster component<br />
log 2<br />
Var( d j<br />
)<br />
23<br />
21<br />
19<br />
17<br />
−14 −12 −10 −8 −6 −4 −2 0 2 4 6 8<br />
j = log 2<br />
( a )<br />
41
The Center <strong>of</strong> Gravity has Shifted<br />
Flow Density<br />
Packet Density<br />
6<br />
−1.5<br />
6<br />
−1.5<br />
(a)<br />
(b)<br />
−2<br />
−2<br />
4<br />
−2.5<br />
4<br />
−2.5<br />
log( P )<br />
−3<br />
−3.5<br />
log( P )<br />
−3<br />
−3.5<br />
2<br />
−4<br />
2<br />
−4<br />
−4.5<br />
−4.5<br />
0<br />
−2 −1 0 1 2 3<br />
log( R )<br />
−5<br />
0<br />
−2 −1 0 1 2 3<br />
log( R )<br />
−5<br />
Packet weighting <strong>of</strong> flows essential<br />
42
Just Second Order?<br />
80<br />
(b)<br />
80<br />
(a)<br />
number <strong>of</strong> packets<br />
60<br />
40<br />
20<br />
number <strong>of</strong> packets<br />
60<br />
40<br />
20<br />
0<br />
0 2 4 6 8 10<br />
time (sec)<br />
0<br />
0 2 4 6 8 10<br />
time (sec)<br />
Data <strong>and</strong> Model hard to distinguish at all aggregation levels<br />
43
Using <strong>the</strong> Model for Scenario Exploration<br />
Can Investigate<br />
• Trade<strong>of</strong>fs <strong>of</strong> increasing multiplexing, access rates, file sizes...<br />
• Study how burstiness changes as a function <strong>of</strong> scale<br />
• Inter-arrivals, becoming more Poisson? X → Poisson?<br />
– trade<strong>of</strong>f <strong>of</strong> burstiness <strong>and</strong> perspective changes (simple answer, No)<br />
• Separate burstiness structure from point process limits<br />
– pseudo-slopes at small scale can be misinterpreted as ’multifractality’<br />
44
Some Next Steps<br />
Data<br />
• Find source <strong>of</strong> new behaviour in OC48<br />
• Determine if multiclass necessary (spectrum tractable)<br />
• Analyse more traces<br />
Model<br />
• Calculate higher order properties<br />
• Calculate spectra <strong>of</strong> model extensions<br />
• Cluster/D/1 queueuing<br />
45