Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim...

109
Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z. Wang (UCLA) L. Peterson, L. Wang (Princeton) Matthew Roughan (AT&T Labs)

Transcript of Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim...

Page 1: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Acknowledgments

S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb)

J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z. Wang (UCLA)

L. Peterson, L. Wang (Princeton)Matthew Roughan (AT&T Labs)

Page 2: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Copyright, 1996 © Dale Carnegie & Associates, In

TCP Congestion Control:Algorithms & Models

Steven Low

netlab.caltech.edu

IPAM, 2002

Page 3: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

IntroductionAlgorithms

Window flow control

TCP algorithm: Tahoe, Reno, VegasAQM algorithm: RED, REM, variants

ModelsDuality modelLinear dynamic model

Page 4: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Part 0Introduction

Page 5: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP/IP Protocol Stack

Applications (e.g. Telnet, HTTP)

TCP UDP ICMPARPIP

Link Layer (e.g. Ethernet, ATM)

Physical Layer (e.g. Ethernet, SONET)

Page 6: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Packet Terminology

Application Message

TCP dataTCP hdr

MSSTCP Segment

IP dataIP hdrIP Packet

Ethernet dataEthernet

Ethernet Frame

20 bytes

20 bytes

14 bytes 4 bytesMTU 1500 bytes

Page 7: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

IP

Packet switchedDatagram service

Unreliable (best effort)Simple, robust

HeterogeneousDumb network, intelligent terminals

Compare with PSTN

Page 8: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP

Packet switchedEnd-to-end

Reliable, in order delivery of a packet stream

Reliability through ACKsFlow control: use bandwidth

efficiently

Page 9: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Success of IP

Applications

IP

Transmission

Simple/Robust Robustness against failure Robustness against technological

evolutions

WWW, Email, Napster, FTP, …

Ethernet, ATM, POS, WDM, …

Page 10: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP versions

TCP is not perfectly homogenous (200+)4.2 BSD first widely available release of TCP/IP (1983)

4.3 BSD (1986)

4.3 BSD Tahoe (1988)

4.3 BSD Reno (1990)

Vegas (1994)

Windows 95

SunOS 4.1.3,4.1.4

4.4 BSD (1993)HP/UX

Solaris 2.3,2.4

Digital OSF

Windows NT

Linux 1.0IRIX

..... NewReno (1999)

Page 11: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Part IAlgorithms

Page 12: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP & AQM

xi(t)

pl(t)

Example congestion measure pl(t)

Loss (Reno)Queueing delay (Vegas)

Page 13: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP & AQM

xi(t)

pl(t)

TCP: Reno Vegas

AQM: DropTail RED REM,PI,AVQ

Page 14: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

IntroductionAlgorithms

Window flow control

TCP algorithm: Tahoe, Reno, VegasAQM algorithm: RED, REM, variants

ModelsDuality modelLinear dynamic model

Page 15: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Early TCP

Pre-1988Go-back-N ARQ

Detects loss from timeoutRetransmits from lost packet onward

Receiver window flow controlPrevent overflows at receive buffer

Flow control: self-clocking

Page 16: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Why Flow Control?

October 1986, Internet had its first congestion collapse

Link LBL to UC Berkeley 400 yards, 3 hops, 32 Kbpsthroughput dropped to 40 bpsfactor of ~1000 drop!

1988, Van Jacobson proposed TCP flow control

Page 17: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Effect of Congestion

Packet loss Retransmission Reduced throughput Congestion collapse due to

Unnecessarily retransmitted packets Undelivered or unusable packets

Congestion may continue after the overload!throughput

load

Page 18: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Window Flow Control

~ W packets per RTTLost packet detected by missing ACK

RTT

time

time

Source

Destination

1 2 W

1 2 W

1 2 W

data ACKs

1 2 W

Page 19: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Window flow control

Limit the number of packets in the network to window W

Source rate = bps

If W too small then rate « capacityIf W too big then rate > capacity

=> congestion

Adapt W to network (and conditions)W = BW x RTT

RTT

MSSW

Page 20: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP Window Flow Controls

