delay-based congestion control

24
Delay-based Delay-based Congestion Congestion Control Control CCW 2003 CCW 2003 David Wei David Wei http://netlab.caltech.edu http://netlab.caltech.edu

Upload: connor

Post on 22-Mar-2016

66 views

Category:

Documents


2 download

DESCRIPTION

Delay-based Congestion Control. CCW 2003 David Wei http://netlab.caltech.edu. Topics. Summary of congestion control algorithms FAST Algorithm Experimental Results Open problems. Decision Function. Decision Function. Congestion Signal. Loss Delay ECN. Queueing delay. Vegas q=q*. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Delay-based Congestion Control

Delay-based Delay-based Congestion Congestion

ControlControlCCW 2003CCW 2003

David WeiDavid Weihttp://netlab.caltech.eduhttp://netlab.caltech.edu

Page 2: Delay-based Congestion Control

TopicsTopics

Summary of congestion control Summary of congestion control algorithmsalgorithms

FAST AlgorithmFAST Algorithm Experimental ResultsExperimental Results Open problemsOpen problems

Page 3: Delay-based Congestion Control

Decision FunctionDecision Function

Page 4: Delay-based Congestion Control

Decision FunctionDecision Function

Page 5: Delay-based Congestion Control

Congestion SignalCongestion Signal LossLoss DelayDelay ECNECN

Queueing delay

ECN

Loss

TFRCp=p*

DUALq>q_max/2?

Vegasq=q*

CARDq>0?

Goodput

Page 6: Delay-based Congestion Control

Decision Decision FunctionFunction

using using Binary Signal Binary Signal

Page 7: Delay-based Congestion Control

Congestion SignalCongestion Signal LossLoss DelayDelay ECNECN

Delay-Delay-BasedBased

Loss-BasedLoss-Based

Multi-Valued Multi-Valued SignalSignal

FAST / FAST / VegasVegas

TFRCTFRC

Binary SignalBinary Signal CARD / CARD / DUALDUAL

Reno / Reno / HSTCP / HSTCP / ScalableTCScalableTCPP

Page 8: Delay-based Congestion Control

Congestion SignalCongestion Signal LossLoss DelayDelay ECNECN

Delay-Delay-BasedBased

Loss-BasedLoss-Based

Multi-Valued Multi-Valued SignalSignal

FAST / FAST / VegasVegas

TFRCTFRC

Binary SignalBinary Signal CARD / CARD / DUALDUAL

Reno / Reno / HSTCP / HSTCP / ScalableTCScalableTCPP

?

Page 9: Delay-based Congestion Control

Throughput as function of the timeChicago -> CERN

Linux kernel 2.4.19

Traffic generated by iperf (I measure the throughput over the last 5 sec)

TCP single stream

RTT = 119ms MTU = 1500

Duration of the test : 2 hours Bottleneck=1Gbps

0

100

200

300

400

500

0 1000 2000 3000 4000 5000 6000 7000Time (s)

Thro

ughp

ut (M

b/s)

By Sylvain Ravot (Caltech)

Reno in High Reno in High Speed…Speed…

Page 10: Delay-based Congestion Control

pW 5.1

Difficulties in Large Difficulties in Large WindowWindow

Equilibrium problemsEquilibrium problems Packet levelPacket level: AI too slow, MI too drastic: AI too slow, MI too drastic Flow levelFlow level:: requiredrequired loss probability too smallloss probability too small

Dynamic problemsDynamic problems Packet levelPacket level: : mustmust oscillate on binary signaloscillate on binary signal Flow levelFlow level: : unstable at large windowunstable at large window

MeasurementMeasurement Very small loss probabilityVery small loss probability Packet out-of orderPacket out-of order

5

Improvements:

HSTCPScalableTC

P

Page 11: Delay-based Congestion Control

FAST (sc2002) Algorithm FAST (sc2002) Algorithm Do the following every other RTT:Do the following every other RTT:per acknowledgment:per acknowledgment: Calculation: Calculation:

Action:Action:• If w(t)>w*: w(t)=w(t)-1If w(t)>w*: w(t)=w(t)-1• If w(t)<w*: w(t)=w(t)+1If w(t)<w*: w(t)=w(t)+1

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 12: Delay-based Congestion Control

FAST (sc2002) Algorithm FAST (sc2002) Algorithm Do the following every other RTT:Do the following every other RTT:per acknowledgment:per acknowledgment: Calculation: Calculation:

