Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

34
Router-assisted congestion control Lecture 8 CS 653, Fall 2010

Transcript of Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Page 1: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Router-assisted congestion control

Lecture 8CS 653, Fall 2010

Page 2: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

TCP congestion control performs poorly as bandwidth or delay increases

Round Trip Delay (sec)

Avg.

TC

P U

tiliz

ati

on

Bottleneck Bandwidth (Mb/s)

Avg.

TC

P U

tiliz

ati

on

Shown analytically in [Low01] and via simulations

Because TCP lacks fast response

• Spare bandwidth is available TCP increases by 1 pkt/RTT even if spare bandwidth is huge• When a TCP starts, it increases exponentially Too many drops Flows ramp up by 1 pkt/RTT, taking forever to grab the large bandwidth

Because TCP lacks fast response

• Spare bandwidth is available TCP increases by 1 pkt/RTT even if spare bandwidth is huge• When a TCP starts, it increases exponentially Too many drops Flows ramp up by 1 pkt/RTT, taking forever to grab the large bandwidth

50 flows in both directionsBuffer = BW x Delay

RTT = 80 ms

50 flows in both directionsBuffer = BW x Delay

BW = 155 Mb/s

Page 3: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Proposed Solution:

Decouple Congestion Control from Fairness

High Utilization; Small Queues; Few Drops

Bandwidth Allocation Policy

Page 4: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Proposed Solution:

Decouple Congestion Control from Fairness

Example: In TCP, Additive-Increase Multiplicative-Decrease (AIMD) controls both

Coupled because a single mechanism controls both

How does decoupling solve the problem?

1. To control congestion: use MIMD which shows fast response

2. To control fairness: use AIMD which converges to fairness

Page 5: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Characteristics ofSolution1. Improved Congestion Control (in high

bandwidth-delay & conventional environments):

• Small queues

• Almost no drops

2. Improved Fairness

Flexible bandwidth allocation: min-max fairness, proportional fairness, differential bandwidth allocation,…

3. Scalable (no per-flow state)

Page 6: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP: An eXplicit Control Protocol

1. Congestion Controller2. Fairness Controller

Page 7: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Feedback

Round Trip Time

Congestion Window

Congestion Header

Feedback

Round Trip Time

Congestion Window

How does XCP Work?

Feedback = + 0.1 packet

Page 8: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Feedback = + 0.1 packet

Round Trip Time

Congestion Window

Feedback = - 0.3 packet

How does XCP Work?

Page 9: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Congestion Window = Congestion Window + Feedback

Routers compute feedback without any per-flow state Routers compute feedback without any per-flow state

How does XCP Work?

XCP extends ECN and CSFQ

Page 10: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

How Does an XCP Router Compute the Feedback?

Congestion Controller

Fairness ControllerGoal: Divides between flows to converge to fairnessLooks at a flow’s state in Congestion Header

Algorithm:If > 0 Divide equally between flowsIf < 0 Divide between flows proportionally to their current rates

MIMD AIMD

Goal: Matches input traffic to link capacity & drains the queueLooks at aggregate traffic & queue

Algorithm:Aggregate traffic changes by ~ Spare Bandwidth ~ - Queue SizeSo, = davg Spare - Queue

Congestion Controller

Fairness Controller

Page 11: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

= davg Spare - Queue

224

0 2π =<< and

Theorem: System converges to optimal utilization (i.e., stable) for any link bandwidth, delay, number of sources if:

(Proof based on Nyquist Criterion)

Getting the devil out of the details …

Congestion Controller Fairness ControllerAlgorithm:If > 0 Divide equally between flowsIf < 0 Divide between flows proportionally to their current rates

Need to estimate number of flows N

∑ ×=