Receiver flow control Avoid overloading receiver Set by receiver awnd: receiver (advertised) window

Network flow control Avoid overloading network Set by sender Infer available network capacity cwnd: congestion window

Set W = min (cwnd, awnd)

Page 21: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Receiver Flow Control

Receiver advertises awnd with each ACK

Window awndclosed when data is received and ack’dopened when data is read

Size of awnd can be the performance limit (e.g. on a LAN)sensible default ~16kB

Page 22: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Network Flow Control

Source calculates cwnd from indication of network congestion

Congestion indicationsLosses DelayMarks

Algorithms to calculate cwndTahoe, Reno, Vegas, RED, REM …

Page 23: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

IntroductionAlgorithms

Window flow control

TCP algorithm: Tahoe, Reno, VegasAQM algorithm: RED, REM, variants

ModelsDuality modelLinear dynamic model

Page 24: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP Congestion Controls

Tahoe (Jacobson 1988) Slow Start Congestion Avoidance Fast Retransmit

Reno (Jacobson 1990) Fast Recovery

Vegas (Brakmo & Peterson 1994) New Congestion Avoidance

RED (Floyd & Jacobson 1993) Probabilistic marking

REM (Athuraliya & Low 2000) Clear buffer, match rate

Page 25: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Variants

Tahoe & RenoNewRenoSACKRate-halvingMod.s for high performance

AQMRED, ARED, FRED, SREDBLUE, SFBREM, PI, AVQ

Page 26: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP Tahoe (Jacobson 1988)

SStime

window

CA

SS: Slow StartCA: Congestion Avoidance

Page 27: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Slow Start

data packetACK

receiversender

1 RTT

cwnd1

2

34

5678

cwnd cwnd + 1 (for each ACK)

Page 28: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Congestion Avoidance

cwnd1

2

3

1 RTT

4

data packetACK

cwnd cwnd + 1 (for each cwnd ACKS)

receiversender

Page 29: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Packet Loss

Assumption: loss indicates congestionPacket loss detected by

Retransmission TimeOuts (RTO timer)Duplicate ACKs (at least 3)

1 2 3 4 5 6

1 2 3

Packets

Acknowledgements

3 3

7

3

Page 30: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Fast Retransmit

Wait for a timeout is quite longImmediately retransmits after 3

dupACKs without waiting for timeoutAdjusts ssthresh

flightsize = min(awnd, cwnd)ssthresh max(flightsize/2, 2)

Enter Slow Start (cwnd = 1)

Page 31: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Summary: Tahoe

Basic ideas Gently probe network for spare capacity Drastically reduce rate on congestion Windowing: self-clocking Other functions: round trip time estimation,

error recoveryfor every ACK { if (W < ssthresh) then W++ (SS) else W += 1/W (CA)}for every loss {

ssthresh = W/2 W = 1 }

Page 32: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Fast recovery

