Modeling TCP Throughput

Download Report

Transcript Modeling TCP Throughput

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 backto-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
E[Y ]
B
E[ A]


i: the first packet lost in TDPi
Xi: round where this loss occurs
E[Y ]  E[ ]  E[W ]  1

We get
P[  k ]  (1  p)

E[ ]   (1  p)
k 1
k 1
k 1
p
1
pk 
p

Hence
E[Y ] 

1 p
 E[W ]
p
Rij: round trip time of the jth round of TDPi
Xi1
Ai   Rij
j 1

Since we assume Rij independent of congestion windowRij
independent of j
E[ A]  ( E[ X ]  1) E[ R]  ( E[ X ]  1) RTT
Wi  1 Xi
Wi 

2
b

So

i: # packets sent in the last round
Fact that Yi packets transmitted in TDPi

2
E[W ]  E[ X ]
b
Yi 
Xi 1
b

k 0
Wi  1
(
 k )b  i
2
XiWi  1 Xi Xi
Yi 
 (  1)  i
2
2 b
Xi Wi  1
 (
Wi  1)  i
2 2
1 p
E[ X ] E[W ]
 E[W ] 
(
 E[W ]  1)  E[ B]
p
2
2

Consider i uniformly distributed between 1 and Wi:
E[W ]
E[ B ] 
2
2b
8(1  p) 2  b 2
E[W ] 

(
)
3b
3bp
3b
b
2b
2b(1  p) 2  b 2
E[ X ]  E[W ] 

(
)
2
6
3p
6

So

And
2b
2b(1  p) 2  b 2
E[ A]  RTT (

(
)  1)
6
3p
6
1 p
 E[W ]
p
B( p) 
E[ A]
B( p) 
1 p 2  b
8(1  p) 2  b 2


(
)
p
3b
3bp
3b
RTT (
2b
2b(1  p) 2  b 2

(
)  1)
6
3p
6
Model: Loss Indications are
Exclusively Duplicate ACKs
1
B( p ) 
RTT




3
2bp
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
Model: Include Both Duplicate
ACKs and Timeouts
1
B( p) 
RTT

2bp
3bp
 T 0 min(1,3
) p(1  32 p 2 )
3
8
T0 – Length of timeout
Model: Include Impact of Receiver
Window Size to Throughput
W max
B( p)  min(
,
RTT

1
2bp
3bp
RTT
 T 0 min(1,3
) p(1  32 p 2 )
3
8
Wmax – maximum congestion window size
)
Full TCP Throughput Model

Wu – unconstrained window size
If E[Wu] < Wmax

Otherwise

1 p
1
 E[W ]  Q ( E[W ])
p
1 p
B ( p )
b
f ( p)
RTT ( E[W ]  1)  Q ( E[W ])T 0
2
1 p
1 p
1
 W max Q(W max)
p
1 p
B( p) 
b
1 p
f ( p)
RTT ( W max
 2)  Q(W max)T 0
8
pW max
1 p
Where…
2b
8(1  p) 2  b 2
E[Wu ] 

(
)
3b
3bp
3b
f ( p)  1  p  2 p 2  4 p3  8 p 4  16 p5  32 p6
And

Q(w) – the probability that a loss in a window of
size w is a TO
(1  (1  p) )(1  (1  p) (1  (1  p)
Q(w)  min(1,
1  (1  p) w
3
3
w 3
))
)
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 sourcedestination 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
Error 
•
•
•

| Npredicted  Nobserved |
Nobserved
observations
#observations
Nobserved-number of
packets sent over an
interval
Pobserved-loss frequency
over an interval
Npredicted =
B(pobserved)*100s
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.