Udt.sourceforge.net 1 :: 23 Supporting Configurable Congestion Control in Data Transport Services Yunhong Gu and Robert L. Grossman Laboratory for Advanced.

Slides:



Advertisements
Similar presentations
The LAC/UIC experiences through JGN2/APAN during SC04 Katsushi Kouyama and Kazumi Kumazoe Kitakyushu JGN Research Center / NiCT Robert L. Grossman, Yunhong.
Advertisements

A Survey of Recent High Speed TCP Variants
TCP Variants.
Yunhong Gu & Robert Grossman University of Illinois at Chicago
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
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.
NS-2 TCP-Linux David Wei and Pei Cao. Outline Motivation Motivation Code structure of NS-2 TCP-Linux agent Code structure of NS-2 TCP-Linux agent Design.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
TCP friendlyness: Progress report for task 3.1 Freek Dijkstra Antony Antony, Hans Blom, Cees de Laat University of Amsterdam CERN, Geneva 25 September.
Profiling Network Performance in Multi-tier Datacenter Applications
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
The Transport Layer Chapter 6. The TCP Segment Header TCP Header.
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.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
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.
Transport: TCP Manpreet Singh (Slides borrowed from various sources on the web)
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
UDP© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department.
Udt.sourceforge.net 1 :: 50 BREAKING THE DATA TRANSFER BOTTLENECK Yunhong GU National Center for Data Mining University of Illinois at Chicago.
Advanced Network Architecture Research Group 2001/11/149 th International Conference on Network Protocols Scalable Socket Buffer Tuning for High-Performance.
Udt.sourceforge.net 1 :: 50 BREAKING THE DATA TRANSFER BOTTLENECK Yunhong GU Laboratory for Advanced Computing National Center for Data.
A Simulation of Adaptive Packet Size in TCP Congestion Control Zohreh Jabbari.
Experiences in Design and Implementation of a High Performance Transport Protocol Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data.
1 Robust Transport Protocol for Dynamic High-Speed Networks: enhancing XCP approach Dino M. Lopez Pacheco INRIA RESO/LIP, ENS of Lyon, France Congduc Pham.
Optimizing UDP-based Protocol Implementations Yunhong Gu and Robert L. Grossman Presenter: Michal Sabala National Center for Data Mining.
UDT: UDP based Data Transfer Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago.
UDT: UDP based Data Transfer Protocol, Results, and Implementation Experiences Yunhong Gu & Robert Grossman Laboratory for Advanced Computing / Univ. of.
UDT as an Alternative Transport Protocol for GridFTP Raj Kettimuthu Argonne National Laboratory The University of Chicago.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
UDT UDT Bo Liu 11/1/2012 Inspired by Yunhong GU. OUTLINE Goal of UDT Three conditions Congestion control of UDT UDT Format Composable UDT.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
Advanced Network Architecture Research Group 2001/11/74 th Asia-Pacific Symposium on Information and Telecommunication Technologies Design and Implementation.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Rate Control Rate control tunes the packet sending rate. No more than one packet can be sent during each packet sending period. Additive Increase: Every.
Data Transport Challenges for e-VLBI Julianne S.O. Sansa* * With Arpad Szomoru, Thijs van der Hulst & Mike Garret.
Paper Review: Latency Evaluation of Networking Mechanisms for Game Traffic Jin, Da-Jhong.
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
TCP CUBIC in ns-3 CS577 Brett Levasseur 12/10/2013.
An Introduction to UDT Internet2 Spring Meeting Yunhong Gu Robert L. Grossman (Advisor) National Center for Data Mining University.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Using Heterogeneous Paths for Inter-process Communication in a Distributed System Vimi Puthen Veetil Instructor: Pekka Heikkinen M.Sc.(Tech.) Nokia Siemens.
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.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Recap of Lecture 19 If symptoms persist, please consult Dr Jacobson.
Computer Networks Lecture 10: Transport layer Part III
Data Transport Challenges for e-VLBI Julianne S.O. Sansa* * With Arpad Szomoru, Thijs van der Hulst & Mike Garret.
Midterm Review Chapter 1: Introduction Chapter 2: Application Layer
Trickles :A stateless network stack for improved Scalability, Resilience, and Flexibility Alan Shieh,Andrew C.Myers,Emin Gun Sirer Dept. of Computer Science,Cornell.
Peer-to-Peer Networks 13 Internet – The Underlay Network
Increasing TCP's CWND based on Throughput draft-you-iccrg-throughput-based-cwnd-increasing-00 Jianjie You IETF92 Dallas.
An Analysis of AIMD Algorithm with Decreasing Increases Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data Mining.
Access Link Capacity Monitoring with TFRC Probe Ling-Jyh Chen, Tony Sun, Dan Xu, M. Y. Sanadidi, Mario Gerla Computer Science Department, University of.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
CIS679: UDP and Multimedia r Review of last lecture r UDP and multimedia.
© 2006 Andreas Haeberlen, MPI-SWS 1 Monarch: A Tool to Emulate Transport Protocol Flows over the Internet at Large Andreas Haeberlen MPI-SWS / Rice University.
Accelerating Peer-to-Peer Networks for Video Streaming
Chapter 3 outline 3.1 transport-layer services
COMP 431 Internet Services & Protocols
Transport Protocols over Circuits/VCs
TCP Westwood(+) Protocol Implementation in ns-3
BREAKING THE DATA TRANSFER BOTTLENECK
A tutorial on the implementation of TCP in ns-3
Computer Science Division
TCP flow and congestion control
Anant Mudambi, U. Virginia
Review of Internet Protocols Transport Layer
Presentation transcript:

