Cheng Jin David Wei Steven Low FAST TCP: design and experiments
Performance at large windows capacity = 155Mbps, 622Mbps, 2.5Gbps, 5Gbps, 10Gbps; 100 ms round trip latency; 100 flows J. Wang (Caltech, June 02) ns-2 simulation 10Gbps 27% txq=100txq= % 1G Linux TCP Linux TCP FAST 19% average utilization capacity = 1Gbps; 180 ms round trip latency; 1 flow C. Jin, D. Wei, S. Ravot, etc (Caltech, Nov 02) DataTAG Network: CERN (Geneva) – StarLight (Chicago) – SLAC/Level3 (Sunnyvale) txq=100
Packet & flow level ACK: W W + 1/W Loss: W W – 0.5W Packet level Reno TCP Flow level Equilibrium Dynamics packets (Mathis formula)
Difficulties at large window Equilibrium problem Packet level: AI too slow, MI too drastic. Flow level: requires very small loss probability. Dynamic problem Packet level: must oscillate on a binary signal. Flow level: unstable at large window.
Problem: binary signal TCP oscillation
Solution: multibit signal FAST stabilized
Problem: no target ACK: W W + 1/W Loss: W W – 0.5W Reno: AIMD (1, 0.5) ACK: W W + a(w)/W Loss: W W – b(w)W ACK: W W Loss: W W – 0.125W HSTCP: AIMD (a(w), b(w)) STCP : MIMD (1/100, 1/8)
Solution: estimate target FAST Slow Start FAST Conv Equil Loss Rec Scalable to any w*
Packet level ACK: W W + 1/W Loss: W W – 0.5W Reno AIMD(1, 0.5) ACK: W W + a(w)/W Loss: W W – b(w)W HSTCP AIMD(a(w), b(w)) ACK: W W Loss: W W – 0.125W STCP MIMD(a, b) FAST
FAST TCP Flow level Understood and Synthesized first. Packet level Designed and implemented later. Design flow level equilibrium & stability Implement flow level goals at packet level
Architecture ~ RTT timescale Ack timescale ~ Ack timescale Data Control Window Control Burstiness Control Estimation TCP Protocol Processing
Architecture Each component designed independently upgraded asynchronously Data Control Window Control Burstiness Control Estimation TCP Protocol Processing
Dynamic sharing: 3 flows FASTLinux HSTCPSTCP Steady throughput
FASTLinux throughput loss queue STCPHSTCP 30min Room for mice ! HSTCP
Aggregate throughput small window 800pkts large window 8000 Dummynet: cap = 800Mbps; delay = ms; #flows = 1-14; 29 expts
Fairness Jain’s index HSTCP ~ Reno Dummynet: cap = 800Mbps; delay = ms; #flows = 1-14; 29 expts
Stability Dummynet: cap = 800Mbps; delay = ms; #flows = 1-14; 29 expts stable in diverse scenarios
Open issues network latency estimation route changes, dynamic sharing does not upset stability small network buffer at least like TCP adapt on slow timescale, but how? TCP-friendliness friendly at least at small window tunable, but how to tune? reverse path congestion
What can FAST do? Networks that support large windows Long latency High bandwidth Networks experience moderate packet losses HTTP traffic Low-bandwidth networks and LANs
Acknowledgments 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