Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim...

28
Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation

Transcript of Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim...

Page 1: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Modeling TCP Throughput

Jitendra Padhye Victor FiroiuDon TowsleyJim Kurose

Presented by Jaebok Kim

A Simple Model and its Empirical Valida-tion

Page 2: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Introduction

• Simple analytic characterization of the steady state throughput– A stochastic model of TCP congestion control

• Deriving mathematical formulas

– Taking account of not only retransmit but also timeout

Page 3: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Contents

• TCP Congestion Avoidance

• Simplifying assumptions

• Loss indications & triple-duplicate ACKs

• Loss indications & triple-duplicate ACKs, time-outs

• Impact of window limitation & a full model

• Empirical validation

• Conclusion

Page 4: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

TCP Congestion Avoidance

• How do we resolve this problem?

Page 5: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

TCP Congestion Avoidance

• TCP Reno – a newer version• Slow Start

– W’ = W + 1 (each ACK arrives)– Eventually, doubling every RTT

Page 6: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

TCP Congestion Avoidance

• Additive Increase– W’ = W + 1/W (each ACK arrives)– W’’ = W + 1/B (Second round begins)

• B = n of Acknowledged Packets by 1 ACK (Typically, 2)• W/B ACKs will arrive & each ACK increase 1/W

Page 7: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

TCP Congestion Avoidance

• Multiplicative Decrease (3Duplicate ACKs)– W’ = W * Md – Eventually, W’ = W/2– Don’t go back to Slow Start, but Additive Increase

• Time Out – Go back to Slow Start– W = 1

Page 8: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Simplifying assumptions

• No time for Fast Recovery• No time for Slow Start• Correlated packets losses in a round

– Drop-tail policy• At a full buffer, drop all packets arriving late

– But, independent between rounds• Separated by RTT

• Same implementation of TCP-Reno

P1 P2 P4P3 P5 P6r

Page 9: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• B – long term steady-state TCP throughput– Windows increases by 1/b– Windows decreases by a factor of 2

• P – loss probability• Get B(p) by utilizing Markov Regenerative Process

– B = E[Y] / E[A]• Y = N of packets sent in TDPi

• A = duration of the period• E[ ] = Expected value in MRGP

Page 10: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• Why do we need MRGP?– A cycle will repeat (TDP1, TDP2, TDP3, so on….)

• Like a sequence of output

– New size of windows depends on only previous one’s • Markov Chain

– Each loss in rounds is separated by RTT (Independently)• In statistics, a sequence of random variables is indepen-

dent and identically distributed (i.i.d.) if each has the same probability distribution as the others and all are mutually independent

– Representing steady state model

Page 11: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• Markov Model– Predict the future through the past– Based on conditional probability

Future state depends

on only cur-rent state,

not the past

Page 12: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• P(Rain, Sunny, Cloudy) = ? = p(Rain) * p(Sunny|Rain) * p(Cloudy|Sunny)

Page 13: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKS

• How do we predict the weather ?

Page 14: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• MRGP– I.I.D random variables

Page 15: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• To get B(p) = E[Y]/E[A]– N of packets, including first lost packet, sent in a TDPi :

αi – The round where a loss occurs : Xi

– Yi = αi + Wi – 1 • Total of Yi packets sent in Xi +1 rounds

– E[Y] = E[α] + E[W] – 1 (2)

Page 16: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• To derive E[α]– Expected value in random process {αi }i : E[α]– Based on the assumption

• Lost packets in a round are independent on any packets in other rounds

• Independent & identically distributed random variables

– P[α = k] equal to p that k-1 packets are acknowledged before a loss

– By using (2) and (4), we could derive (5) E[Y]

Page 17: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• The increase is linear with slope 1/b

• Yi can be expressed by (10)

• Bi : N of packets sent in the last round – Bi = Wi / 2

Page 18: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• To derive E[W]– {Wi}, {Xi} all independent sequence of I.I.D random v– So, derive (12) from (7),(10) and (5)

– Quadratic equation from (11) & (12)(1-p)/p + w = b* E[W]/4 (3/2 * E[W] – 1) + E[W]/2

Page 19: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs

• As we get E[W], we could get E[X] & E[A] • Eventually, B(p) is derived from E[Y]/E[A]

Page 20: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs, Time-outs

• The major reason for window decreases– Timeout rather than fast retransmit – Occurring when packets(or ACKs) are lost– After time-out , W’ = 1– The period of time-out will doubles

Page 21: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs, Time-outs

• Utilizing MRGP again– ZTO : duration of a sequence of time-outs– ZTD : time interval b/w 2 consecutive TO sequences– Si = ZiTO + ZiTD

– M : N of packets sent during Si – B = E[M] / E[S]

Page 22: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Loss indications & triple-duplicate ACKs, Time-outs

• How to get B(p) ?– We’ve already known E[Y], E[A]. So, let’s utilize them

– Ri = N of packets sent during time-out sequence ZTO

• Similar process to get B(p) for TDP– Getting a full model & an approximate model

Page 23: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Impact of window limitation & a full model

• Keep in mind that limitation of window size• Windows can’t grow up over Wmax

• Let’s follow the similar process to previous mod-els’– Unconstrained window size : Wu– E[Wu] < Wmax – Wmax approximately equal to E[Wu]

Page 24: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Impact of window limitation & a full model

• A full model

• An approximate model

Page 25: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Empirical validation

• Validating formulae, derived so far, by measurement – 24 data sets with 1 hour long TCP connection– Infinite source

X-axis = frequency of loss indicationY-axis = n of packets sentTD = only TD intervalsT0 = single TO intervalsT1 = double TO intervalsT2 = Triple TO intervals

TD Only = prediction of TD only modelFull = prediction of full model

Page 26: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Empirical validation

• Analysis of measurement tables• Overestimation of throughput

in TD Only model

• Full model close to measure-ment

• Connections suffering from more time-out rather than 3 du-plicate ACKs

Page 27: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Conclusion

• A simple model of TCP-Reno– Capturing essence of TCP’s congestion avoidance behav-

ior• TDP & time-out

– Expressing throughput as a function of loss rate• Most connections suffered from a considerable number of

time-outs

Page 28: Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Q&A

• Thank you for listening to my presentation