Implementing High Speed TCP (aka Sally Floyd’s) Yee-Ting Li & Gareth Fairey 1 st October 2002 DataTAG CERN (Kinda!)

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Appropriateness of Transport Mechanisms in Data Grid Middleware Rajkumar Kettimuthu 1,3, Sanjay Hegde 1,2, William Allcock 1, John Bresnahan 1 1 Mathematics.
TCP--Revisited. Background How to effectively share the network? – Goal: Fairness and vague notion of equality Ideal: If N connections, each should get.
TCP Variants.
TCP transfers over high latency/bandwidth network & Grid TCP Sylvain Ravot
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
1 TCP Vegas: New Techniques for Congestion Detection and Avoidance Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
EE 122: Congestion Control The Sequel October 1, 2003.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
CUBIC Qian HE (Steve) CS 577 – Prof. Bob Kinicki.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
TFRC for Voice: the VoIP Variant Sally Floyd, Eddie Kohler. March 2005, presentation to AVT draft-ietf-dccp-tfrc-voip-01.txt.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
Texas A&M University Improving TCP Performance in High Bandwidth High RTT Links Using Layered Congestion Control Sumitha.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
A Two-Phase TCP Congestion Control for Reducing Bias over Heterogeneous Networks Jongmin Lee, Hojung Cha, Rhan Ha Yonsei University, Korea Information.
Promoting the Use of End-to- End Congestion Control in the Internet Sally Floyd and Kevin Fall Presented by Scott McLaren.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
L13: Sharing in network systems Dina Katabi Spring Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans.
TCP Congestion Control
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
Adaptive Control for TCP Flow Control Thesis Presentation Amir Maor.
All rights reserved © 2006, Alcatel Accelerating TCP Traffic on Broadband Access Networks  Ing-Jyh Tsang 
02 nd April 03Networkshop Managed Bandwidth Next Generation F. Saka UCL NETSYS (NETwork SYStems centre of excellence)
1 EE 122: Advanced TCP Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
1 TCP-BFA: Buffer Fill Avoidance September 1998 Amr A. Awadallah Chetan Rai Computer Systems.
Networking for the Grid Yee-Ting Li eScience Summer Edinburgh.
Experience with Loss-Based Congestion Controlled TCP Stacks Yee-Ting Li University College London.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Congestion Control for High Bandwidth-Delay Product Networks D. Katabi (MIT), M. Handley (UCL), C. Rohrs (MIT) – SIGCOMM’02 Presented by Cheng.
TCP CUBIC in ns-3 CS577 Brett Levasseur 12/10/2013.
Lecture 9 – More TCP & Congestion Control
TFRC for Voice: the VoIP Variant Sally Floyd, Eddie Kohler. March draft-ietf-dccp-tfrc-voip-01.txt
What is TCP? Connection-oriented reliable transfer Stream paradigm
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Compound TCP in NS-3 Keith Craig 1. Worcester Polytechnic Institute What is Compound TCP? As internet speeds increased, the long ‘ramp’ time of TCP Reno.
Computer Networking Lecture 18 – More TCP & Congestion Control.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
TCP transfers over high latency/bandwidth networks Internet2 Member Meeting HENP working group session April 9-11, 2003, Arlington T. Kelly, University.
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
Final EU Review - 24/03/2004 DataTAG is a project funded by the European Commission under contract IST Richard Hughes-Jones The University of.
INDIANAUNIVERSITYINDIANAUNIVERSITY Status of FAST TCP and other TCP alternatives John Hicks TransPAC HPCC Engineer Indiana University APAN Meeting – Hawaii.
Fast TCP Cheng JinDavid WeiSteven Low Caltech Infocom, March 2004 Offense Team: Santa & Animesh.
1 Flow & Congestion Control Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
TCP Vegas Congestion Control Algorithm
CUBIC Marcos Vieira.
TransPAC HPCC Engineer
TCP-LP Distributed Algorithm for Low-Priority Data Transfer
HighSpeed TCP for Large Congestion Windows
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
TCP Cubic CS577 Brett Levasseur 10/1/2013.
Chapter 6 TCP Congestion Control
TCP Congestion Control
EE 122: Congestion Control The Sequel
Computer Science Division
TCP flow and congestion control
Presentation transcript:

Implementing High Speed TCP (aka Sally Floyd’s) Yee-Ting Li & Gareth Fairey 1 st October 2002 DataTAG CERN (Kinda!)

What is High Speed TCP? Changes the way TCP behaves at high speed (ie large cwnd) Changes the way TCP behaves at high speed (ie large cwnd) Standard TCP has two modes Standard TCP has two modes –Slow start (not very slow…) –Congestion Avoidance Focuses on Congestion Avoidance Mode Focuses on Congestion Avoidance Mode –ie when TCP knows (thinks it knows…) how well the network behaves… BUT only when we are at high speeds, else do what normal Standard TCP does… BUT only when we are at high speeds, else do what normal Standard TCP does… Readily deployable 1 st step towards Equation Based Congestion Control Readily deployable 1 st step towards Equation Based Congestion Control

What does it do? TCP uses two parameters during Congestion Avoidance - AIMD( a,b ) TCP uses two parameters during Congestion Avoidance - AIMD( a,b ) –Increase parameter, a –Decrease parameter, b StandardTCP uses StandardTCP uses –a=1 –b=0.5 High Speed TCP introduces a dependance of a and b depending on the current cwnd High Speed TCP introduces a dependance of a and b depending on the current cwnd –a->a(cwnd) –b->b(cwnd) If we increase a more with larger cwnd we can get back up to our ‘optimal’ cwnd size for the network path If we increase a more with larger cwnd we can get back up to our ‘optimal’ cwnd size for the network path If we decrease b less we don’t lose as much bandwidth due to a small congestion window If we decrease b less we don’t lose as much bandwidth due to a small congestion window

