- 60 Views
- Uploaded on
- Presentation posted in: General

Modeling TCP Throughput

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Modeling TCP Throughput

A Simple Model and its Empirical Validation

JitendraPadhye

Victor Firoiu

Don Towsley

Jim Kurose

Presented by Jaebok Kim

- 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

- A stochastic model of TCP congestion control

- 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

- How do we resolve this problem?

- TCP Reno – a newer version
- Slow Start
- W’ = W + 1 (each ACK arrives)
- Eventually, doubling every RTT

- 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

- 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

- 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

- Drop-tail policy
- Same implementation of TCP-Reno

r

P1

P2

P3

P4

P5

P6

- 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

- B = E[Y] / E[A]

- 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

- A cycle will repeat (TDP1, TDP2, TDP3, so on….)

- Markov Model
- Predict the future through the past
- Based on conditional probability
Future state depends

on only current state,

not the past

- P(Rain, Sunny, Cloudy) = ?
= p(Rain) * p(Sunny|Rain) * p(Cloudy|Sunny)

- How do we predict the weather ?

- MRGP
- I.I.D random variables

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

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

- 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

- 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

- As we get E[W], we could get E[X] & E[A]
- Eventually, B(p) is derived from E[Y]/E[A]

- 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

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

- 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

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

- A full model
- An approximate model

- 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

- 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

- 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

- Capturing essence of TCP’s congestion avoidance behavior

- Thank you for listening to my presentation