280 likes | 403 Views
Modeling TCP Throughput. A Simple Model and its Empirical Validation. Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim. Introduction. Simple analytic characterization of the steady state throughput A stochastic model of TCP congestion control
E N D
Modeling TCP Throughput A Simple Model and its Empirical Validation JitendraPadhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim
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
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
TCP Congestion Avoidance • How do we resolve this problem?
TCP Congestion Avoidance • TCP Reno – a newer version • Slow Start • W’ = W + 1 (each ACK arrives) • Eventually, doubling every RTT
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
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
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 r P1 P2 P3 P4 P5 P6
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
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 independent 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
Loss indications & triple-duplicate ACKs • Markov Model • Predict the future through the past • Based on conditional probability Future state depends on only current state, not the past
Loss indications & triple-duplicate ACKs • P(Rain, Sunny, Cloudy) = ? = p(Rain) * p(Sunny|Rain) * p(Cloudy|Sunny)
Loss indications & triple-duplicate ACKS • How do we predict the weather ?
Loss indications & triple-duplicate ACKs • MRGP • I.I.D random variables
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)
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]
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
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
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]
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
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]
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
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 models’ • Unconstrained window size : Wu • E[Wu] < Wmax • Wmax approximately equal to E[Wu]
Impact of window limitation & a full model • A full model • An approximate model
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 indication Y-axis = n of packets sent TD = only TD intervals T0 = single TO intervals T1 = double TO intervals T2 = Triple TO intervals TD Only = prediction of TD only model Full = prediction of full model
Empirical validation • Analysis of measurement tables • Overestimation of throughput in TD Only model • Full model close to measurement • Connections suffering from more time-out rather than 3 duplicate ACKs
Conclusion • A simple model of TCP-Reno • Capturing essence of TCP’s congestion avoidance behavior • TDP & time-out • Expressing throughput as a function of loss rate • Most connections suffered from a considerable number of time-outs
Q&A • Thank you for listening to my presentation