congestion control (contd)rensselaer polytechnic institute shivkumar kalyanaraman 2 overview queue...

75
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 Congestion Control (contd) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute [email protected] http://www.ecse.rpi.edu/Homepages/shivkuma Based in part upon slides of Prof. Raj Jain (OSU), Srini Seshan (CMU), J. Kurose (U Mass), I.Stoica (UCB)

Upload: others

Post on 17-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

1

Congestion Control (contd)

Shivkumar KalyanaramanRensselaer Polytechnic Institute

[email protected] http://www.ecse.rpi.edu/Homepages/shivkuma

Based in part upon slides of Prof. Raj Jain (OSU), Srini Seshan (CMU), J. Kurose (U Mass), I.Stoica (UCB)

Page 2: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

2

OverviewQueue Management Schemes: RED, ARED, FRED, BLUE, REMTCP Congestion Control (CC) Modeling, TCP Friendly CCAccumulation-based Schemes: TCP Vegas, MonacoStatic Optimization Framework Model for Congestion ControlExplicit Rate Feedback Schemes (ATM ABR: ERICA)Refs: Chap 13.21, 13.22 in Comer textbookFloyd and Jacobson "Random Early Detection gateways for Congestion Avoidance"Ramakrishnan and Jain, A Binary Feedback Scheme for Congestion Avoidance in Computer Networks with a Connectionless Network Layer,Padhye et al, "Modeling TCP Throughput: A Simple Model and its Empirical Validation"Low, Lapsley: "Optimization Flow Control, I: Basic Algorithm and Convergence" Kalyanaraman et al: "The ERICA Switch Algorithm for ABR Traffic Management in ATM Networks" Harrison et al: "An Edge-based Framework for Flow Control"

Page 3: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

3

Queuing Disciplines❑ Each router must implement some queuing discipline❑ Queuing allocates bandwidth and buffer space:

❑ Bandwidth: which packet to serve next (scheduling) ❑ Buffer space: which packet to drop next (buff mgmt)

❑ Queuing also affects latency

Class C

Class BClass A

Traffic Classes

Traffic Sources

DropScheduling Buffer Management

Page 4: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

4

Typical Internet Queuing❑ FIFO + drop-tail

❑ Simplest choice❑ Used widely in the Internet

❑ FIFO (first-in-first-out) ❑ Implies single class of traffic

❑ Drop-tail❑ Arriving packets get dropped when queue is full

regardless of flow or importance❑ Important distinction:

❑ FIFO: scheduling discipline❑ Drop-tail: drop (buffer management) policy

Page 5: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

5

FIFO + Drop-tail Problems❑ FIFO Issues: In a FIFO discipline, the service seen by a

flow is convoluted with the arrivals of packets from all other flows!❑ No isolation between flows: full burden on e2e control ❑ No policing: send more packets get more service

❑ Drop-tail issues:❑ Routers are forced to have have large queues to

maintain high utilizations❑ Larger buffers => larger steady state queues/delays❑ Synchronization: end hosts react to same events

because packets tend to be lost in bursts❑ Lock-out: a side effect of burstiness and

synchronization is that a few flows can monopolize queue space

Page 6: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

6

Design Objectives❑ Keep throughput high and delay low (i.e. knee)❑ Accommodate bursts❑ Queue size should reflect ability to accept bursts

rather than steady-state queuing❑ Improve TCP performance with minimal

hardware changes

Page 7: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

7

Queue Management Ideas❑ Synchronization, lock-out:

❑ Random drop: drop a randomly chosen packet❑ Drop front: drop packet from head of queue

❑ High steady-state queuing vs burstiness:❑ Early drop: Drop packets before queue full❑ Do not drop packets “too early” because queue may

reflect only burstiness and not true overload❑ Misbehaving vs Fragile flows:

❑ Drop packets proportional to queue occupancy of flow❑ Try to protect fragile flows from packet loss (eg: color

them or classify them on the fly)❑ Drop packets vs Mark packets:

❑ Dropping packets interacts w/ reliability mechanisms❑ Mark packets: need to trust end-systems to respond!

Page 8: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

8

Packet Drop Dimensions

AggregationPer-connection state Single class

Drop positionHead Tail

Random location

Class-based queuing

