Download presentation

Presentation is loading. Please wait.

Published byMeagan Griswold Modified about 1 year ago

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

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

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 TDP i 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 TDP i : α i –The round where a loss occurs : X i –Y i = α i + W i – 1 Total of Y i packets sent in X i +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 Y i can be expressed by (10) B i : N of packets sent in the last round –B i = W i / 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 –Z TO : duration of a sequence of time-outs –Z TD : time interval b/w 2 consecutive TO sequences –S i = Z i TO + Z i TD –M : N of packets sent during S i –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 Z TO 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 W max Let’s follow the similar process to previous models’ –Unconstrained window size : Wu –E[Wu] < W max –W max 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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google