What exactly does it do? Based on the TCP response function Based on the TCP response function –Relates loss and throughput Uses the TCP response function to investigate certain parameters Uses the TCP response function to investigate certain parameters – High_Window, High_Loss ; largest cwnd needed for x throughput and the required loss for that throughput – Low_Window, Low_Loss ; smallest cwnd when we actually switch from Standard TCP and the required loss rate for that cwnd size – High_B ; the smallest decrease in b when we are at a large cwnd Equations to transform this information into a table for a(cwnd) and b(cwnd) Equations to transform this information into a table for a(cwnd) and b(cwnd)

a(cwnd) & b(cwnd)

Kernel Modifications Focus on investigating phase space of HSTCP variables Focus on investigating phase space of HSTCP variables 3 Phase approach 3 Phase approach –Hard code HSTCP as compile-time option – ‘recommended’ HSTCP by Sally Floyd –Kernel hooks to enable alteration of HSTCP variables – from user space Allows easier testing/exploration Allows easier testing/exploration Only a few changes necessary: Only a few changes necessary: –Code for calculating the a(cwnd) and b(cwnd) values –Modification of existing code for changing cwnd (during the Congestion Avoidance phase only) Implementation on kernel with web100 (currently alpha1.1) Implementation on kernel with web100 (currently alpha1.1)

a(cwnd) & b(cwnd) a(cwnd) and b(cwnd) implement via a static look-up table a(cwnd) and b(cwnd) implement via a static look-up table Using access function get_hstcp_val Using access function get_hstcp_val Changes to congestion avoidance algorithm required only slight modification in tcp_output.c Changes to congestion avoidance algorithm required only slight modification in tcp_output.c

UCL->CERN 100mbit link from UCL->CERN 100mbit link from UCL->CERN Saw tooth increase is greater! Saw tooth increase is greater! Ie a is larger Ie a is larger Limited by 100mbit link… (bandwidth delay ~ 180kbytes) Limited by 100mbit link… (bandwidth delay ~ 180kbytes)

UCL->CERN RTT: 20ms RTT: 20ms Not much difference! Not much difference! No clear advantage to using HSTCP for this link at this speed (100mbit)! No clear advantage to using HSTCP for this link at this speed (100mbit)!

UCL->SLAC Graph shows min and max of about 8 separate flows Graph shows min and max of about 8 separate flows RTT: 135ms RTT: 135ms Standard TCP performance poor Standard TCP performance poor HighSpeedTCP gives performance boost of about 2.5! HighSpeedTCP gives performance boost of about 2.5!

UCL->SLAC Cwnd grows a lot bigger Cwnd grows a lot bigger HSTCP is not linear cwnd growth HSTCP is not linear cwnd growth Grows faster as result (increased bandwidth!) Grows faster as result (increased bandwidth!) AIMD(7,0.34) AIMD(8,0.33) AIMD(9,0.32) AIMD(6,0.35) AIMD(5,0.36) AIMD(4,0.38) AIMD(3,0.41) AIMD(2,0.44) AIMD(1,0.50)

Performance Issues Slow Start Slow Start –High drop rates when we send too much out during Slow Start –Means that we have to linearly increment cwnd –As HSTCP has a much steeper increase, we get up to a large cwnd faster

Controlling Loss Rates Difficult to control what is happening on real life networks Difficult to control what is happening on real life networks Need to be able to control packet drops to quantify effects of TCP Need to be able to control packet drops to quantify effects of TCP Need facility for Sender side to ‘unacknowledged’ acknowledgements Need facility for Sender side to ‘unacknowledged’ acknowledgements –Artificial packet drops Easier to test as only requires Sender side (already modified with HSTCP) to be changed Easier to test as only requires Sender side (already modified with HSTCP) to be changed Investigate into Investigate into –Constant drop rates – unrealistic but easy to implement –Statistically predictable drop rates Can analyse implementation of b parameter easier! Can analyse implementation of b parameter easier!

Test Plan Need to verify a(cwnd) and b(cwnd) are functioning correctly Need to verify a(cwnd) and b(cwnd) are functioning correctly Comparison with Theoretical Results with Network Simulator by Evandro de Berkely Lab Comparison with Theoretical Results with Network Simulator by Evandro de Berkely Lab Investigation of ‘recommended’ HSTCP Investigation of ‘recommended’ HSTCP –Quantify advantages over StandardTCP –Investigate into Fairness Investigation of RTT independence of HSTCP Investigation of RTT independence of HSTCP –Proposed by Tom Kelly & Glenn Vinnicombe Comparison against Multiple Stream TCP Comparison against Multiple Stream TCP –If we can do it with Multiple Stream TCP, why bother with HSTCP? Investigation into Limited Slow Start Investigation into Limited Slow Start –Important if we’re using large cwnds (UCL->SLAC) to better guess the network state at start up

Conclusions Not much use for low latency, low throughput networks Not much use for low latency, low throughput networks Much improved for high latency, high throughput networks Much improved for high latency, high throughput networks Important! Important! –Fairness (and hence internet stability) needs much investigation –Comparisons to existing methods (ie Multistream TCP)