Modeling TCP Throughput

86 Views

Download Presentation
## Modeling TCP Throughput

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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