420 likes | 525 Vues
Explore the design issues and experimental results of the FAST (sc2002 version) algorithm, focusing on decision frequency, functions, and window adjustment. Learn about the New Reno decision function and the FAST (sc2002) algorithm's actions every other Round-Trip Time. Discover the benefits of window pacing, its impact on TCP behavior fluidity, and time-based versus event-based approaches. Dive into experiments, performance metrics, and future directions for congestion control algorithms.
E N D
FAST II: Algorithms and Performance Cheng Jin David Wei Steven Low http://netlab.caltech.edu
Topics • Design Issues • FAST (sc2002 version) • Window Pacing • Experimental Results
Design Issues Raj Jain’s “Three questions that a congestion control algorithm should answer”: • Decision Frequency (Timescale) • Decision function • How to Increase/Decrease Window
How Frequent? • Timescale of a congestion control algorithm New Reno:
Congestion Signal • Loss • Delay • ECN
Increase/Decrease Function • Under synchronization assumption (Chui and Jain):
FAST (sc2002) Algorithm Do the following every other RTT: per acknowledgment: • Calculation: • Action: • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1
FAST (sc2002) Algorithm Do the following every other RTT: per acknowledgment: • Calculation: • Action: • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1
FAST (sc2002) Algorithm Do the following every other RTT: per acknowledgment: • Calculation: • Action: • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1
FAST (sc2002) Algorithm Do the following every other RTT: per acknowledgment: • Calculation: • Action: • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1
FAST (sc2002) Algorithm Do the following every other RTT: per acknowledgment: • Calculation: • Action: • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1
FAST (sc2002) Algorithm Do the following every other RTT: per acknowledgment: • Calculation: • Action: • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1 No more aggressive than Rate Halving No more aggressive than Slow Start
Results on Convergence Under synchronization model: • Single link identical sources: converge • Single link heterogeneous sources: bounded by converging sequences • General case: Contraction mapping
Simulation with Matlab pkt/ms • baseRTT: 550ms,600ms,650ms,700ms,750ms • Alpha=500 pkt • C=5000/12 pkt/ms pkt/ms pkt pkt
Simulation with Matlab ms pkt • baseRTT: 550ms,600ms,650ms,700ms,750ms • Alpha=500 • C=5000/12 pkt/ms
Pacing 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?
Window Pacing Over one RTT: • Action (each acknowledgment): • If w(t)>w*: w(t)=w(t)-1 • If w(t)<w*: w(t)=w(t)+1
Time-Based Window Pacing cwnd increments are scheduled at fixed intervals. data data ack k k k k k k (Cheng Jin, Caltech)
Event-Based Pacing Detect sufficiently large gap between consecutive bursts and delay cwnd increment until the end of each such burst. (Cheng Jin, Caltech)
Implementing 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)
Experiments • SC2002 • Dummynet • Internet2 • Summary
SC2002 Network OC48 OC192 (Sylvain Ravot, Caltech)
FAST BMPS 10 #flows 9 Geneva-Sunnyvale 7 FAST 2 Baltimore-Sunnyvale FAST • Standard MTU • Throughput averaged over > 1hr 1 Internet2 Land Speed Record 2 1 (Steven Low, Caltech)
Static throughput Dynamic sharing on Dummynet • capacity = 800Mbps • Delay = 50 - 200ms • # flows: 1 - 10 • iperf throughput • Linux 2.4 (HSTCP: UCL)
Dynamic Sharing HSTCP FAST • Fairness Problem Scalable Linux
queue HSTCP FAST Linux loss throughput Linux Scalable HSTCP STCP HSTCP
Dynamic Sharing HSTCP FAST Scalable Linux
Abilene Testing U Washington PSC Caltech GaTech
Abilene Testing 100Mbps Test: Caltech->Gatech • Duration: 120 second • Base RTT: 46ms • UDP blast: every 20 seconds for 5 seconds per blast RTT (us) Cwnd (Cheng Jin, Caltech)
Performance Metrics • Aggregate Average Goodput • Fairness: Jain’s index • Stability: • Responsiveness:
Aggregate throughput Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts
HSTCP ~ Reno Jain’sindex Fairness Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts
Stability Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts
Responsiveness Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts
Future Works • Congestion Window Control Algorithm: Stability with delay • Synchronization Model • Burstiness Control: Modeling, Measurement • Testing: Experiments in production networks
Questions? Thanks