Early drop Overflow drop

Page 9: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

9

Random Early Detection (RED)Min threshMax thresh

Average Queue Length

minth maxth

maxP

1.0

Avg queue length

P(drop)

Page 10: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

10

Random Early Detection (RED)❑ Maintain running average of queue length

❑ Low pass filtering❑ If avg Q < minth do nothing

❑ Low queuing, send packets through❑ If avg Q > maxth, drop packet

❑ Protection from misbehaving sources❑ Else mark (or drop) packet in a manner proportional to

queue length & bias to protect against synchronization❑ Pb = maxp(avg - minth) / (maxth - minth)❑ Further, bias Pb by history of unmarked packets❑ Pa = Pb/(1 - count*Pb)

Page 11: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

11

RED Issues❑ Issues:

❑ Breaks synchronization well❑ Extremely sensitive to parameter settings❑ Wild queue oscillations upon load changes❑ Fail to prevent buffer overflow as #sources increases❑ Does not help fragile flows (eg: small window flows or

retransmitted packets)❑ Does not adequately isolate cooperative flows from

non-cooperative flows❑ Isolation:

❑ Fair queuing achieves isolation using per-flow state ❑ RED penalty box: Monitor history for packet drops,

identify flows that use disproportionate bandwidth

Page 12: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

12

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

❑ Motivation: RED extremely sensitive to #sources and parameter settings

❑ Idea: adapt maxp to load❑ If avg. queue < minth, decrease maxp❑ If avg. queue > maxth, increase maxp

❑ No per-flow information needed

Page 13: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

13

Variant: FRED (Ling & Morris 1997)

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

❑ Idea❑ A flow can buffer up to minq packets w/o 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 14: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

14

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

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

❑ Algorithm❑ On buffer overflow, increment marking prob❑ On link idle, decrement marking prob

Page 15: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

15

Variant: Stochastic Fair Blue

1

1

1 1nonadaptive

adaptive

h1 hLhL-1h2

❑ Motivation: protection against non-adaptive flows ❑ Algorithm

❑ L hash functions map a packet to L bins (out of NxL )❑ Marking probability associated with each bin is

❑ Incremented if bin occupancy exceeds threshold❑ Decremented if bin occupancy is 0

❑ Packets marked with min {p1, …, pL}

Page 16: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

16

SFB (contd)❑ Idea

❑ A non-adaptive flow drives marking prob to 1 at all L bins it is mapped to

❑ An adaptive flow may share some of its L bins with non-adaptive flows

❑ Non-adaptive flows can be identified and penalized with reasonable state overhead (not necessarily per-flow)

❑ Large numbers of bad flows may cause false positives

Page 17: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

17

REM Athuraliya & Low 2000

