Peformance models of TCP - PowerPoint PPT Presentation

About This Presentation
Title:

Peformance models of TCP

Description:

dropping/marking packets depends on average queue length - p = p(x) ... Red queue length smoothing. Where. a = averaging parameter of RED(wth) ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 60
Provided by: jimku
Category:

less

Transcript and Presenter's Notes

Title: Peformance models of TCP


1
Peformance 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

2
TCP 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
3
Generic 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)
5
Generic 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

6
receiver
TD
sender
7
Generic 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

8
receiver
sender
9
Generic 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

10
TCP 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)
11
TCP throughput/loss relationship
packets sent per period
W
TCP window size
W/2
period
time (rtt)
12
TCP throughput/loss relationship
packets sent per period
W
TCP window size
W/2
period
time (rtt)
13
TCP 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)
14
B
p
15
Recall 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
16
Bottleneck behavior
  • bottleneck router
  • capacity fully utilized
  • all interfering sessions see same loss prob.
  • do all sessions see same thruput?

17
Single 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.

18
Model 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
19
Model 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
20
Aside other applications
  • comparing different congestion control algorithms
  • is forward error correction useful?

21
New and improved TCP
BUMass(p)
  • new/improved, BUMass(p)
  • TCP, BTCP(p)

thruput
BTCP(p)
BUMass(p) gt BTCP(p)
p
22
Sharing bottleneck with TCP
NUM
NTCP
NUM BUM(p) NTCP Bni(p) C
? BUM(p) gt BTCP(p)
  • a win!

friendly?
23
Replacing TCP with TCP UMass
N BUM(pUM) C
N
vs N BTCP(pTCP) C
? pUM gt pTCP
  • a loss!

pTCP
pUM
24
Use of FEC
  • 10 pkt loss

? poor thruput
use packet level FEC!
p
25
Use of FEC
  • 10 pkt loss

? poor thruput
use packet level FEC!
p
  • pFEC ltlt p

26
Use of FEC
  • available bandwidth, CFEC lt Cwo
  • BFEC( ) Bwo( ) BTCP( )
  • N Bwo(pwo) Cwo
  • N BFEC(pFEC) CFEC
  • ? pFEC gt pwo
  • FEC reduces performance!

27
Bottleneck behavior
  • bottleneck router
  • capacity fully utilized
  • all interfering sessions see same loss prob.

28
Multiple 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
29
Results 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
30
Comments
  • 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

31
Dynamic (transient) analysis of TCP fluids
  • model TCP traffic as fluid
  • describe behavior of flows and queues using
    Ordinary Differential Equations
  • solve resulting ODEs numerically

32
Loss Model
AQM Router
B(t)
p(t)
Sender
Receiver
Loss Rate seen by Sender l(t) B(t-t)p(t-t)
33
A 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
34
Adding 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)
35
System of Differential Equations
Timeouts and slow start ignored
Window Size
Additive increase
Mult. decrease
Arrival rate
Queue length
Outgoing traffic
Incoming traffic
36
System of Differential Equations
if we ignore feedback delay, t ? 0 (not R(t) 0)
37
System of Differential Equations (cont.)
Red queue length smoothing
Where a averaging parameter of RED(wth) tk1
tk d sampling interval 1/C
38
System of Differential Equations (cont.)
Average smoothed queue length
Where a averaging parameter of RED(wth) d
sampling interval 1/C
39
N2 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
40
Steady slate behavior
  • let t ? 8
  • this yields
  • the throughput is

41
Steady slate behavior
  • let t ? 8
  • this yields
  • the throughput is

42
A 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
43
How 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.

44
Good queue length match
45
(No Transcript)
46
Scaling Properties
Wk(t) Wj
k(t) qv(t)
qjv(t)/100
47
Summary 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
48
Other 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).

50
41,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

55
Another choice of response function
Scalable TCP - S 0.15/p
56
(No Transcript)
57
High speed TCP
  • additive increase, multiplicative decrease
  • increments, decrements depend on window size

58
Scalable TCP (STCP)
  • multiplicative increase, multiplicative decrease
  • W ? W a per ACK
  • W ? W b W per window experiencing loss

59
STCP in images
From 1st PFLDnet Workshop, Tom Kelly
Write a Comment
User Comments (0)
About PowerShow.com