1 / 28

Modeling TCP Throughput

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

reilly
Download Presentation

Modeling TCP Throughput

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. TCP Congestion Avoidance • How do we resolve this problem?

  5. TCP Congestion Avoidance • TCP Reno – a newer version • Slow Start • W’ = W + 1 (each ACK arrives) • Eventually, doubling every RTT

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

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

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

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

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

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

  12. Loss indications & triple-duplicate ACKs • P(Rain, Sunny, Cloudy) = ? = p(Rain) * p(Sunny|Rain) * p(Cloudy|Sunny)

  13. Loss indications & triple-duplicate ACKS • How do we predict the weather ?

  14. Loss indications & triple-duplicate ACKs • MRGP • I.I.D random variables

  15. 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)

  16. 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]

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

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

  19. 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]

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

  21. 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]

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

  23. 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]

  24. Impact of window limitation & a full model • A full model • An approximate model

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

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

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

  28. Q&A • Thank you for listening to my presentation

More Related