delay-based congestion control

Post on 22-Mar-2016

66 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

Delay-based Delay-based Congestion Congestion

ControlControlCCW 2003CCW 2003

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

TopicsTopics

Summary of congestion control Summary of congestion control algorithmsalgorithms

FAST AlgorithmFAST Algorithm Experimental ResultsExperimental Results Open problemsOpen problems

Decision FunctionDecision Function

Decision FunctionDecision Function

Congestion SignalCongestion Signal LossLoss DelayDelay ECNECN

Queueing delay

ECN

Loss

TFRCp=p*

DUALq>q_max/2?

Vegasq=q*

CARDq>0?

Goodput

Decision Decision FunctionFunction

using using Binary Signal Binary Signal

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

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

?

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…

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

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

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

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

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

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

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

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

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

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

Dummynet TestbedDummynet Testbed@ Netlab, Caltech@ Netlab, Caltech

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)

Static throughputStatic throughput

Linux

throughput

loss

queue

STCPHSTCPHSTCPScalable

HSTCPFAST

Linux

10 Flows RTT=50ms ~ 200ms

Bottleneck=800Mbps

Questions?Questions?ThanksThanks

top related