Title: FAST II: Algorithms and Performance
1FAST II Algorithms and Performance
- Cheng Jin
- David Wei
- Steven Low
- http//netlab.caltech.edu
2Topics
- Design Issues
- FAST (sc2002 version)
- Window Pacing
- Experimental Results
3Design Issues
- Raj Jains Three questions that a congestion
control algorithm should answer - Decision Frequency (Timescale)
- Decision function
- How to Increase/Decrease Window
4How Frequent?
- Timescale of a congestion control algorithm
- New Reno
5Decision Function
6Decision Function using Binary Signal
7Congestion Signal
8Increase/Decrease Function
- Under synchronization assumption (Chui and Jain)
9Congestion Control Algorithms
10FAST (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
11FAST (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
12FAST (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
13FAST (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
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
No more aggressive than Rate Halving
No more aggressive than Slow Start
16Results on Convergence
- Under synchronization model
- Single link identical sources converge
- Single link heterogeneous sources bounded by
converging sequences - General case
- Contraction mapping
17Simulation with Matlab
pkt/ms
pkt/ms
pkt
pkt
- baseRTT 550ms,600ms,650ms,700ms,750ms
- Alpha500 pkt
- C5000/12 pkt/ms
18Simulation with Matlab
ms
pkt
- baseRTT 550ms,600ms,650ms,700ms,750ms
- Alpha500
- C5000/12 pkt/ms
19Window Pacing
20Pacing
- Why Pacing?
- Eliminate noise of packet loss due to
burstiness (for loss-based algorithms). - Eliminate noise of queuing delay due to
burstiness (for delay-based algorithms). - Pacing can make the behavior of TCP more
fluid-like - Why not pacing?
21Window Pacing
- Action (each acknowledgment)
- If w(t)gtw w(t)w(t)-1
- If w(t)ltw w(t)w(t)1
22Time-Based Window Pacing
cwnd increments are scheduled at fixed
intervals.
data
data
ack
k
k
k
k
k
k
(Cheng Jin, Caltech)
23Event-Based Pacing
Detect sufficiently large gap between consecutive
bursts and delay cwnd increment until the end of
each such burst.
(Cheng Jin, Caltech)
24Implementing Pacing
- Using Intel x86 cycle counter for high
resolution - Combination of time-based and event-based pacing
- Time-based pacing is supported only for single
TCP stream in a single machine - Event-based pacing can support multiple TCP
streams in a single machine
(Cheng Jin, Caltech)
25Experiments
- SC2002
- Dummynet
- Internet2
- Summary
26SC2002 Network
OC48
OC192
(Sylvain Ravot, Caltech)
27FAST BMPS
10
flows
9
Geneva-Sunnyvale
7
FAST
2
Baltimore-Sunnyvale
- FAST
- Standard MTU
- Throughput averaged over gt 1hr
1
Internet2 Land Speed Record
2
1
(Steven Low, Caltech)
28Dummynet Testbed_at_ Netlab, Caltech
29Static throughput
- Dynamic sharing on Dummynet
- capacity 800Mbps
- Delay 50 - 200ms
- flows 1 - 10
- iperf throughput
- Linux 2.4 (HSTCP UCL)
30Static throughput
31Dynamic Sharing
HSTCP
FAST
Scalable
Linux
32queue
HSTCP
FAST
Linux
loss
throughput
Linux
Scalable
STCP
HSTCP
HSTCP
33Dynamic Sharing
HSTCP
FAST
Scalable
Linux
34Abilene Testing
U Washington
PSC
Caltech
GaTech
35Abilene Testing
- 100Mbps Test Caltech-gtGatech
- Duration 120 second
- Base RTT 46ms
- UDP blast every 20 seconds for 5 seconds per
blast
RTT (us)
Cwnd
(Cheng Jin, Caltech)
36Performance Metrics
- Aggregate Average Goodput
- Fairness Jains index
- Stability
- Responsiveness
37Aggregate throughput
- Dummynet cap 800Mbps delay 50-200ms flows
1-14 29 expts
38Fairness
- Dummynet cap 800Mbps delay 50-200ms flows
1-14 29 expts
39Stability
- Dummynet cap 800Mbps delay 50-200ms flows
1-14 29 expts
40Responsiveness
Dummynet cap 800Mbps delay 50-200ms flows
1-14 29 expts
41Future Works
- Congestion Window Control Algorithm Stability
with delay - Synchronization Model
- Burstiness Control Modeling, Measurement
- Testing Experiments in production networks
42Questions?