1 / 42

FAST II: Algorithms and Performance

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 ” :

marlee
Download Presentation

FAST II: Algorithms and Performance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FAST II: Algorithms and Performance Cheng Jin David Wei Steven Low http://netlab.caltech.edu

  2. Topics • Design Issues • FAST (sc2002 version) • Window Pacing • Experimental Results

  3. Design Issues Raj Jain’s “Three questions that a congestion control algorithm should answer”: • Decision Frequency (Timescale) • Decision function • How to Increase/Decrease Window

  4. How Frequent? • Timescale of a congestion control algorithm New Reno:

  5. Decision Function

  6. Decision Function using Binary Signal

  7. Congestion Signal • Loss • Delay • ECN

  8. Increase/Decrease Function • Under synchronization assumption (Chui and Jain):

  9. Congestion Control Algorithms

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. Results on Convergence Under synchronization model: • Single link identical sources: converge • Single link heterogeneous sources: bounded by converging sequences • General case: Contraction mapping

  17. Simulation with Matlab pkt/ms • baseRTT: 550ms,600ms,650ms,700ms,750ms • Alpha=500 pkt • C=5000/12 pkt/ms pkt/ms pkt pkt

  18. Simulation with Matlab ms pkt • baseRTT: 550ms,600ms,650ms,700ms,750ms • Alpha=500 • C=5000/12 pkt/ms

  19. Window Pacing

  20. 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?

  21. 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

  22. Time-Based Window Pacing cwnd increments are scheduled at fixed intervals. data data ack k k k k k k (Cheng Jin, Caltech)

  23. Event-Based Pacing Detect sufficiently large gap between consecutive bursts and delay cwnd increment until the end of each such burst. (Cheng Jin, Caltech)

  24. 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)

  25. Experiments • SC2002 • Dummynet • Internet2 • Summary

  26. SC2002 Network OC48 OC192 (Sylvain Ravot, Caltech)

  27. 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)

  28. Dummynet Testbed@ Netlab, Caltech

  29. Static throughput Dynamic sharing on Dummynet • capacity = 800Mbps • Delay = 50 - 200ms • # flows: 1 - 10 • iperf throughput • Linux 2.4 (HSTCP: UCL)

  30. Static throughput

  31. Dynamic Sharing HSTCP FAST • Fairness Problem Scalable Linux

  32. queue HSTCP FAST Linux loss throughput Linux Scalable HSTCP STCP HSTCP

  33. Dynamic Sharing HSTCP FAST Scalable Linux

  34. Abilene Testing U Washington PSC Caltech GaTech

  35. 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)

  36. Performance Metrics • Aggregate Average Goodput • Fairness: Jain’s index • Stability: • Responsiveness:

  37. Aggregate throughput Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts

  38. HSTCP ~ Reno Jain’sindex Fairness Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts

  39. Stability Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts

  40. Responsiveness Dummynet: cap = 800Mbps; delay = 50-200ms; #flows = 1-14; 29 expts

  41. Future Works • Congestion Window Control Algorithm: Stability with delay • Synchronization Model • Burstiness Control: Modeling, Measurement • Testing: Experiments in production networks

  42. Questions? Thanks

More Related