28
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 Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation

Embed Size (px)

Citation preview

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