Action:Action:• If w(t)>w*: w(t)=w(t)-1If w(t)>w*: w(t)=w(t)-1• If w(t)<w*: w(t)=w(t)+1If w(t)<w*: w(t)=w(t)+1

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 13: Delay-based Congestion Control

FAST (sc2002) Algorithm FAST (sc2002) Algorithm Do the following every other RTT:Do the following every other RTT:per acknowledgment:per acknowledgment: Calculation: Calculation:

Action:Action:• If w(t)>w*: w(t)=w(t)-1If w(t)>w*: w(t)=w(t)-1• If w(t)<w*: w(t)=w(t)+1If w(t)<w*: w(t)=w(t)+1

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 14: Delay-based Congestion Control

FAST (sc2002) Algorithm FAST (sc2002) Algorithm Do the following every other RTT:Do the following every other RTT:per acknowledgment:per acknowledgment: Calculation: Calculation:

Action:Action:• If w(t)>w*: w(t)=w(t)-1If w(t)>w*: w(t)=w(t)-1• If w(t)<w*: w(t)=w(t)+1If w(t)<w*: w(t)=w(t)+1

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 15: Delay-based Congestion Control

FAST (sc2002) Algorithm FAST (sc2002) Algorithm Do the following every other RTT:Do the following every other RTT:per acknowledgment:per acknowledgment: Calculation: Calculation:

Action:Action:• If w(t)>w*: w(t)=w(t)-1If w(t)>w*: w(t)=w(t)-1• If w(t)<w*: w(t)=w(t)+1If w(t)<w*: w(t)=w(t)+1

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 16: Delay-based Congestion Control

FAST (sc2002) Algorithm FAST (sc2002) Algorithm Do the following every other RTT:Do the following every other RTT:per acknowledgment:per acknowledgment: Calculation: Calculation:

Action:Action:• If w(t)>w*: w(t)=w(t)-1If w(t)>w*: w(t)=w(t)-1• If w(t)<w*: w(t)=w(t)+1If w(t)<w*: w(t)=w(t)+1

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 17: Delay-based Congestion Control

Results on ConvergenceResults on Convergence

With static link model:With static link model: Single link identical sources: convergeSingle link identical sources: converge Single link heterogeneous sources: Single link heterogeneous sources:

bounded by converging sequencesbounded by converging sequences General case (proofs without delay): General case (proofs without delay): Contraction mappingContraction mapping

l

i il

i cdtqtw

2

**

t

tRTTtt

t

RTTt wbaseRTTRTTw

w

Page 18: Delay-based Congestion Control

Simulation with Simulation with MatlabMatlab

baseRTT: 550ms,600ms,650ms,700ms,750msbaseRTT: 550ms,600ms,650ms,700ms,750ms Alpha=500 pktAlpha=500 pkt C=5000/12 pkt/msC=5000/12 pkt/ms

0,)(max)( tc

ctDtw

ttqtq i i

i

pkt/ms

pkt/ms

pkt

pkt

Page 19: Delay-based Congestion Control

Simulation with MatlabSimulation with Matlab

baseRTT: 550ms,600ms,650ms,700ms,750msbaseRTT: 550ms,600ms,650ms,700ms,750ms Alpha=500Alpha=500 C=5000/12 pkt/msC=5000/12 pkt/ms

ms

pkt

Page 20: Delay-based Congestion Control

Dummynet TestbedDummynet Testbed@ Netlab, Caltech@ Netlab, Caltech

Page 21: Delay-based Congestion Control

Static throughputStatic throughput

Dynamic sharing on DummynetDynamic sharing on Dummynet capacity = 800Mbpscapacity = 800Mbps Delay = 50 - 200msDelay = 50 - 200ms # flows: 1 - 10# flows: 1 - 10 iperf throughputiperf throughput Linux 2.4 (HSTCP: UCL)Linux 2.4 (HSTCP: UCL)

Page 22: Delay-based Congestion Control

Static throughputStatic throughput

Page 23: Delay-based Congestion Control

Linux

throughput

loss

queue

STCPHSTCPHSTCPScalable

HSTCPFAST

Linux

10 Flows RTT=50ms ~ 200ms

Bottleneck=800Mbps

Page 24: Delay-based Congestion Control

Questions?Questions?ThanksThanks