Title: Peformance models of TCP
1Peformance models of TCP
- can simulate (ns-2)
- faithful to operation of TCP
- - expensive, time consuming
- deterministic approximations
- quick
- - ignore some TCP details, steady state
- fluid models
- transient behavior
- - ignore some TCP details
2TCP behavior
TCP runs at end-hosts
- congestion control
- decrease sending rate when loss detected,
increase when no loss - routers
- discard, mark packets when congestion occurs
- interaction between end systems (TCP) and
routers? - want to understand (quantify) this interaction
congested router drops packets
3Generic TCP behavior
- window algorithm (window W )
- up to W packets in network
- return of ACK allows sender to send another
packet - cumulative ACKS
- increase window by one per RTT
W lt- W 1/W per ACK - ? W lt- W 1 per RTT
- seeks available network bandwidth
4(No Transcript)
5Generic TCP behavior
- window algorithm (window W)
- increase window by one per RTT
W lt- W 1/W per ACK - loss indication of congestion
- decrease window by half on detection of loss,
(triple duplicate ACKs), W lt- W/2
6receiver
TD
sender
7Generic TCP Behavior
- window algorithm (window W)
- increase window by one per RTT W lt-
W 1/W per ACK - halve window on detection of loss, W lt- W/2
- timeouts due to lack of ACKs -gt window reduced to
one, W lt- 1
8receiver
sender
9Generic TCP Behavior
- window algorithm (window W)
- increase window by one per RTT (or one over
window per ACK, W lt- W 1/W) - halve window on detection of loss, W lt- W/2
- timeouts due to lack of ACKs, W lt- 1
- successive timeout intervals grow exponentially
long up to six times
10TCP throughput/loss relationship
loss occurs
- Idealized model
- W is maximum supportable window size (then loss
occurs) - TCP window starts at W/2 grows to W, then halves,
then grows to W, then halves - one window worth of packets each RTT
- find throughput as function of loss, RTT
W
TCP window size
W/2
time (rtt)
11TCP throughput/loss relationship
packets sent per period
W
TCP window size
W/2
period
time (rtt)
12TCP throughput/loss relationship
packets sent per period
W
TCP window size
W/2
period
time (rtt)
13TCP throughput/loss relationship
packets sent per period
W
TCP window size
W/2
period
time (rtt)
B throughput formula can be extended to model
timeouts and slow start (PFTK)
14B
p
15Recall RED queue management
- dropping/marking packets depends on average queue
length -gt p p(x) - more generally active queue management (AQM)
1
Marking probability p
pmax
0
tmin
tmax
2tmax
Average queue length x
16Bottleneck behavior
- bottleneck router
- capacity fully utilized
- all interfering sessions see same loss prob.
- do all sessions see same thruput?
17Single bottleneck infinite flows
- N infinite TCP sessions
- two way propagation delay Ai, i 1,,N
- throughput Bi(p,RTTi)
- one bottleneck router
- RED queue management
- avg. queue length x dropping probability p(x)
- to obtain
- Bi TCP sessions throughput,
- router behavior, e.g., drop prob. avg. queue len.
18Model and solution
- model
- solve a fixed point problem for x
- unique solution provided B is monotonic and
continuous on x - resulting x can be used to obtain RTTi and p
p p(x) (AQM) RTTi Ai
x /C (round trip time) ?i B (p , RTT
i) C, for j 1 ,,N
19Model versus simulation single bottleneck,
infinite flows
- fixed router capacity 4 Mbps and RED parameters
- 10-120 TCP flows
- two-way prop. delay 202i ms, i 1,,N
router loss
throughput
20Aside other applications
- comparing different congestion control algorithms
- is forward error correction useful?
21New and improved TCP
BUMass(p)
thruput
BTCP(p)
BUMass(p) gt BTCP(p)
p
22Sharing bottleneck with TCP
NUM
NTCP
NUM BUM(p) NTCP Bni(p) C
? BUM(p) gt BTCP(p)
friendly?
23Replacing TCP with TCP UMass
N BUM(pUM) C
N
vs N BTCP(pTCP) C
? pUM gt pTCP
pTCP
pUM
24Use of FEC
? poor thruput
use packet level FEC!
p
25Use of FEC
? poor thruput
use packet level FEC!
p
26Use of FEC
- available bandwidth, CFEC lt Cwo
- BFEC( ) Bwo( ) BTCP( )
- N Bwo(pwo) Cwo
- N BFEC(pFEC) CFEC
- ? pFEC gt pwo
- FEC reduces performance!
27Bottleneck behavior
- bottleneck router
- capacity fully utilized
- all interfering sessions see same loss prob.
28Multiple Bottleneck infinite flows
- N TCP flows
- throughputs B ltBi (Ri,pi)gt
- V congested AQM routers
- capacities C ltCv gt
- avg. queue lengths x ltxv gt
- discard prob. p ltpv (xv )gt
bottleneck router model ?i Bi (x ) Cv , v
1,,V V equations, V unknowns
29Results multiple bottleneck, infinite flows
- tandem network core, 5 -10 routers
- 2-way propagation delay 20-120 ms
- bandwidth, 2-6 Mbps
- PFTK model error
- throughput lt 10
- loss rate lt 10
- avg. queue length lt 15
- similar results for cyclic networks
throughput
router loss
30Comments
- what about UDP / non-TCP flows?
- if there are non-responsive flows, just
decrease bottleneck capacity by non-responsive
flow rate - what about short lived flows?
- hard (some work in sigcomm 2001 Massoulie)
- note throughout, assumption that time to send
packets in window is less that RTT
31Dynamic (transient) analysis of TCP fluids
- model TCP traffic as fluid
- describe behavior of flows and queues using
Ordinary Differential Equations - solve resulting ODEs numerically
32Loss Model
AQM Router
B(t)
p(t)
Sender
Receiver
Loss Rate seen by Sender l(t) B(t-t)p(t-t)
33A Single Congested Router
- focus on single bottlenecked router
- capacity C (packets/sec)
- queue length q(t)
- discard prob. p(t)
- N TCP flows thru router
- window sizes Wi(t)
- round trip time
- Ri(t) Aiq(t)/C
- throughputs
- Bi (t) Wi(t)/Ri(t)
TCP flow i
AQM router C, p
34Adding RED to the model
RED Marking/dropping based on average queue
length x(t)
1
Marking probability p
pmax
tmin
tmax
2tmax
Average queue length x
x(t) smoothed, time averaged q(t)
35System of Differential Equations
Timeouts and slow start ignored
Window Size
Additive increase
Mult. decrease
Arrival rate
Queue length
Outgoing traffic
Incoming traffic
36System of Differential Equations
if we ignore feedback delay, t ? 0 (not R(t) 0)
37System of Differential Equations (cont.)
Red queue length smoothing
Where a averaging parameter of RED(wth) tk1
tk d sampling interval 1/C
38System of Differential Equations (cont.)
Average smoothed queue length
Where a averaging parameter of RED(wth) d
sampling interval 1/C
39N2 coupled equations
N flows Wi(t) Window size of
flow i Ri(t) RTT of flow i p(t) Drop
probability q(t) queue length
Equations solved numerically using MATLAB
40Steady slate behavior
- let t ? 8
- this yields
- the throughput is
41Steady slate behavior
- let t ? 8
- this yields
- the throughput is
42A queue is not a Network
Network - set of AQM routers, V
sequence Vi for session i
Round trip time - aggregate delay
Ri(t) Ai Sv?Vi qv(t)/Cv
Loss/marking probability - cumulative prob
pi (t) 1-Pv ?Vi (1 - pv(qv(t)))
Link bandwidth constraints Queue equations
43How well does it work?
- OC-12 OC-48 links
- RED with target delay 5msec
- 2600 TCP flows
OC-12
OC-48
- decrease to 1300 at 30 sec.
- increase to 2600 at 90 sec.
44Good queue length match
45(No Transcript)
46Scaling Properties
Wk(t) Wj
k(t) qv(t)
qjv(t)/100
47Summary TCP flows as fluids
- What have we seen?
- model TCP as constant rate fluid flows
- rate sensitive to congestion via
- capacities C ltCv gt
- avg. queue lengths x ltxv gt
- discard prob. p ltpv (xv )gt
- dynamic (transient) behavior of TCP modeled as
system of differential equations
ability to predict performance of system of TCP
flows using fluid models
48Other uses
- droptail queue
- other congestion control algorithms
49- Standard TCP connection with
- 1500-byte packets
- 100 ms round-trip time
- steady-state throughput of 10 Gbps
- requires average congestion window of 83,333
segments - at most one drop (mark) every 5,000,000,000
packets equivalently, one drop every 1 2/3 hours).
5041,000 packets
60,000 RTTs 100 minutes
51(No Transcript)
52- In practice, users do one of
- open N parallel TCP connections
- use MulTCP (roughly an aggregate of N virtual TCP
connections). - Can we do better?
53(No Transcript)
54- At one end of spectrum
- simple, incremental, and easily-deployable
changes to current protocols - HighSpeed TCP (TCP with modified parameters)
- QuickStart (IP option to allow high initial
congestion windows.) - At other end of spectrum
- new transport protocol, more explicit feedback
from routers
55Another choice of response function
Scalable TCP - S 0.15/p
56(No Transcript)
57High speed TCP
- additive increase, multiplicative decrease
- increments, decrements depend on window size
58Scalable TCP (STCP)
- multiplicative increase, multiplicative decrease
- W ? W a per ACK
- W ? W b W per window experiencing loss
59STCP in images
From 1st PFLDnet Workshop, Tom Kelly