acknowledgments s. athuraliya, d. lapsley, v. li, q. yin (umelb) j. doyle (caltech), k.b. kim...
TRANSCRIPT
![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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/70.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/71.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/72.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/73.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/74.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/75.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/76.jpg)
)()(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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/77.jpg)
)()(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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/78.jpg)
)()(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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/79.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/80.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/81.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/82.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/83.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/84.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/85.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/86.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/87.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/88.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/89.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/90.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/91.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/92.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/93.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/94.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/95.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/96.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/97.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/98.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/99.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/100.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/101.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/102.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/103.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/104.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/105.jpg)
))(()(
)(
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/106.jpg)
))(()(
)(
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/107.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/108.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081513/56649e905503460f94b95199/html5/thumbnails/109.jpg)
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