Tinpkts pktpkt RTTCwndTN

)/(1

RTTpkt : Round Trip Time in header

Cwndpkt : Congestion Window in headerT: Counting Interval

No Per-Flow State

No Per-Flow State

Page 12: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

ImplementationImplementation uses few multiplications & additions per packet

Practical!

XCP can co-exist with TCP and can be deployed gradually

Gradual Deployment

Liars?• Policing agents at edges of the network or statistical monitoring• Easier to detect than in TCP

Page 13: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Performance

Page 14: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

BottleneckS1

S2

R1, R2, …, Rn

Sn

Subset of Results

Similar behavior over:

Page 15: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP Remains Efficient as Bandwidth or Delay Increases

Bottleneck Bandwidth (Mb/s)

Utilization as a function of Bandwidth

Avg.

Uti

lizati

on

Round Trip Delay (sec)

Avg.

Uti

lizati

on

Utilization as a function of Delay

Page 16: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

Avg.

Uti

lizati

on

Avg.

Uti

lizati

on

XCP Remains Efficient as Bandwidth or Delay Increases

Bottleneck Bandwidth (Mb/s) Round Trip Delay (sec)

Utilization as a function of Delay

XCP increases proportionally to spare bandwidth

and chosen to make XCP robust to delay

Utilization as a function of Bandwidth

Page 17: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP Shows Faster Response than TCP

XCP shows fast response!XCP shows fast response!

Start 40 Flows

Start 40 Flows

Stop the 40 Flows

Stop the 40 Flows

Page 18: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP Deals Well with Short Web-Like Flows

Arrivals of Short Flows/sec

Average Utilization

Average Queue

Drops

Page 19: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP is Fairer than TCP

Flow ID

Different RTTSame RTT

Avg

. Th

rou

gh

pu

t

Flow ID

Avg

. Th

rou

gh

pu

t

(RTT is 40 ms 330 ms )

Page 20: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP Summary XCP

Outperforms TCP Efficient for any bandwidth Efficient for any delay Scalable

Benefits of Decoupling Use MIMD for congestion control which can

grab/release large bandwidth quickly Use AIMD for fairness which converges to fair

bandwidth allocation

Page 21: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

XCP Pros and Cons

Long-lived flows: Works well Convergence to fair share rates, high link

utilization, small queue, low loss

Mix of flow lengths: Deviates from processor sharing Non-trivial convergence time Flow durations longer

Page 22: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 23: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 24: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 25: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 26: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 27: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 28: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 29: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.
Page 30: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

ATM ABR congestion control

ABR: available bit rate:

“Elastic service” If sender’s path

“underloaded”: sender should use

available bandwidth

If sender’s path congested:

sender throttled to minimum guaranteed rate

RM (resource management) cells:

Sent by sender, interspersed with data cells

Bits in RM cell set by switches (“network-assisted”)

NI bit: no increase in rate (mild congestion)

CI bit: congestion indication RM cells returned to sender

by receiver, with bits intact

Page 31: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

ATM ABR congestion control

Two-byte ER (explicit rate) field in RM cell congested switch may lower ER value in cell sender’ send rate thus minimum supportable rate on path

EFCI bit in data cells: set to 1 in congested switch

if data cell preceding RM cell has EFCI set, sender sets CI bit in returned RM cell

Page 32: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

ATM ERICA Switch Algorithm

ERICA: Explicit rate indication for congestion avoidance goals: Utilization: allocate all available capacity to ABR

flows Queueing delay: keep queue small Fairness: max-min “sought only after utilization

achieved” (decoupled from utilization?) Stability, ie reaches steady-state, and robustness,

ie graceful degradation, when no steady-state

Page 33: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

ERICA: Setting explicit rate (ER)

Initialization MaxAllocPrev =

MaxAllocCur = FairShare

End of avg’ing interval

Total ABR Cap. = Link Cap. - VBR Cap.

Target ABR Cap. = Fraction*Tot. ABR Cap.

Z = ABR Input rate FairShare = Target ABR

Cap. / # Active VCs Goto Initialization

During congestion VCShare = VCRate/Z If (Z > 1+±)

• ER = max(FairShare, VCShare)

Else • ER = max(MaxAllocPrev,

VCShare) MaxAllocCur =

max(MaxAllocCur, ER) If (ER > FairShare and

VCRate < FairShare)• ER = FairShare

Page 34: Router-assisted congestion control Lecture 8 CS 653, Fall 2010.

ABR vs. XCP or RCP?

Similarities? Differences?