udt.sourceforge.net 1 :: 23 Supporting Configurable Congestion Control in Data Transport Services Yunhong Gu and Robert L. Grossman Laboratory for Advanced Computing National Center for Data Mining University of Illinois at Chicago November 16, 2005 udt.sourceforge.net

2 :: 23 Outline OVERVIEW DESIGN OF UDT/CCC PERFORMANCE EVALUATION CONCLUSIONS AND FUTURE WORK

udt.sourceforge.net 3 :: 23 >> OVERVIEW DESIGN OF UDT/CCC PERFORMANCE EVALUATION CONCLUSIONS AND FUTURE WORK

udt.sourceforge.net 4 :: 23 From UDT to Composable UDT  UDT (UDP-based Data Transfer Protocol)  New application level protocol: add reliability and congestion control to UDP  New congestion control algorithm designed for high performance data transfer over high-speed wide area networks  Open source:  Composable UDT  An expansion to UDT with ability to allow users to configure the UDT library: congestion control, data reliability, etc.  Compile time option: no performance drop for the original UDT

udt.sourceforge.net 5 :: 23 UDT with Configurable Congestion Control (CCC)  CCC support is the first step of Composable UDT  UDT/CCC allows user to implement or assign a specific congestion control algorithm to a UDT connection  Per connection control  Dynamically configurable

udt.sourceforge.net 6 :: 23 Motivations  Easy implementation and deployment of new control algorithms  Easy evaluation of new control algorithms  Application awareness support and dynamic configuration

udt.sourceforge.net 7 :: 23 >> DESIGN OF UDT/CCC PERFORMANCE EVALUATION CONCLUSIONS AND FUTURE WORK OVERVIEW

udt.sourceforge.net 8 :: 23 UDT with Configurable Congestion Control UDP Socket API Applications UDT UDT Socket CC CC Callbacks Memory Copy Bypass

udt.sourceforge.net 9 :: 23 Methodologies  Packet sending control  Window-based, rate-based, and hybrid  Control event handling  onACK, onLoss, onTimeout, onPktSent, onPktRecved, etc.  Protocol parameters access  RTT, loss rate, RTO, etc.  Packet extension  User-defined control packets