Motivation: prevent `pipe’ from emptying after fast retransmit

Idea: each dupACK represents a packet having left the pipe (successfully received)

Enter FR/FR after 3 dupACKs Set ssthresh max(flightsize/2, 2) Retransmit lost packet Set cwnd ssthresh + ndup (window inflation) Wait till W=min(awnd, cwnd) is large enough;

transmit new packet(s) On non-dup ACK (1 RTT later), set cwnd

ssthresh (window deflation) Enter CA

Page 33: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

9

94

0 0

Example: FR/FR

Fast retransmitRetransmit on 3 dupACKs

Fast recoveryInflate window while repairing loss to fill pipe

timeS

timeR

1 2 3 4 5 6 87

8

cwnd 8ssthresh

1

74

0 0 0

Exit FR/FR

44

411

00

1011

Page 34: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Summary: Reno

Basic ideasFast recovery avoids slow startdupACKs: fast retransmit + fast recoveryTimeout: fast retransmit + slow start

slow start retransmit

congestion avoidance FR/FR

dupACKs

timeout

Page 35: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

NewReno: Motivation

On 3 dupACKs, receiver has packets 2, 4, 6, 8, cwnd=8, retransmits pkt 1, enter FR/FR

Next dupACK increment cwnd to 9 After a RTT, ACK arrives for pkts 1 & 2, exit FR/FR,

cwnd=5, 8 unack’ed pkts No more ACK, sender must wait for timeout

1 2timeS

timeD

3 4 5 6 87 1

8

FR/FR

09

0 0 0 0 0

9

8 unack’d pkts

2

5

3

timeout

Page 36: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

NewReno Fall & Floyd ‘96, (RFC 2583)

Motivation: multiple losses within a window Partial ACK acknowledges some but not all

packets outstanding at start of FR Partial ACK takes Reno out of FR, deflates window Sender may have to wait for timeout before

proceeding

Idea: partial ACK indicates lost packets Stays in FR/FR and retransmits immediately Retransmits 1 lost packet per RTT until all lost

packets from that window are retransmitted Eliminates timeout

Page 37: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

SACK Mathis, Mahdavi, Floyd, Romanow ’96 (RFC 2018, RFC 2883)

Motivation: Reno & NewReno retransmit at most 1 lost packet per RTT Pipe can be emptied during FR/FR with multiple

losses Idea: SACK provides better estimate of packets

in pipe SACK TCP option describes received packets On 3 dupACKs: retransmits, halves window, enters

FR Updates pipe = packets in pipe

Increment when lost or new packets sentDecrement when dupACK received

Transmits a (lost or new) packet when pipe < cwnd Exit FR when all packets outstanding when FR was

entered are acknowledged

Page 38: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

IntroductionAlgorithms

Window flow control

TCP algorithm: Tahoe, Reno, VegasAQM algorithm: RED, REM, variants

ModelsDuality modelLinear dynamic model

Page 39: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP Vegas (Brakmo & Peterson 1994)

Reno with a new congestion avoidance algorithm Converges (provided buffer is large) !

SStime

window

CA

Page 40: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

for every RTT

{

if W/RTTmin – W/RTT < then W ++

if W/RTTmin – W/RTT > then W --

}

for every loss

W := W/2

Congestion avoidance

Each source estimates number of its own packets in pipe from RTT

Adjusts window to maintain estimate between d and d

Page 41: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Implications

Congestion measure = end-to-end queueing delay

At equilibriumZero lossStable window at full utilizationApproximately weighted proportional

fairnessNonzero queue, larger for more sources

Convergence to equilibriumConverges if sufficient network bufferOscillates like Reno otherwise

Page 42: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

IntroductionAlgorithms

Window flow control

TCP algorithm: Tahoe, Reno, VegasAQM algorithm: RED, REM, variants

ModelsDuality modelLinear dynamic model

Page 43: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Active queue management

Idea: provide congestion information by probabilistically marking packets

IssuesHow to measure congestion?How to embed congestion measure? How to feed back congestion info?

Page 44: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

RED (Floyd & Jacobson 1993)

Congestion measure: average queue length bl(t+1) = [bl(t) + yl(t) - cl]+

Embedding: p-linear probability function

Feedback: dropping or ECN marking

Avg queue

marking

1

Page 45: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Variant: ARED (Feng, Kandlur, Saha, Shin 1999)

Motivation: RED extremely sensitive to #sources

Idea: adapt maxp to loadIf avg. queue < minth, decrease maxp

If avg. queue > maxth, increase maxp

No per-flow information needed

Page 46: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Variant: FRED (Ling & Morris 1997)

Motivation: marking packets in proportion to flow rate is unfair (e.g., adaptive vs unadaptive flows)

Idea A flow can buffer up to minq packets without being

marked A flow that frequently buffers more than maxq packets

gets penalized All flows with backlogs in between are marked

according to RED No flow can buffer more than avgcq packets

persistently

Need per-active-flow accounting

Page 47: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Variant: SRED (Ott, Lakshman & Wong 1999)

Motivation: wild oscillation of queue in RED when load changes

Idea:Estimate number N of active flows

An arrival packet is compared with a randomly chosen active flows

N ~ prob(Hit)-1

cwnd~p-1/2 and Np-1/2 = Q0 implies p = (N/Q0)2

Marking prob = m(q) min(1, p)No per-flow information needed

Page 48: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Variant: BLUE (Feng, Kandlur, Saha, Shin 1999)

Motivation: wild oscillation of RED leads to cyclic overflow & underutilization

AlgorithmOn buffer overflow, increment marking

probOn link idle, decrement marking prob

Page 49: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

RED (Floyd & Jacobson 1993)

Congestion measure: average queue length bl(t+1) = [bl(t) + yl(t) - cl]+

Embedding: p-linear probability function

Feedback: dropping or ECN marking

Avg queue

marking

1

Page 50: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

REM (Athuraliya & Low 2000)

Congestion measure: pricepl(t+1) = [pl(t) + (l bl(t)+ xl

(t) - cl )]+

Embedding:

Feedback: dropping or ECN marking

Page 51: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

REM (Athuraliya & Low 2000)

Congestion measure: pricepl(t+1) = [pl(t) + (l bl(t)+ xl

(t) - cl )]+

Embedding: exponential probability function

Feedback: dropping or ECN marking

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Link congestion measure

Lin

k m

arkin

g probability

Page 52: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Match rate

Clear buffer and match rate

Clear buffer

Key features

)] )(ˆ )( ()([ )1( ll

llll ctxtbtptp

)()( 1 1 tptp sl

Sum prices

Theorem (Paganini 2000)

Global asymptotic stability for general utility function (in the absence of delay)

Page 53: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Summary

xi(t)

pl(t)

TCP: Reno Vegas

AQM: DropTail RED REM,PI,AVQ

Page 54: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Application: Wireless TCP

Reno uses loss as congestion measure

In wireless, significant losses due toFadingInterferenceHandoverNot buffer overflow (congestion)

Halving window too drasticSmall throughput, low utilization

Page 55: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Proposed solutions

IdeasHide from source noncongestion lossesInform source of noncongestion losses

ApproachesLink layer error controlSplit TCPSnoop agentSACK+ELN (Explicit Loss Notification)

Page 56: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Third approach

ProblemReno uses loss as congestion measureTwo types of losses

Congestion loss: retransmit + reduce windowNoncongestion loss: retransmit

Previous approachesHide noncongestion lossesIndicate noncongestion losses

Our approachEliminates congestion losses (buffer

overflows)

Page 57: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Third approach

Idea REM clears buffer Only noncongestion losses Retransmits lost packets without reducing window

RouterREM capable

HostDo not use loss as congestion measure

Vegas

REM

Page 58: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Performance

Goodput

Page 59: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Performance

Goodput

Page 60: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Part IIModels

Page 61: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Congestion Control

Heavy tail Mice-elephants

Elephant

Internet

Mice

Congestion control

efficient & fair sharing

small delay

queueing + propagation

CDN

Page 62: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP

xi(t)

Page 63: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

TCP & AQM

xi(t)

pl(t)

Example congestion measure pl(t)

Loss (Reno)Queueing delay (Vegas)

Page 64: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

Protocol (Reno, Vegas, RED, REM/PI…)

Equilibrium Performance

Throughput, loss, delay

Fairness Utility

Dynamics Local stability Cost of stabilization

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Page 65: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

IntroductionAlgorithms

Window flow control

TCP algorithm: Tahoe, Reno, VegasAQM algorithm: RED, REM, variants

ModelsDuality modelLinear dynamic model

p1

Page 66: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Flow control

Interaction of source rates xs(t) and congestion measures pl(t)

Duality theory They are primal and dual variables Flow control is optimization process

Example congestion measure Loss (Reno) Queueing delay (Vegas)

Page 67: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Model

c1 c2

Sources sL(s) - links used by source sUs(xs) - utility if source rate = xs

Network Links l of capacities cl

x1

x2

x3

121 cxx 231 cxx

Page 68: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Primal problem

Llcx

xU

l

l

sss

xs

, subject to

)( max0

AssumptionsStrictly concave increasing Us

Unique optimal rates xs exist Direct solution impractical

Page 69: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

History

FormulationKelly 1997

Penalty function approachKelly, Maulloo and Tan 1998Kunniyur and Srikant 2000

Duality approachLow and Lapsley 1999Athuraliya and Low 2000, Low 2000

Many extensions…

Page 70: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

History

FormulationKelly 1997

Penalty function approachKelly, Maulloo and Tan 1998Kunniyur and Srikant 2000

Duality approachLow and Lapsley 1999Athuraliya and Low 2000, Low 2000

Many extensions…

Page 71: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Duality Approach

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Primal-dual algorithm:

)( )( max )( min

, subject to )( max

00

0

:Dual

:Primal

ll

ll

sss

xp

ll

sss

x

xcpxUpD

LlcxxU

s

s

Page 72: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Duality Model of TCP/AQM

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Primal-dual algorithm:

Reno, Vegas

DropTail, RED, REM

Source algorithm iterates on rates Link algorithm iterates on prices With different utility functions

Page 73: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Example

Basic algorithm

))(( )1( : source 1' tpUtx s

ss

)])(()([ )1( :link

l

l

llctxtptp

Theorem (ToN’99) Converge to optimal rates in asynchronousenvironment

TCP schemes are smoothed versions of source

algorithm …

Page 74: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Summary

Llcx

xU

l

l

sss

xs

, subject to

)( max0

Flow control problem

Major TCP schemes Maximize aggregate source utility With different utility functions

Primal-dual algorithm

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Page 75: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

Protocol (Reno, Vegas, RED, REM/PI…)

Equilibrium Performance

Throughput, loss, delay

Fairness Utility

Dynamics Local stability Cost of stabilization

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Page 76: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

)()(2

)(

))(1)(( tptx

tw

w

tptxtw s

s

s

ss

x(t+1) = F( p(t), x(t) )

p(t+1) = G( p(t), x(t) )

Reno: F

Primal-dual algorithm:

Reno, Vegas

DropTail, RED, REM

for every ack (ca){ W += 1/W }for every loss{ W := W/2 }

Page 77: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

)()(2

)(

))(1)(( tptx

tw

w

tptxtw s

s

s

ss

x(t+1) = F( p(t), x(t) )

p(t+1) = G( p(t), x(t) )

Reno: F

Primal-dual algorithm:

Reno, Vegas

DropTail, RED, REM

for every ack (ca){ W += 1/W }for every loss{ W := W/2 }

Page 78: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

)()(2

)(

))(1)(( tptx

tw

w

tptxtw s

s

s

ss

x(t+1) = F( p(t), x(t) )

p(t+1) = G( p(t), x(t) )

Reno: F

Primal-dual algorithm:

Reno, Vegas

DropTail, RED, REM

for every ack (ca){ W += 1/W }for every loss{ W := W/2 }

)(2

)(

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

2

2tp

tx

D

tptxtxtpF s

sss

Page 79: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Reno: Utility Function

pDx ss

2

222

)(2

)(

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

2

2tp

tx

D

tptxtxtpF s

sss

xpFx ss ,

2tan

2)( 1 ss

ss

renos

Dx

DxU

px

D

p s

s 2

)1( 2

2

Page 80: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Reno: summary

Equilibrium characterization

Duality

Congestion measure p = loss Implications

Reno equalizes window w = Dsxs

inversely proportional to delay Ds

dependence for small p

pDx ss

2

222

)( srenos xU

p1

2

pD

xs

s

Page 81: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Validation - Reno

30 sources, 3 groups with RTT = 3, 5, 7ms + 6ms (queueing delay) Link capacity = 64 Mbps, buffer = 50 kB

Measured windows equalized, match well with theory (black line)

Page 82: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Reno & gradient algorithm

Gradient algorithm

))(( )1( : source 1' tqUtx iii

)])(()([ )1( :link llll ctytptp

)(2

)(

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

2

2tq

txtqtxtxtqF i

i

i

iiiii

TCP approximate version of gradient algorithm

Page 83: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Reno & gradient algorithm

Gradient algorithm

))(( )1( : source 1' tqUtx iii

)])(()([ )1( :link llll ctytptp

TCP approximate version of gradient algorithm

))()((

2

)( )(1 22 txtx

tqtxtx ii

iii

))(( 1' tqU ii

Page 84: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Active Queue Management

pl(t) G(p(t), x(t))

DropTail loss [1 - cl/xl (t)]+ (?)

DropTail delay [pl(t) + xl (t)/cl - 1]+

RED queue [pl(t) + xl(t) - cl]+

REM price [pl(t) + lbl(t)+ xl (t) - cl )]

+

x(t+1) = F( p(t), x(t) )

p(t+1) = G( p(t), x(t) )

Reno, Vegas

DropTail, RED, REM

Page 85: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Queue

DropTailqueue = 94%

REDmin_th = 10 pktsmax_th = 40 pktsmax_p = 0.1

p = Lagrange multiplier!

p increasing in queue!

REM

queue = 1.5 pktsutilization = 92% = 0.05, = 0.4, = 1.15

p decoupled from queue

Page 86: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

queue size

for every RTT

{ if W/RTTmin – W/RTT < then W ++

if W/RTTmin – W/RTT > then W -- }

for every loss

W := W/2

Vegas

ssssss

ss dtxdtwD

txtx

)()( if 1

)(12

else )(1 txtx ss

ssssss

ss dtxdtwD

txtx

)()( if 1

)(12

F:

pl(t+1) = [pl(t) + xl (t)/cl - 1]+G:

Page 87: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Performance

DelayCongestion measures: end to end

queueing delay

Sets rate

Equilibrium condition: Little’s LawLoss

No loss if converge (with sufficient buffer)Otherwise: revert to Reno (loss

unavoidable)

)()(

tq

dtx

s

sss

Page 88: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Vegas Utility

ssss

reno

sxdxU log)(

Equilibrium (x, p) = (F, G)

Proportional fairness

Page 89: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Vegas & Basic Algorithm

Basic algorithm))(( )1( : source 1' tpUtx ss

TCP smoothed version of Basic Algorithm …

Page 90: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Vegas & Gradient Algorithm

Basic algorithm))(( )1( : source 1' tpUtx ss

TCP smoothed version of Basic Algorithm …

Vegas

))(( 1' tpU s

)()( if 1

)(12

txtxD

txtx sss

ss

else )(1 txtx ss

)()( if 1

)(12

txtxD

txtx sss

ss

Page 91: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Validation

Source 1 Source 3 Source 5

RTT (ms) 17.1 (17) 21.9 (22) 41.9 (42) Rate (pkts/s) 1205 (1200) 1228 (1200) 1161 (1200)Window (pkts) 20.5 (20.4) 27 (26.4) 49.8 (50.4)Avg backlog (pkts) 9.8 (10)

Single link, capacity = 6 pkts/ms 5 sources with different propagation delays, s = 2

pkts/RTT

meausred theory

Page 92: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Persistent congestion

Vegas exploits buffer process to compute prices (queueing delays)

Persistent congestion due to Coupling of buffer & price Error in propagation delay estimation

Consequences Excessive backlog Unfairness to older sources

TheoremA relative error of s in propagation delay estimation distorts the utility function to

sssssssss xdxdxU log)1()(ˆ

Page 93: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Evidence

Single link, capacity = 6 pkt/ms, s = 2 pkts/ms, ds = 10 ms

With finite buffer: Vegas reverts to Reno

Without estimation error With estimation error

Page 94: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Evidence

Source rates (pkts/ms)# src1 src2 src3 src4 src51 5.98 (6) 2 2.05 (2) 3.92 (4)3 0.96 (0.94) 1.46 (1.49) 3.54 (3.57)4 0.51 (0.50) 0.72 (0.73) 1.34 (1.35) 3.38 (3.39)5 0.29 (0.29) 0.40 (0.40) 0.68 (0.67) 1.30 (1.30) 3.28

(3.34) # queue (pkts) baseRTT (ms)1 19.8 (20) 10.18 (10.18)2 59.0 (60) 13.36 (13.51)3 127.3 (127) 20.17 (20.28)4 237.5 (238) 31.50 (31.50)5 416.3 (416) 49.86 (49.80)

Page 95: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

end2end queueing delay

Vegas/REM

To preserve Vegas utility function & rates

REM Clear buffer : estimate of ds

Sum prices : estimate of ps

Vegas/REM

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

else )(1 txtx ss

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

s

s

qd

ssx

Page 96: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

end2end queueing delay

Vegas/REM

To preserve Vegas utility function & rates

REM Clear buffer : estimate of ds

Sum prices : estimate of ps

Vegas/REM

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

else )(1 txtx ss

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

s

s

qd

ssx

ss

s

dDd

ssx

Page 97: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Vegas/REM

To preserve Vegas utility function & rates

REM Clear buffer : estimate of ds

Sum prices : estimate of ps

Vegas/REM

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

else )(1 txtx ss

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

end2end pricess

p

dssx

Page 98: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Vegas/REM

To preserve Vegas utility function & rates

REM Clear buffer : estimate of ds

Sum prices : estimate of ps

Vegas/REM

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

else )(1 txtx ss

)(ˆ)( if 1

)(12

txtxD

txtx sss

ss

ss

p

dssx

end2end price

Page 99: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Performance

Vegas/REM Vegas

peak = 43 pktsutilization : 90% - 96%

Page 100: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Conclusion

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Duality model of TCP: (F, G, U)

Reno, Vegas Maximize aggregate

utility With different utility

functionsDropTail, RED, REM

Decouple congestion & performance

Match rate, clear buffer Sum prices

Page 101: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Outline

Protocol (Reno, Vegas, RED, REM/PI…)

Equilibrium Performance

Throughput, loss, delay

Fairness Utility

Dynamics Local stability Cost of stabilization

))( ),(( )1(

))( ),(( )1(

txtpGtp

txtpFtx

Page 102: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Model structure

F1

FN

G1

GL

Rf(s)

Rb’(s)

TCP Network AQM

Multi-link multi-source network

Page 103: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

AI MD

2

)()()(

)(

1 ))(1)((

2

txtqtx

txtqtxx i

iiiii

iiii

Duality model - AIMD

source rate e2e prob

l

blili tmtq )()(

Page 104: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

AI MD

2

)()()(

)(

1 ))(1)((

2

txtqtx

txtqtxx i

iiiii

iiii

Linear model - AIMD

)(1

2

tqqτ

(t)xqxx iii

iiii

Linearize around equilibrium

)(11

)(2

sqqxsqτ

sx iiiii

i

In Laplace domain

Page 105: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

))(()(

)(

tpmtm

ctyp

lll

lll

Duality model - AIMD

congestion measure

markingprob

Page 106: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

))(()(

)(

tpmtm

ctyp

lll

lll

Linear model - AIMD

Aggregate rate

(t)ypmm

(t)yp

llll

il

)('

Linearize around equilibrium

i

fiil txty )()(

(s)ypmsm llll )()( 'In Laplace domain

Page 107: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Closed loop system is stable if and only ifdet (I + L(s)) = 0

for no s in closed RHP

Linear Model - Network

Multi-link multi-source modelx

q p

y

TCP Network AQM

F1

FN

G1

GL

Rf(s)

RbT(s)

)()()()( )( sGsRsFsRsL Tbf

Page 108: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Linearized system

F1

FN

G1

GL

Rf(s)

Rb’(s)

x y

q p

s

n

s

n

ni ii

i

n

ee

xc

scs

c

wpspsL

1

1

)(

1)(

***

TCP RED queue delay

Page 109: Acknowledgments S. Athuraliya, D. Lapsley, V. Li, Q. Yin (UMelb) J. Doyle (Caltech), K.B. Kim (SNU/Caltech), F. Paganini (UCLA), J. Wang (Caltech), Z.

Papers

Scalable laws for stable network congestion control (CDC2001)

A duality model of TCP flow controls (ITC, Sept 2000)

Optimization flow control, I: basic algorithm & convergence (ToN, 7(6), Dec 1999)

Understanding Vegas: a duality model (J. ACM, 2002)

REM: active queue management (Network, May/June 2001)

netlab.caltech.edu