21.06.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!