Packet implementation: discretization

19
Packet implementation: discretization 1 ( ) () 0 () 1 ( ) () 0 y C if pt C pt y C if pt C ' () ( ()) () t KU xt qt () ( ) () qt M m xt X e 1 () log( ) Ux K x Rates Control: 1 () () ( 1) () s K qk k k K T xk () () exp () m qk xk W k M V irtualQ ueue V irtualCapacity p () () ( 1) 1 ,0 s yk pk pk T C o r

description

Packet implementation: discretization. Rates Control:. or. Packet implementation: discretization. ECN based price control:. Link:. Source:. Shift-register to save the last N ECN bits. Equilibrium:. Window dynamics:. Packet implementation: Source Side. - PowerPoint PPT Presentation

Transcript of Packet implementation: discretization

Page 1: Packet implementation:  discretization

Packet implementation: discretization

1( ) ( ) 0

( )1

( ) ( ) 0

y C if p tCp t

y C if p tC

'( ) ( ( )) ( )t K U x t q t

( )( )

( )q t

Mmx t X e

1( ) log( )U x K x

Rates Control:

1 ( )( ) ( 1)

( ) s

K q kk k K T

x k

( )( ) exp ( )m

q kx k W k

M

VirtualQueue

VirtualCapacityp

( )( ) ( 1) 1 , 0s

y kp k p k T

C

or

Page 2: Packet implementation:  discretization

Window dynamics:

1

( )( ) ( ) ( )

Kq tx t KK x t q t

M

Packet implementation: discretization

Equilibrium:

0 ,( )

Cx

N of sources

1

00

,K

qx

01 p0Prob

ECN based price control:Link:

-pMarkingProb=1-

Source: Shift-register to save the last N ECN bits

MarkedFractionProb ,

N

log(1-Prob)Price=-

log(Φ)

Page 3: Packet implementation:  discretization

1

Every seconds:

* * ;

**exp ;

*

On each ACK arrival:

Estimate using last N ACKs

log(1

m

intInterval

K estPriceK intInterval

expWnd baseRTT

estPriceexpWnd W

M baseRTT

estProb

estPrestPrice

);

log( )

exp ;

ob

CWnd Wnd

Packet implementation: Source Side

Variables:

state variable

: estimated price from the marking probability

: expected congestion window

Parameters:

: stability element; 0.37

: constant, 1~10

: constant, 100

:from utility1

:

estPrice

expWnd

K

K

function

: integral period1K log(x)

intInterval

Page 4: Packet implementation:  discretization

Every packet enque:

++;

Every seconds:

;

r 1 * ;

1

0

Every packet de

price

pktCounter

updInterval

pktCounteraveInput

updInterval

aveInputp ice price updInterval

virtCap

prob

pktCounter

que:

uniform();

if marking the packet

temp

temp prob

Packet implementation: Link Side

Variables:

Parameters:

: constant, 100

: Virtual Capacity,

: constant,0.95

: update Interval

price, prob, pktCounter

virtCap

* Capacity (pkts/sec)

updInterval

Page 5: Packet implementation:  discretization

Ns Simulation: two-way, long-lived traffic

2Gbps, delay=20ms

32 ftps

32 ftps

64ftps

128 ftps

256 ftps

32 ftps

32 ftps

64ftps

128 ftps

256 ftps

Duplex linkstd1 td1

td2

td3td4

td5

td2td3td4

td5

td_i=(i-1)*10ms

2^6, 2^6, 2^7,2^8,2^9 sources started at 0, 20, 40, 60, 80 secondsRTTs 40, 80,120,160, 200ms,link capacity 2Gbps (250pkts/ms)

Scenario:

Page 6: Packet implementation:  discretization

Ns Simulation: two-way, long-lived traffic

MarkingProb

Utilization

EstimatedProb

Queue

Cwnds

Rates

(pkts)

(pkts/sec)

Parameters: 100, EWnd=31, 0.37, =0.95 i

New Protocol

Page 7: Packet implementation:  discretization

0 20 40 60 80 100 120 140 160 180 2000

100

200

300

400

500

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

0 20 40 60 80 100 120 140 160 180 2000

100

200

300

400

500

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

NewReno/RED NewReno/AdaptiveRED

Utilization

Queue

Cwnds

(pkts)

Utilization

Queue

Cwnds

(pkts)

Ns Simulation: two-way, long-lived traffic

Paremeters: Thresh_ 100, maxthresh_ 2500

Page 8: Packet implementation:  discretization

0 20 40 60 80 100 120 140 160 180 2000

100

200

300

400

500

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

0 20 40 60 80 100 120 140 160 180 2000

100

200

300

400

500

0 20 40 60 80 100 120 140 160 180 2000

500

1000

1500

2000

0 20 40 60 80 100 120 140 160 180 2000

0.5

1

NewReno/VQ

Utilization

Queue

Cwnds

(pkts)

Utilization

Queue

Cwnds

(pkts)

NewReno/PI

Ns Simulation: two-way, long-lived traffic

Paremeters: qref_=100

Page 9: Packet implementation:  discretization

Ns Simulation: small marking Prob

MarkingProb

Utilization

EstimatedProb

Queue

Cwnds

Rates

(pkts)

(pkts/sec)

Parameters: 1.65, EWnd=31, 0.37, =0.95 i

New Protocol

Page 10: Packet implementation:  discretization