❑ Main ideas❑ Decouple congestion & performance measure❑ “Price” adjusted to match rate and clear buffer❑ Marking probability exponential in `price’

0 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 00

0 . 1

0 . 2

0 . 3

0 . 4

0 . 5

0 . 6

0 . 7

0 . 8

0 . 9

1

L in k c o n g e s t io n m e a s u re

Lin

k m

ark

ing

pro

ba

bili

ty

REM RED

1

Avg queue

Page 18: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

18

Comparison of AQM Performance

DropTailqueue = 94%

REDmin_th = 10 pktsmax_th = 40 pktsmax_p = 0.1

REM

queue = 1.5 pktsutilization = 92%γ = 0.05, α = 0.4, φ = 1.15

Page 19: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

19

The DECbit Scheme❑ Basic ideas:

❑ Mark packets instead of dropping them❑ Special support at both routers and e2e

❑ Scheme:❑ On congestion, router sets congestion indication (CI)

bit on packet❑ Receiver relays bit to sender❑ Sender adjusts sending rate

❑ Key design questions:❑ When to set CI bit?❑ How does sender respond to CI?

Page 20: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

20

Setting CI Bit

AVG queue length = (previous busy+idle + current interval)/(averaging interval)

Previous cycle Current cycle

Averaging interval

Current time

Time

Queue length

Page 21: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

21

DECbit Routers❑ Router tracks average queue length

❑ Regeneration cycle: queue goes from empty to non-empty to empty

❑ Average from start of previous cycle❑ If average > 1 router sets bit for flows sending

more than their share❑ If average > 2 router sets bit in every packet❑ Threshold is a trade-off between queuing and delay❑ Optimizes power = (throughput / delay)❑ Compromise between sensitivity and stability

❑ Acks carry bit back to source

Page 22: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

22

DECbit Source❑ Source averages across acks in window

❑ Congestion if > 50% of bits set❑ Will detect congestion earlier than TCP

❑ Additive increase, multiplicative decrease❑ Decrease factor = 0.875 ❑ Increase factor = 1 packet❑ After change, ignore DECbit for packets in

flight (vs. TCP ignore other drops in window)

❑ No slow start

Page 23: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

23

Congestion Control Models❑ Loss-based: TCP Reno etc❑ Accumulation-based schemes: TCP Vegas, Monaco

❑ Use per-flow queue contribution (backlog) as a congestion estimate instead of loss rate

❑ Explicit rate-based feedback❑ Controller at bottleneck assigns rates to each flow

❑ Packet Pair congestion control [Not covered]❑ WFQ at bottlenecks isolates flows, and gives fair rates❑ Packet-pair probing discovers this rate and sets

source rate to that.

Page 24: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

24

TCP Reno (Jacobson 1990)

SStime

window

CA

SS: Slow StartCA: Congestion Avoidance Fast retransmission/fast recovery

Page 25: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

25

TCP Vegas (Brakmo & Peterson 1994)

SStime

window

CA

❑ Converges, no retransmission❑ … provided buffer is large enough

Page 26: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

26

26),(),(

)],(),([

)]()([)]()([

)()(),(

)()()(

)()()(

ttOttI

ttttt

tSttStAttA

tqttqttq

ttSttAttq

tStAtq

ijij

ijij

ijijijij

ijijij

ijijij

ijijij

∆−∆=

∆×∆−∆=

−∆+−−∆+=

−∆+=∆∆∴

∆+−∆+=∆+∴

−=

µλ

❑ flow i at router j❑ arrival curve Aij(t)& service curve Sij(t)

❑ cumulative❑ continuous❑ non-decreasing

❑ if no loss, thentime

Aij(t)

Sij(t)

queue

delaybit

t2t1

b1

b2

Accumulation: Single Queue

Page 27: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

27

Accumulation: Series of Queues

27),(),(

)],(),([

)],(),([

),(),(

1

11

1

1

ttOtdtI

ttttdt

ttdttdt

tdtqtta

if

ii

if

ii

J

j

J

jkkij

J

jkkij

J

j

J

jkkiji

∆−∆−=

∆×∆−∆−=

∆×∆−−∆−=

∆−∆=∆∆

∑ ∑∑

∑ ∑

=

=

=

=

=

µλ

µλ

∑∑ ∑−

==

=

=−=1

11

1

)()(J

jj

fi

J

j

J

jkkiji dddtqta

11,)()( 1, −≤≤∀∀=− + Jjitdt jijij λµ❑ we have

❑ accumulation

❑ then

1 j j+1 J

µij Λi,j+1

djfi

Λiµi

ingress egress

Page 28: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

28

Queue vs Accumulation Behavior

❑ queue qij(t) -- info of flow i queued in a fifo router j

),(),(),(

)(

ttOttIttq

tq

ijijij

ij

∆−∆=∆∆

❑ accumulation ai(t) -- info of flow i queued in a set of fifo routers 1~J

∑ ∑−

=

=

=

=∆−∆−=∆∆

−=

1

1

1

1

),(),(),(

)()(

J

jj

fii

fiii

J

j

J

jkkiji

ddttOtdtItta

dtqta

❑ the collective queuing behavior of a set of fiforouters looks similar to that of one single fiforouter 28

Page 29: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

29

Accumulation: Distributed, Time-shifted Sum

1 j j+1 J

µij Λi,j+1

djfi

Λiµi

… …

29time

)(1f

ii dtq − )(1

∑−

=

−J

jkkij dtq

)(tq iJ

1 j j+1 J

jd 1−Jd

),( tdtI fii ∆−

)(ta i

)( tta i ∆+

),( ttO i ∆

fid

t∆

Page 30: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

30

Control Policy1 j j+1 J

µij Λi,j+1

djfi

Λiµi

0)( >= ii ta ε

30

❑ control objective : keep❑ if ,no way to probe increase of

available bw;0)( =ta i

ttttdtttarec

thentaif

thentaif

if

iii

iii

iii

∆×∆−∆−=∆∆

↓>

↑<

)],(),([),(:

)(

)(

µλ

λε

λε❑ control algorithm :

Page 31: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

31

Two Accumulation-Based Schemes

❑ Monaco❑ accumulation estimation: out-of-band / in-band❑ congestion response: additive inc / additive dec(AIAD), and others.

❑ Vegas❑ accumulation estimation: only in-band ctrl packet❑ congestion response: additive inc / additive dec(AIAD)

31

Page 32: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

32

Accumulation vs. Monaco Estimator

1 j j+1 J

µij Λi,j+1

djfi

Λiµi

… …

time

)(1f

ii dtq − )(1

∑−

=

−J

jkkij dtq

)(tq iJ

1 j j+1 J

jd 1−Jd

)(taq im =out-of-band

in-band ctrl pkt

),,(1

∑−

=

−J

jkkq dtjit

qj

J

jkkq tdtjit =−∑ ∑

=

),,(1

Page 33: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

33

Accumulation vs. Monaco Estimator

33

1 jf Jf

µij Λi,j+1

djf

fiΛi

µiJb jb+1 jb 1djb ctrl

data

jf+1

out-of-bd ctrl

in-band ctrl,data pkt

classifier

ctrl

fifo

Page 34: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

34

Monaco

❑ congestion estimation:❑ out-of-band and in-band control packets

❑ congestion response:❑ if qm < α, cwnd(k+1) = cwnd(k) + 1;❑ if qm > β, cwnd(k+1) = cwnd(k) – 1;[ 1 = α < β = 3 ] 34

Page 35: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

35

TCP Vegas

❑ congestion estimation:❑ define qv = ( cwnd / rttp – cwnd / rtt ) * rttp;

where rttp is round trip propagation delay (basertt)❑ congestion response:

❑ if qv < α, cwnd(k+1) = cwnd(k) + 1;❑ if qv > β, cwnd(k+1) = cwnd(k) – 1; [ 1 = α < β = 3 ]

Time

cwnd

slow start

congestionavoidance

35

Page 36: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

36

Vegas Accumulation Estimator❑ the physical meaning of qv

❑ rtt = rttp + rttq [ rttq is queuing time ]

❑ qv = ( cwnd / rttp – cwnd / rtt ) * rttp= ( cwnd / rtt ) * ( rtt – rttp )= ( cwnd / rtt ) * rttq [ if rtt is typical ]= sending rate * rttq [ little’s law ]= packets backlogged [ little’s law again ]

❑ so vegas maintains α ~ β number of packets queued inside the network

❑ it adjusts sending rate additively to achieve this

36

Page 37: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

37

Accumulation vs. Vegas estimator

37)()(

)(

)(

)()()(

1,

1,

tadta

dtq

ddtq

rttrttttq

bi

bi

fi

J

j

J

jn

bnji

J

j

J

jm

fm

biji

bq

fqiiv

b

b

b

b

b

f

f

f

f

f

+−=

−+

−−≈

+×=

∑ ∑

∑ ∑

= =

= =

λ❑ Backlogv

1 jf Jf

µij Λi,j+1

djffi

Λi µiJb jb+1 jb 1djb ack

data

jf+1

Page 38: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

38

Vegas vs. Monaco estimators❑ Vegas accumulation estimator

❑ ingress-based❑ round trip (forward data path and backward ack path)❑ sensitive to ack path queuing delay❑ sensitive to round trip propagation delay

measurement error

❑ Monaco accumulation estimator❑ egress-based❑ one way (only forward data path)❑ insensitive to ack path queuing delay❑ no need to explicitly know one way propagation delay

Page 39: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

39

Queue, Utilization w/ Basertt Errors

39

Page 40: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

40

TCP Modeling❑ Given the congestion behavior of TCP can we predict

what type of performance we should get?❑ What are the important factors

❑ Loss rate❑ Affects how often window is reduced

❑ RTT❑ Affects increase rate and relates BW to window

❑ RTO❑ Affects performance during loss recovery

❑ MSS ❑ Affects increase rate

Page 41: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

41

Overall TCP Behavior

Time

Window

• Let’s focus on steady state (congestion avoidance) with no slow starts, no timeouts and perfect loss recovery

❑ Some additional assumptions❑ Fixed RTT❑ No delayed ACKs

Page 42: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

42

Derivation

Area = 2w2/3

t

window

2w/3

w = (4w/3+2w/3)/2

4w/3

2w/3

❑ Each cycle delivers 2w2/3 packets❑ Assume: each cycle delivers 1/p packets = 2w2/3

❑ Delivers 1/p packets followed by a drop❑ => Loss probability = p/(1+p) ~ p if p is small.

❑ Hence pw 2/3=

Page 43: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

43

Alternate Derivation❑ Assume: loss is a Bernoulli process with probability p❑ Assume: p is small❑ wn is the window size after nth RTT

−+=+ ))1( (prob.lost ispacket no if,1

) (prob.lost ispacket a if,2/1

nn

nnn pww

pwww

pwpw

wpwwpww

22

)1)(1(2

2

≈≈

−++=

Page 44: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

44

Law p1

❑ Equilibrium window size

❑ Equilibrium rate

❑ Empirically constant a ~ 1❑ Verified extensively through simulations and on Internet❑ References

❑ T.J.Ott, J.H.B. Kemperman and M.Mathis (1996)❑ M.Mathis, J.Semke, J.Mahdavi, T.Ott (1997)❑ T.V.Lakshman and U.Mahdow (1997)❑ J.Padhye, V.Firoiu, D.Towsley, J.Kurose (1998)

paws =

pDax

s

s =

Page 45: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

45

Implications❑ Applicability

❑ Additive increase multiplicative decrease (Reno)❑ Congestion avoidance dominates❑ No timeouts, e.g., SACK+RH❑ Small losses❑ Persistent, greedy sources❑ Receiver not bottleneck

❑ Implications❑ Reno equalizes window❑ Reno discriminates against long connections❑ Halving throughput => quadrupling loss rate!

Page 46: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

46

Refinement (Padhye, Firoin, Towsley & Kurose 1998)

❑ Renewal model including❑ FR/FR with Delayed ACKs (b packets per ACK)❑ Timeouts❑ Receiver wnd limitation

❑ Source rate

❑ When p is small and Wr is large, reduces to

+

+

=

)321(8

33,1min3

21 ,min

2ppbpTbpDDWx

oss

rs

pDax

s

s =

Page 47: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

47

TCP Friendliness❑ What does it mean to be TCP friendly?

❑ TCP is not going away❑ Any new congestion control must compete

with TCP flows❑ Should not clobber TCP flows and grab bulk

of link❑ Should also be able to hold its own, i.e.

grab its fair share, or it will never become popular

Page 48: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

48

Binomial Congestion Control❑ In AIMD

❑ Increase: Wn+1 = Wn + α❑ Decrease: Wn+1 = (1- β) Wn

❑ In Binomial❑ Increase: Wn+1 = Wn + α/Wn

k

❑ Decrease: Wn+1 = Wn - β Wnl

❑ k=0 & l=1 AIMD❑ l < 1 results in less than multiplicative decrease

❑ Good for multimedia applications

Page 49: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

49

Binomial Congestion Control❑ Rate ~ 1/ (loss rate)1/(k+l+1)

❑ If k+l=1 rate ~ 1/p0.5

❑ TCP friendly❑ AIMD (k=0, l=1) is the most aggressive of this

class ❑ SQRT (k=1/2,l=1/2) and IIAD (k=1,l=0)❑ Good for applications that want to probe

quickly and can use any available bandwidth

Page 50: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

50

Static Optimization Framework

xi(t)

pl(t)

Duality theory equilibrium❑ Source rates xi(t) are primal variables❑ Congestion measures pl(t) are dual variables❑ Congestion control is optimization process over

Internet

Page 51: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

51

Overview: equilibrium❑ 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 52: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

52

Overview: equilibriumCongestion control problem

Llcx

xU

l

l

sss

xs

∈∀≤

∑≥

, subject to

)( max0

Primal-dual algorithm

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

=+=+ Reno, Vegas

DropTail, RED, REM

TCP/AQM protocols (F, G)Maximize aggregate source utilityWith different utility functions Us(xs)

Page 53: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

53

ModelSources s

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

❑ Network❑ Links l of capacities cl

c1 c2

x1

x2x3

121 cxx ≤+ 231 cxx ≤+

Page 54: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

54

Primal problem

Llcx

xU

l

l

sss

xs

∈∀≤

∑≥

, subject to

)( max0

AssumptionsStrictly concave increasing Us

Unique optimal rates xs existDirect solution impractical

Page 55: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

55

Duality Approach

−+=

∈∀≤

∑∑

≥≥

)( )( max )( min

, subject to )( max

00

0

:Dual

:Primal

ll

ll

sss

xp

ll

sss

x

xcpxUpD

LlcxxU

s

s

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

=+=+

Primal-dual algorithm:

Page 56: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

56

Gradient algorithm

Gradient algorithm

))(( )1( : source 1' tqUtx iii−=+

+−+=+ )])(()([ )1( :link llll ctytptp γ

Theorem (Low, Lapsley, 1999)

Converges to optimal rates in an asynchronousenvironment

Page 57: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

57

Example

1 1 subject to

log max

31

21

0

≤+≤+

∑≥

xxxx

xs

sx s

Lagrange multiplier:p1 = p2 = 3/2

1 1

x1

x2 x3

Optimal: x1 = 1/3x2 = x3 = 2/3

Page 58: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

58

Example❑ xs : proportionally fair (Vegas)❑ pl : Lagrange multiplier, (shadow) price, congestion measure❑ How to compute (x, p)?

❑ Gradient algorithms, Newton algorithm, Primal-dual algorithms…❑ Relevance to TCP/AQM ??

❑ TCP/AQM protocols implement primal-dual algorithms over Internet

1 1

x1

x2 x3

Page 59: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

59

Example❑ xs : proportionally fair (Vegas)❑ pl : Lagrange multiplier, (shadow) price, congestion measure❑ How to compute (x, p)?

❑ Gradient algorithms, Newton algorithm, Primal-dual algorithms…❑ Relevance to TCP/AQM ??

❑ TCP/AQM protocols implement primal-dual algorithms over Internet

1 1

x1

x2 x3

;)(

1)1( ;)(

1)1(

;)()(

1)1(

23

12

211

tptx

tptx

tptptx

=+=+

+=+

Aggregate rate

[ ][ ]+

+

−++=+

−++=+

)1)()(()()1(

)1)()(()()1(

3122

2111

txtxtptp

txtxtptp

γ

γ

Page 60: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

60

Active queue management❑ Idea: provide congestion information by

probabilistically marking packets❑ Issues

❑ How to measure congestion (p and G)?❑ How to embed congestion measure? ❑ How to feed back congestion info?

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

Reno, Vegas

DropTail, RED, REM

Page 61: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

61

RED (Floyd & Jacobson 1993)

Avg queue

marking

1

❑ Congestion measure: average queue lengthpl(t+1) = [pl(t) + xl(t) - cl]+

❑ Embedding: p-linear probability function

Page 62: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

62

REM (Athuraliya & Low 2000)

❑ Congestion measure: pricepl(t+1) = [pl(t) + γ(αl bl(t)+ xl (t) - cl )]+

❑ Embedding: exponential probability function

0 2 4 6 8 1 0 1 2 1 4 1 6 1 8 2 00

0 . 1

0 . 2

0 . 3

0 . 4

0 . 5

0 . 6

0 . 7

0 . 8

0 . 9

1

L i n k c o n g e s t i o n m e a s u r e

Lin

k m

ar

kin

g

pr

ob

ab

ilit

y

Page 63: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

63

Key features❑ Clear buffer and match rate

Match rateClear buffer

+−++=+ )] )(ˆ )( ()([ )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 64: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

64

AQM Summary

pl(t) G(p(t), x(t))DropTail loss [1 - cl/xl (t)]+ (?)

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

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

REM price [pl(t) + γ(αl bl(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 65: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

65

Reno: F

( ) )()(2

)( ))(1)(( tptxtww

tptxtw ss

s

ss −

−=∆

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

Primal-dual algorithm:Reno, Vegas

DropTail, RED, REM

for every ack (ca)

{ W += 1/W }

for every loss

{ W := W/2 }

( ) )(2

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

2 tptxD

tptxtxtpF s

sss −

−+=

Page 66: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

66

Reno Implications❑ Equilibrium characterization

Duality

❑ Congestion measure p = loss❑ Implications

❑ Reno equalizes window wi = τi xi❑ inversely proportional to delay τi❑ dependence for small p❑ DropTail fills queue, regardless of queue capacity

=⇒ −

2tan2)( 1 ii

is

renos

xxU ττ

p1

2 ii

i qx

τ≈i

i

i

i qxq2

)1( 2

2 =−τ

Page 67: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

67

Reno & gradient algorithm

Gradient algorithm

))(( )1( : source 1' tqUtx iii−=+

+−+=+ )])(()([ )1( :link llll ctytptp γ

( ) )(2

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

2 tqtxtqtxtxtqF ii

i

iiiii −

−+=

τ

TCP approximate version of gradient algorithm

Page 68: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

68

Gradient algorithm

))(( )1( : source 1' tqUtx iii−=+

+−+=+ )])(()([ )1( :link llll ctytptp γ

TCP approximate version of gradient algorithm

( )+

−+=+ ))()((

2)( )(1 22 txtxtqtxtx ii

iii

))(( 1' tqU ii−

Reno & gradient algorithm

Page 69: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

69

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

( ) ssssss

ss dtxdtwD

txtx

<−+=+ α)()( if 1 )(1 2

( ) else )(1 txtx ss =+

( ) ssssss

ss dtxdtwD

txtx

>−−=+ α)()( if 1 )(1 2

F:

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

Vegas

Page 70: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

70

ATM ABR Explicit Rate FeedbackRM Cell

❑ Sources regulate transmission using a “rate” parameter❑ Feedback scheme:

❑ Every (n+1)th cell is an RM (control) cell containing current cell rate, allowed cell rate, etc

❑ Switches adjust the rate using rich information about congestion to calculate explicit, multi-bit feedback

❑ Destination returns the RM cell to the source❑ Control policy: Sources adjust to the new rate

DestinationDestinationSourceSource

Page 71: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

71

ERICA: Design Goals

LinkUtilization

TimeQueueLength

50

Thro

ughp

ut

Load

Del

ay

Load

100%

❑ Allows utilization to be 100% (better tracking)❑ Allows operation at any point between the knee and the cliff

❑ The queue length can be set to any desired value (tracking).❑ Max-min fairness (fairness)

Page 72: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

72

Efficiency vs Fairness: OSU Scheme

TotalLoad

Time

99%95%91%

overload region

underload region

worry about fairness here

U= TUB

❑ Efficiency = high utilization❑ Fairness = Equal allocations for contending sources❑ Worry about fairness after utilization close to 100%

utilization . Target Utilization (U) and Target Utilization Band (TUB).

Page 73: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

73

ERICA Switch Algorithm❑ Overload = Input rate/Target rate ❑ Fair Share = Target rate/# of active VCs ❑ This VC’s Share = VC’s rate /Overload❑ ER = Max(Fair Share, This VC’s Share)❑ ER in Cell = Min(ER in Cell, ER)

❑ This is the basic algorithm.❑ Has more steps for improved fairness, queue

management, transient spike suppression, averaging of metrics.

Page 74: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

74

TCP Rate Control❑ Step 1: Explicit control of window:

Time

Congestion window(CWND)

Actual Window =Min(Cwnd, Wr)

❑ Step 2: Control rate of acks (ack-bucket): Tradeoff ack queues in reverse path for fewer packets in forward path

r

R

pkts

acks

W

W

Page 75: Congestion Control (contd)Rensselaer Polytechnic Institute Shivkumar Kalyanaraman 2 Overview Queue Management Schemes: RED, ARED, FRED, BLUE, REM TCP Congestion Control (CC) Modeling,

Shivkumar KalyanaramanRensselaer Polytechnic Institute

75

Summary

❑ Active Queue Management (AQM): RED, REM etc❑ Alternative models:

❑ Accumulation-based schemes: Monaco, Vegas❑ Explicit Rate-based Schemes

❑ TCP stochastic modeling: ❑ Static (Duality) Optimization Framework