Modeling TCP Throughput Jeng Lung WebTP Meeting 11/1/99

Preview:

Citation preview

Modeling TCP Throughput

Jeng Lung

WebTP Meeting

11/1/99

Introduction

Analytic characterization of the steady state throughput as a function of loss rate and round trip time for a bulk transfer TCP flow.

Models effects of both the fast retransmit and timeout mechanism on throughput.

Measurements suggests that there are more timeout events than fast retransmit events.

Also model the effects of small receiver-side windows.

Model for TCP Congestion Control

Focus on the congestion avoidance behavior of TCP and its impact on throughput.

Take into account:– Dependence of congestion avoidance on ACK

behavior– The manner in which packet loss is inferred (by

duplicate ACK detection or by timeout)– Limited receiver window size– Average round trip time.

Model for TCP Congestion Control

Develop stochastic model of TCP congestion control corresponding to different operating regimes:

– when losses are exclusively TD (triple-duplicate)– when losses are both TD and TO (timeout)– when the congestion window size is limited by the receiver’s

advertised window. Model TCP congestion avoidance behavior in terms of

“rounds”.– A round starts with the back-to-back transmission of W

packets and ends with the reception of the first ACK for one of these W packets.

Assumptions

Throughput of a saturated TCP sender: A flow with unlimited amount of data to send.

Time spent in slow start is negligible compared to length of the connection.

Impact of fast recovery is quite small and therefore omitted.

Duration of a round is equal to the round trip time and is assumed to be independent of the window size.

Additional Assumptions

Time needed to send all the packets in a window is smaller than the round trip time.

Packet is lost in a round independently of any packets lost in other rounds.– Justification comes from the fact that packets in

different rounds are separated by one round trip time or more, and thus they are likely to encounter buffer states that are independent of each other.

More Additional Assumptions

Packet losses are correlated among the back-to-back transmissions within a round so if a packet is lost, all remaining packets transmitted until the end of that round are also lost.– Justification for this assumption comes from the fact

that the vast majority of routers in the Internet uses drop-tail policy.

Loss indications are exclusively “triple-dup” ACKs

TD period – period between 2 TD losses For i-th TD period:

– Yi: # packets sent in this period– Ai: duration of the period– Wi: window size at end of period

][

][

AE

YEB

i: the first packet lost in TDPi Xi: round where this loss occurs

We get1][][][ WEEYE

ppkP k 1)1(][

1

1 1)1(][

k

k

ppkpE

Hence

Rij: round trip time of the jth round of TDPi

Since we assume Rij independent of congestion windowRij independent of j

][1

][ WEp

pYE

1

1

Xi

j

RijAi

RTTXEREXEAE )1][(][)1][(][

So

i: # packets sent in the last round Fact that Yi packets transmitted in TDPi

b

XiWWi

i

2

1

][2

][ XEb

WE

1

0

1)

2(

bXi

k

iibk

WYi

ib

XXWXYi

iiii

)1(22

1

iWWX

iii

)12

(2

1

Consider i uniformly distributed between 1 and Wi:

][)1][2

][(

2

][][

1BEWE

WEXEWE

p

p

2

][][

WEBE

So

And

2)3

2(

3

)1(8

3

2][

b

b

bp

p

b

bWE

2)6

2(

3

)1(2

6

2][

2][

b

p

pbbWE

bXE

)1)6

2(

3

)1(2

6

2(][ 2

b

p

pbbRTTAE

][

][1

)(AE

WEpp

pB

)1)6

2(

3)1(2

62

(

)3

2(

3)1(8

321

)(2

2

b

ppbb

RTT

bb

bpp

bb

pp

pB

Model: Loss Indications are Exclusively Duplicate ACKs

B(p) – throughput in terms of packets per second p – loss probability of a packet b – number of packets acknowledged by a received

ACK (I.e., delayed ACK, typically 2) RTT – round trip time

bpRTTpB

2

31)(

Model: Include Both Duplicate ACKs and Timeouts

T0 – Length of timeout

)321()8

33,1min(

32

1)(

20 pp

bpT

bpRTT

pB

Model: Include Impact of Receiver Window Size to Throughput

Wmax – maximum congestion window size

)

)321()8

33,1min(

32

1,min()(

20

max

ppbp

Tbp

RTTRTT

WpB

Full TCP Throughput Model

Wu – unconstrained window size If E[Wu] < Wmax

Otherwiseppf

TWEQWEb

RTT

pWEQWE

pp

pB

1)(

])[()1][2

(

11

])[(][1

)(0

ppf

TWQpW

pWb

RTT

pWQW

pp

pB

1)(

)()21

8(

11

)(1

)(0max

maxmax

maxmax

Where…

2)3

2(

3

)1(8

3

2][

b

b

bp

p

b

bWE u

65432 32168421)( pppppppf

And

Q(w) – the probability that a loss in a window of size w is a TO

))1(1

)))1(1()1(1)()1(1(,1min()(

333

w

w

p

pppwQ

Measurement Setup (1 hr traces)

• Gather data by running tcpdump at the sender.

• All sender behaves as an “infinite source”-always have data to send.

• Approximate p by dividing the total number of loss indications by the total number of packets sent.

• 24 data sets of one hour long TCP connections

Measurement Setup (100 s traces)

• 100 serially initiated TCP connections with each connection lasting 100 seconds, followed by a 50 second gap before the next connection is initiated.

• Each data set is combined cumulatively over 100 traces for a given source-destination pair.

Experimental Results (1 hr traces)

• Each one hour trace was divided into 36 consecutive 100 second intervals.

• Each plotted point on the graph represents the number of packets sent versus the number of loss indications during a 100s interval.

Experimental Results (100 s traces)

• Each point represents an individual 100 second TCP connection.

• Use RTT and timeout durations that are averaged over all 100 traces.

Models for 1 hour traces

• Nobserved-number of packets sent over an interval

• Pobserved-loss frequency over an interval

• Npredicted = B(pobserved)*100s

nsobservationsobservatio N

NN

observed

observedpredicted

Error#

||

Models for 100 second traces

• Use the value of RTT and timeout calculated for each 100 second trace.

• For most cases, proposed model is better than the TD Only model.

Model and Experimental Results

Assumption that round trip time is independent of the window size is found to be false for certain cases:

– Assumption is checked by measuring coefficient of correlation between duration of round samples and the number of packets in transit during each sample.

– For most traces the coefficient is in the range -0.1 to +0.1– In the case when the receiver is at the end of a modem line,

the coefficient of correlation is found to be as high as 0.97

Reference

J. Padhye, V. Firoiu, D. Towsley, J. Kurose. Modeling TCP Throughput: A Simple Model and its Empirical Validation. In Proceedings of SIGCOMM 98, 1998.

Recommended