cs 268: lecture 6

31
CS 268: Lecture 6 Scott Shenker and Ion Stoica Computer Science Division artment of Electrical Engineering and Computer Scie University of California, Berkeley Berkeley, CA 94720-1776 d on slides from R. Stallings, M. Handley and D. Katabi)

Upload: deon

Post on 01-Feb-2016

20 views

Category:

Documents


0 download

DESCRIPTION

CS 268: Lecture 6. Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA 94720-1776. (Based on slides from R. Stallings, M. Handley and D. Katabi). Outline. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CS 268: Lecture 6

CS 268: Lecture 6

Scott Shenker and Ion StoicaComputer Science Division

Department of Electrical Engineering and Computer SciencesUniversity of California, Berkeley

Berkeley, CA 94720-1776

(Based on slides from R. Stallings, M. Handley and D. Katabi)

Page 2: CS 268: Lecture 6

2

Outline

TCP-Friendly Rate Control (TFRC) ATM Congestion Control eXplicit Control Protocol

Page 3: CS 268: Lecture 6

3

TCP-Friendly

Any alternative congestion control scheme needs to coexist with TCP in FIFO queues in the best-effort Internet, or be protected from TCP in some manner.

To co-exist with TCP, it must impose the same long-term load on the network:

- No greater long-term throughput as a function of packet loss and delay so TCP doesn't suffer

- Not significantly less long-term throughput or it's not too useful

Page 4: CS 268: Lecture 6

4

TFRC: General Idea

Use a model of TCP's throughout as a function of the loss rate and RTT directly in a congestion control algorithm.

- If transmission rate is higher than that given by the model, reduce the transmission rate to the model's rate.

- Otherwise increase the transmission rate.

Page 5: CS 268: Lecture 6

5

The model: Packet size B bytes, round-trip time R secs, no queue. A packet is dropped each time the window reaches W packets. TCP’s congestion window:

The maximum sending rate in packets per roundtrip time: W The maximum sending rate in bytes/sec: W B / R The average sending rate T: T = (3/4)W B / R

The packet drop rate p:

The result:

TCP Modelling: The "Steady State" Model

Page 6: CS 268: Lecture 6

6

An Improved "Steady State" Model

A pretty good improved model of TCP Reno, including timeouts, from Padhye et al, Sigcomm 1998:

Would be better to have a model of TCP SACK, but the differences aren’t critical.

Page 7: CS 268: Lecture 6

7

TFRC Details

The devil's in the details - How to measure the loss rate?

- How to respond to persistent congestion?

- How to use RTT and prevent oscillatory behavior?

Not as simple as first thought

Page 8: CS 268: Lecture 6

8

TFRC Performance (Simulation)

Page 9: CS 268: Lecture 6

9

TFRC Performance (Experimental)

Page 10: CS 268: Lecture 6

10

Outline

TCP-Friendly Rate Control (TFRC) ATM Congestion Control eXplicit Control Protocol

Page 11: CS 268: Lecture 6

11

ATM Congestion Control

Credit Based- Sender is given “credit” for number of octets or packets

it may send before it must stop and wait for additional credit.

Rate Based- Sender may transmit at a rate up to some limit.

- Rate can be reduced by control message.

Page 12: CS 268: Lecture 6

12

Case study: 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 13: CS 268: Lecture 6

13

EXPLICIT Case study: 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 14: CS 268: Lecture 6

14

ABR Cell Rate Feedback Rules

if CI == 1- Reduce ACR to a value >= MCR

else if NI == 0- Increase ACR to a value <= PCR

if ACR > ER- set ACR = max(ER, MCR)

ACR = Allowed Cell RateMCR = Minimum Cell RatePCR = Peak Cell RateER = Explicit Rate

Page 15: CS 268: Lecture 6

15

Outline

TCP-Friendly Rate Control (TFRC) ATM Congestion Control eXplicit Control Protocol

Page 16: CS 268: Lecture 6

16

TCP congestion control performs poorly as bandwidth or delay increases

Round Trip Delay (sec)

Avg

. T

CP

Util

iza t

ion

Bottleneck Bandwidth (Mb/s)

Avg

. T

CP

Util

iza t

ion

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 17: CS 268: Lecture 6

17

High Utilization; Small Queues; Few Drops

Bandwidth Allocation Policy

Solution: Decouple Congestion Control from Fairness

Page 18: CS 268: Lecture 6

18

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 19: CS 268: Lecture 6

19

Characteristics of XCP Solution

1. Improved Congestion Control (in high bandwidth-delay & conventional environments):

• Small queues

• Almost no drops

2. Improved Fairness

3. Scalable (no per-flow state)

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

Page 20: CS 268: Lecture 6

20

XCP: An eXplicit Control Protocol

1. Congestion Controller2. Fairness Controller

Page 21: CS 268: Lecture 6

21

Feedback

Round Trip Time

Congestion Window

Congestion Header

Feedback

Round Trip Time

Congestion Window

How does XCP Work?

Feedback = + 0.1 packet

Page 22: CS 268: Lecture 6

22

Feedback = + 0.1 packet

Round Trip Time

Congestion Window

Feedback = - 0.3 packet

How does XCP Work?

Page 23: CS 268: Lecture 6

23

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 24: CS 268: Lecture 6

24

How Does an XCP Router Compute the Feedback?

Congestion Controller Fairness ControllerGoal: Divides between flows to converge to fairness

Looks at a flow’s state in Congestion Header

Algorithm:

If > 0 Divide equally between flows

If < 0 Divide between flows proportionally to their current rates

MIMD AIMD

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

Looks at aggregate traffic & queue

Algorithm:

Aggregate traffic changes by ~ Spare Bandwidth ~ - Queue Size

So, = davg Spare - Queue

Congestion Controller

Fairness Controller

Page 25: CS 268: Lecture 6

25

= 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 Controller

No Parameter Tuning

No Parameter Tuning

Algorithm:

If > 0 Divide equally between flows

If < 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 header

T: Counting Interval

No Per-Flow State

No Per-Flow State

Page 26: CS 268: Lecture 6

26

BottleneckS1

S2

R1, R2, …, Rn

Sn

Subset of Results

Similar behavior over:

Page 27: CS 268: Lecture 6

27

XCP Remains Efficient as Bandwidth or Delay Increases

Bottleneck Bandwidth (Mb/s)

Utilization as a function of Bandwidth

Av g

. U

tiliz

a tio

n

Round Trip Delay (sec)

Avg

. U

tiliz

a tio

n

Utilization as a function of Delay

Page 28: CS 268: Lecture 6

28

Av g

. U

tiliz

a tio

n

Av g

. U

tiliz

a tio

n

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 29: CS 268: Lecture 6

29

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 30: CS 268: Lecture 6

30

XCP Deals Well with Short Web-Like Flows

Arrivals of Short Flows/sec

Average Utilization

Average Queue

Drops

Page 31: CS 268: Lecture 6

31

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 )