udt.sourceforge.net 10 :: 23 Supported Protocols  Reliable UDP-based Protocols  Standard TCP (TCP NewReno)  Loss-based TCP Variants  Delay-based TCP Variants  Group-based Protocols  And more…

udt.sourceforge.net 11 :: 23 Examples: Reliable UDP Blast class CUDPBlast: public CCC { public: CUDPBlast() {m_dCWndSize = ;} public: void setRate(int mbps) { m_dPktSndPeriod = (m_iSMSS * 8.0) / mbps; } protected: static const int m_iSMSS = 1500; };

udt.sourceforge.net 12 :: 23 Examples: Reliable UDP Blast UDT::setsockopt(usock, 0, UDT_CC, new CCCFactory, sizeof(CCCFactory )); CUDPBlast* cchandle = NULL; int size = sizeof(CUDPBlast); UDT::getsockopt(usock, 0, UDT_CC, &cchandle, &size); if (NULL != cchandle) cchandle->setRate(500);... cchandle->setRate(1000);

udt.sourceforge.net 13 :: 23 Examples: TCP NewReno virtual void onACK(const int& ack) { if (three duplicate ACK detected) { // ssthresh = max{flight_size / 2, 3} // cwnd = ssthresh + 3 * SMSS } else if (further duplicate ACK detected) { // cwnd = cwnd + SMSS } else if (end fast recovery) { // cwnd = ssthresh } else { // cwnd = cwnd + 1/cwnd }

udt.sourceforge.net 14 :: 23 >> PERFORMANCE EVALUATION CONCLUSIONS AND FUTURE WORK OVERVIEW DESIGN OF UDT/CCC

udt.sourceforge.net 15 :: 23 Evaluation  Simplicity  Can it be easily used?  Expressiveness  Can it be used to implement most control protocols?  Similarity  Can Composable UDT based implementations reproduce the performance of their native implementations?  Overhead  Will the overhead added by Composable UDT be too large?

udt.sourceforge.net 16 :: 23 Simplicity & Expressiveness  Eight event handlers, four protocol control functions, and one performance monitoring function.  Support a large variety of protocols  Reliable UDT blast  TCP and its variants (both loss and delay based)  Group transport protocols

udt.sourceforge.net 17 :: 23 Simplicity & Expressiveness CCC Base Congestion Control Class CTCP TCP NewReno CGTP Group Transport Protocol CUDPBlast Reliable UDP Blast CFAST FAST TCP CVegas TCP Vegas CScalable Scalable TCP CHS HighSpeed TCP CBiC BiC TCP CWestwood TCP Westwood / / / / / /

udt.sourceforge.net 18 :: 23 Similarity and Overhead  CTCP vs. Linux TCP  Aggregate throughput  Jain’s fairness index  Stability index (standard deviation) Flow # ThroughputFairnessStability TCPCTCPTCPCTCPTCPCTCP

udt.sourceforge.net 19 :: 23 CPU Overhead vs. ACK Frequencies  CPU usage  Sender: CTCP uses about 100% more times of CPU as Linux TCP  Receiver: CTCP uses about 20% more CPU than Linux TCP  Source of overheads  Additional memory copy and context switch  ACK Frequencies is one of the major factors Flow # ACK Intervals

udt.sourceforge.net 20 :: 23 >> CONCLUSIONS AND FUTURE WORK OVERVIEW DESIGN OF UDT/CCC PERFORMANCE EVALUATION

udt.sourceforge.net 21 :: 23 Conclusions  We expanded our UDT protocol with support for configurable congestion control  Easy implementation and deployment of new control algorithms  Easy evaluation of new control algorithms  Application awareness support and dynamic configuration  Pros  Simplicity and expressiveness  Easily deployable  Cons  CPU overhead

udt.sourceforge.net 22 :: 23 Future Work  Keep improving  More built-in congestion control package  More configuration abilities (e.g., data reliability and timeliness)

udt.sourceforge.net 23 :: 23 The End Thank You! For More Information Please visit: SC|05 Exhibition Booth 2430 Or online at