2)()(

)2/()/)(log( 22

x

exf

mx

Power law

[ ] when , , 0P X x cx x c

[ ] when P X x c x x c

Pareto law

lognormal: log X normally distr., (q,s,m)

Ns Simulation: “heavy-tailed” traffic

Long/heavy-tailed distributions

Crovella data set, 36208 files

Page 11: Packet implementation:  discretization

0 5 10 15 20 250

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0 5 10 15 20 250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 5 10 15 20 25-16

-14

-12

-10

-8

-6

-4

-2

0

0 5 10 15 20 250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Ns Simulation: “heavy-tailed” traffic

flow size(pkts, log2(x)) flow size(pkts, log2(x))

flow size(pkts, log2(x))flow size(pkts, log2(x))

Ex:

Pareto(100,1.0)

Count contribution of the flows

packet contribution of the flows

34078 flows

3.33e+7 pkts

Median size 200.5pkts

Prob(X<x)

Log2(Prob[X>x])

Pareto(scale,shape):

1( [2 , 2 ])

Totalpkts

n npkts x , 2

Totalpkts

nx x

Page 12: Packet implementation:  discretization

0 10 20 30 40 50 60 70 80 90 1000

50

100rtt 100ms

0 10 20 30 40 50 60 70 80 90 1000

200

400

600

800

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

1.5

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

33855 files

Marking Prob

Utilization

Queue

Cwnds

Scenario: 1024 sources started at [0,10] with RTT 100ms, link capacity 1Gbps (125pkts/ms)

Percentage of the sessions

Percentage of the packets

Flow size (log2(x))

Cumulative Distribution of the flows

Ns Simulation: “heavy-tailed” trafficNew Protocol

Page 13: Packet implementation:  discretization

0 10 20 30 40 50 60 70 80 90 1000

100

200rtt 40msrtt 200msrtt 120ms

0 10 20 30 40 50 60 70 80 90 1000

200

400

600

800

0 10 20 30 40 50 60 70 80 90 1000

0.2

0.4

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

1.5

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

Marking Prob

Utilization

Queue

Cwnds

(pkts)

Percentage of the sessions

Percentage of the packets

Flow size (log2(x))

Cumulative Distribution of the flows

Scenario: 2^6, 2^6, 2^7,2^8,2^9 sources started uniformly in [0,10] secs with RTTs 40, 80, 120,160, 200ms,link capacity 1Gbps (125pkts/ms)

Ns Simulation: “heavy-tailed” trafficNew Protocol

Page 14: Packet implementation:  discretization

0 5 10 15 20 25 30 35 40 45 500

100

200

300

400

500rtt 120msrtt 200ms

0 5 10 15 20 25 30 35 40 45 500

500

1000

1500

0 5 10 15 20 25 30 35 40 45 500

0.5

1

0 5 10 15 20 25 30 35 40 45 500

100

200

300

400

500RTT 80msRTT 120ms

0 5 10 15 20 25 30 35 40 45 500

500

1000

1500

0 5 10 15 20 25 30 35 40 45 500

0.5

1

Utilization

Queue

Cwnds

(pkts)

Utilization

Queue

Cwnds

(pkts)

Ns Simulation: “heavy-tailed” traffic

NewReno/RED NewReno/AdaptiveRED

Paremeters: Thresh_ 100, maxthresh_ 2500

Page 15: Packet implementation:  discretization

0 5 10 15 20 25 30 35 40 45 500

100

200

300

400

500

0 5 10 15 20 25 30 35 40 45 500

500

1000

1500

0 5 10 15 20 25 30 35 40 45 500

0.5

1

0 5 10 15 20 25 30 35 40 45 500

100

200

300

400

500

0 5 10 15 20 25 30 35 40 45 500

500

1000

1500

0 5 10 15 20 25 30 35 40 45 500

0.5

1

NewReno/VQ NewReno/PI

Utilization

Queue

Cwnds

(pkts)

Utilization

Queue

Cwnds

(pkts)

Ns Simulation: “heavy-tailed” traffic

Page 16: Packet implementation:  discretization

Packet implementation: tricks ?

Noise and additional delaySimplification:

1 ( ) ( 1)sKTq k q k

M M

1

1( ) ( 1) sW k W k KK T

1

( )( ) ( ) ( )

Kq tx t KK x t q t

M

W x

Window management

Price estimation: log(1- ), =-

log( )

Marks ProbProb Price

N

Pacing output

Capping the change of the cwnd

Penalizing the real queue above a threshold

Smoothing the average arrival rate of the queue

Page 17: Packet implementation:  discretization

Conclusion:

Equation-based implementation has the desirable performance.

--scalable stable, fair, high utilization, small queue

--especially for the high bandwidth links

Price feedback and estimation is the main obstacle.

Improvement may be made to be more efficient.

To be done...

-- packet-drop and timeout

-- optimal parameter set

-- new price estimation and transmission scheme

-- more practical implementation

Page 18: Packet implementation:  discretization

Packet implementation: Source Side

Every seconds:

1 * * ;

1;

;

On each ACK arrival with :

update , estimation window

intInterval

a estPrice b oldPrice

expWnd expWnd c

oldPrice estPrice

newEcn

oldEcn

ecnBits ecnBits+newEcn - oldEcn

estPrice It

[ ];

exp ;

Variables:

: estimated price from the marking probability

: expected congestion window

emPrice ecnBits

CWnd Wnd

estPrice

expWnd

Parameters:

: stability element; 0.37

: constant, 1~10

:from utility function ,50

: constant, 100

:the size of the estimation window

: integral period

*a:constant,

1 1

K

K K log(x)

N

intInterval

K intInterval

baseRT

1

*

: constant, *

: constant, * *

log(1 )ItemPrice[i] : constant, - , 1...

log( )

T M baseRTT

bM baseRTT

c K K intInterval

iN i N

Page 19: Packet implementation:  discretization

Ns Simulation: “heavy-tail” traffic