Title: Delay-based Congestion Control
1Delay-based Congestion Control
- CCW 2003
- David Wei
- http//netlab.caltech.edu
2Acknowledgments
- Caltech
- Bunn, Choe, Doyle, Newman, Ravot, Singh, J. Wang
- UCLA
- Paganini, Z. Wang
- CERN
- Martin
- SLAC
- Cottrell
- Internet2
- Almes, Shalunov
- Cisco
- Aiken, Doraiswami, Yip
- Level(3)
- Fernes
- LANL
- Wu
3Topics
- Summary of congestion control algorithms
- FAST Algorithm
- Experimental Results
- Open problems
4Decision Function
5Decision Function
6Congestion Signal
Queueing delay
Vegas qq
DUAL qgtq_max/2?
TFRC pp
ECN
CARD qgt0?
Loss
Goodput
7Decision Function using Binary Signal
8Congestion Signal
Delay-Based Loss-Based
Multi-Valued Signal FAST / Vegas TFRC
Binary Signal CARD / DUAL Reno / HSTCP / ScalableTCP
9Congestion Signal
?
Delay-Based Loss-Based
Multi-Valued Signal FAST / Vegas TFRC
Binary Signal CARD / DUAL Reno / HSTCP / ScalableTCP
10Reno in High Speed
Throughput as function of the time Chicago -gt
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 Bottleneck1Gbps
By Sylvain Ravot (Caltech)
11Difficulties in Large Window
- Equilibrium problems
- Packet level AI too slow, MI too drastic
- Flow level required loss probability too small
- Dynamic problems
- Packet level must oscillate on binary signal
- Flow level unstable at large window
- Measurement
- Very small loss probability
- Packet out-of order
Improvements HSTCP ScalableTCP
5
12Throughput as function of the time Dummynet
Testbed Linux kernel 2.4.19 High Speed TCP (UCL
Version) Traffic generated by iperf (average over
5 sec) RTT 100ms, 150ms, 200ms MTU 1500
Duration of the test 9000 seconds Bottleneck8
00Mbps
High Speed TCP
Expected
Huge Loss
13Throughput as function of the time Dummynet
Testbed Linux kernel 2.4.19 Scalable TCP Traffic
generated by iperf (average over 5 sec) RTT
100ms, 150ms, 200ms MTU 1500 Duration of the
test 9000 seconds Bottleneck800Mbps
Scalable TCP
MIMD
14FAST (sc2002) Algorithm
- Do the following every other RTT
- per acknowledgment
- Calculation
- Action
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
15FAST (sc2002) Algorithm
- Do the following every other RTT
- per acknowledgment
- Calculation
- Action
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
16FAST (sc2002) Algorithm
- Do the following every other RTT
- per acknowledgment
- Calculation
- Action
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
17FAST (sc2002) Algorithm
- Do the following every other RTT
- per acknowledgment
- Calculation
- Action
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
18FAST (sc2002) Algorithm
- Do the following every other RTT
- per acknowledgment
- Calculation
- Action
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
19FAST (sc2002) Algorithm
- Do the following every other RTT
- per acknowledgment
- Calculation
- Action
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
20Results on Convergence
- With static link model
- Single link identical sources converge
- Single link heterogeneous sources bounded by
converging sequences - General case (proofs without delay)
- Contraction mapping
21Simulation with Matlab
pkt/ms
pkt/ms
pkt
pkt
- baseRTT 550ms,600ms,650ms,700ms,750ms
- Alpha500 pkt
- C5000/12 pkt/ms
22Simulation with Matlab
ms
pkt
- baseRTT 550ms,600ms,650ms,700ms,750ms
- Alpha500
- C5000/12 pkt/ms
23Throughput as function of the time Dummynet
Testbed Linux kernel 2.4.20 FAST Traffic
generated by iperf (average over 5 sec) RTT
100ms, 150ms, 200ms MTU 1500 Duration of the
test 9000 seconds Bottleneck800Mbps
FAST Experiment
Noise?
24Dummynet Testbed_at_ Netlab, Caltech
25Static throughput
- Dynamic sharing on Dummynet
- capacity 800Mbps
- Delay 50 - 200ms
- flows 1 - 10
- iperf throughput
- Linux 2.4 (HSTCP UCL)
26Static throughput
27queue
HSTCP
FAST
Linux
RTT50ms 200ms
10 Flows
loss
throughput
Linux
Scalable
STCP
HSTCP
Bottleneck800Mbps
HSTCP
28Dynamic Sharing
HSTCP
FAST
Scalable
Linux
29Difficulties in Delay-based Control
- Packet Level (Noise)
- Propagation roundtrip delay
- Backward queueing delay
- Noise due to burstiness
- Flow level
- How to tune parameter (alpha)?
5
30Questions?