UDT: UDP based Data Transfer Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago Németh Felicián, Tarján Péter.

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

Transmission Control Protocol (TCP)
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
1 End to End Bandwidth Estimation in TCP to improve Wireless Link Utilization S. Mascolo, A.Grieco, G.Pau, M.Gerla, C.Casetti Presented by Abhijit Pandey.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
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.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
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.
Data Communication and Networks
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
EE 4272Spring, 2003 Chapter 17 Transport Protocols Connection-Oriented Transport Protocol  Reliable Network Service: Design Issues  Unreliable Network.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Udt.sourceforge.net 1 :: 50 BREAKING THE DATA TRANSFER BOTTLENECK Yunhong GU National Center for Data Mining University of Illinois at Chicago.
Udt.sourceforge.net 1 :: 50 BREAKING THE DATA TRANSFER BOTTLENECK Yunhong GU Laboratory for Advanced Computing National Center for Data.
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles.
Experiences in Design and Implementation of a High Performance Transport Protocol Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
UDT: UDP based Data Transfer Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago.
TCP Lecture 13 November 13, TCP Background Transmission Control Protocol (TCP) TCP provides much of the functionality that IP lacks: reliable service.
UDT: UDP based Data Transfer Protocol, Results, and Implementation Experiences Yunhong Gu & Robert Grossman Laboratory for Advanced Computing / Univ. of.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
UDT as an Alternative Transport Protocol for GridFTP Raj Kettimuthu Argonne National Laboratory The University of Chicago.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
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.
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.
An Introduction to UDT Internet2 Spring Meeting Yunhong Gu Robert L. Grossman (Advisor) National Center for Data Mining University.
Lecture 9 – More TCP & Congestion Control
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Computer Networking Lecture 18 – More TCP & Congestion Control.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
An Analysis of AIMD Algorithm with Decreasing Increases Yunhong Gu, Xinwei Hong, and Robert L. Grossman National Center for Data Mining.
@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.
Computer Networking Lecture 16 – Reliable Transport.
@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.
Etere Video Assist The last step for a complete tapeless workflow Presented by: Emanuele Porfiri.
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
COMP 431 Internet Services & Protocols
Chapter 3 outline 3.1 Transport-layer services
Computer Networks Bhushan Trivedi, Director, MCA Programme, at the GLS Institute of Computer Technology, Ahmadabad.
Transport Layer Unit 5.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
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.
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Review of Internet Protocols Transport Layer
Presentation transcript:

UDT: UDP based Data Transfer Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago Németh Felicián, Tarján Péter The work is supported by the 2/032/2004 ELTE-BUTE-Ericsson NKFP project on Research and Developments of Tools Supporting Optimal Usage of Heterogen Communication Networks

02/17/2004 PFLDnet Outline Background UDT Protocol UDT Congestion Control Implementation/Simulation Results Summary

02/17/2004 PFLDnet Background Distributed data intensive applications over wide area optical networks:  Grid computing, access of bulk scientific data, data mining, high resolution video, etc. Transport protocol support:  Efficient and fair bandwidth unitization TCP does not work!

02/17/2004 PFLDnet Trans-Atlantic TCP Performance Chicago -> Amsterdam, 1Gbps link capacity, 110ms RTT  TCP: default setting (64KB buffer)  TCP: 12MB buffer (=1Gbps*110ms)  Parallel TCP: 64 TCP concurrent flows, with each having 1MB buffer Two concurrent TCP flows, 1 from Chicago to Amsterdam, 1 within Chicago local networks:  2Mps vs. 940Mbps!

02/17/2004 PFLDnet Why TCP Fails Discover/recover slow on high BDP links  Increase 1 byte per RTT Drastic decrease in sending rate Fairness bias on longer RTT links More prone to link error in high BDP links B: throughout in packets per second, p: loss rate

02/17/2004 PFLDnet Requirements to the New Protocol FAST  High utilization of the abundant bandwidth either with single or multiplexed connections FAIR  Intra-protocol fairness, independent of RTT FRIENDLY  TCP compatibility

02/17/2004 PFLDnet Use Scenarios Small number of sources shares abundant bandwidth Bulk data transfer  Most of the packets can be packed in maximum segment size (MSS) in a UDT session  MSS can be set up by applications and the optimal value is the path MTU

02/17/2004 PFLDnet UDT History 2000: SABUL Concept 2001: SABUL version : dSABUL 2002: SABUL version 2.0, 2.1, 2.2, 2.3, 2003: UDT : UDT 1.1 & : UDT : UDT 3.0

02/17/2004 PFLDnet Papers Supporting Configurable Congestion Control in Data Transport Services Yunhong Gu and Robert L. Grossman UIC/LAC Technical Report, in submission Experiences in Design and Implementation of a High Performance Transport Protocol Yunhong Gu, Xinwei Hong, and Robert L. Grossman SC 2004, Nov , Pittsburgh, PA, USA. An Analysis of AIMD Algorithms with Decreasing Increases Yunhong Gu, Xinwei Hong and Robert L. Grossman First Workshop on Networks for Grid Applications (Gridnets 2004), Oct. 29, San Jose, CA, USA. Optimizing UDP-based Protocol Implementation Yunhong Gu and Robert L. Grossman PFLDNet 2005, Lyon, France, Feb SABUL: A Transport Protocol for Grid Computing Yunhong Gu and Robert L. Grossman, Journal of Grid Computing, 2003, Volume 1, Issue 4, pp

02/17/2004 PFLDnet UDT: UDP based Data Transfer  Reliable, application level, duplex, transport protocol, over UDP with congestion control  Implementation: Open source C++ library Two orthogonal parts  The UDT protocol framework that can be implemented above UDP, with any suitable congestion control algorithms  The UDT congestion control algorithm, which can be implemented in any transport protocols such as TCP What’s UDT?

02/17/2004 PFLDnet Congestion Control Schemes Window control sends data in bursts  TCP pacing (decreases throughput) Rate control  can lead to continuous loss  Rate control + Supportive window control

02/17/2004 PFLDnet Packet Structure Data Packet:  Header: 1bit flag + 31bit sequence number Control Packet:  Header: 1bit flag + 3bit type + 12bit reserved + 16bit ACK seq. no. + (0 - 32n)bit control info  Type: ACK, ACK2, NAK, Handshake, Keep-alive, and Shutdown Actual size of a UDT packet can be ascertained from UDP header

02/17/2004 PFLDnet Data Packet 0Packet Sequence Number User Data Payload  Flag Bit: 0  UDT uses 31-bit packet based sequence number, ranging from 0 and ( )  Sequence number may be wrapped if it exceeds the maximum available number

02/17/2004 PFLDnet Control Packet 1typereservedACK Seq. No. Control Information Field  Flag Bit: 1  type: 3-bit  handshake (000), shutdown (101), keep-alive (001)  ACK (010), ACK2 (110), NAK (011)  UDT uses sub-sequencing: each ACK and related ACK2 are assigned a 16-bit unique ACK sequence number

02/17/2004 PFLDnet Acknowledgements Selective acknowledgement (ACK)  Generated at every constant interval to send back largest continuously received sequence number of data packets.  The sender sends back an ACK2 to the receiver for each ACK (sub-sequencing).  Also carries RTT, packet arrival speed, and estimated link capacity. Explicit negative acknowledgement (NAK)  Generated as soon as loss is detected.  Loss information may be resent if receiver has not received the retransmission after an increasing interval.  Loss information is compressed in NAK.

02/17/2004 PFLDnet Timing Packet Scheduling Timer  Tuned by Rate Control  High precision in CPU clock cycles  Implementation depends on self-clocking, packet sending burst Rate Control Timer: trigger rate control  RCTP = 0.01 seconds ACK Timer: trigger acknowledgement  ATP = RCTP

02/17/2004 PFLDnet Timing (cont.) NAK Timer: trigger negative acknowledgement  NTP = RTT Retransmission Timer: trigger retransmission based on time-out and maintain connection status  RTP = (exp-count + 1) * RTT + ATP where exp-count is the number of continuous time-out

02/17/2004 PFLDnet UDT Architecture DATA ACK ACK2 NAK Sender Recver Sender Recver  Pkt. Scheduling Timer  ACK Timer  NAK Timer  Retransmission Timer  Rate Control Timer Sender

02/17/2004 PFLDnet Congestion Control Rate based congestion control (Rate Control)  RC tunes the packet sending period.  RC is triggered periodically at the sender side.  RC period is constant of 0.01 seconds. Window based flow control (Flow Control)  FC limits the number of unacknowledged packets.  FC is triggered on each received ACK at the sender side.

02/17/2004 PFLDnet Rate Control AIMD: Increase parameter is related to link capacity and current sending rate; Decrease factor is 1/9, but not decrease for all loss events. Link capacity is probed by packet pair, which is sampled UDT data packets.  Every 16th data packet and it successor packet are sent back to back to form a packet pair.  The receiver uses a median filter on the interval between the arrival times of each packet pair to estimate link capacity. ……

02/17/2004 PFLDnet Receiver Based Packet Pair (RBPP) OK in high-speed optical links Not working well in certain cases  multi-channel links Underestimation  UDT become conservative Overestimation  UDT become more aggressive.  Finally, UDT turns into window-based cong. control V. Paxson, End-to-End Internet Packet Dynamics, IEEE/ACM Transactions on Networking, Vol.7, No.3, pp , June 1999.

02/17/2004 PFLDnet Rate Control (cont.) 1. If loss rate is greater than 1%, do not increase; 2. Number of packets to be increased in next RCTP time is: where B is estimated link capacity, C is current sending rate. Both are in packets or packets per second. MSS is the packet size in bytes. β = 1.5 * Recalculate packet sending period (STP). An Analysis of AIMD Algorithms with Decreasing Increases Yunhong Gu, Xinwei Hong and Robert L. Grossman First Workshop on Networks for Grid Applications (Gridnets 2004), Oct. 29, San Jose, CA, USA.

02/17/2004 PFLDnet Rate Control (cont.) C (Mbps)B - C (Mbps)Increase Param. (Pkts) [0, 9000)(1000, 10000]10 [9000, 9900)(100, 1000]1 [9900, 9990)(10, 100]0.1 [9990, 9999)(1, 10]0.01 [9999, )(0.1, 1] < B = 10Gbps, MSS = 1500 bytes

02/17/2004 PFLDnet UDT Algorithm

02/17/2004 PFLDnet Rate Control (cont.) Decrease sending rate by 1/9, (or equivalently, increase packet sending period by 1.125), only if 1. Received an NAK, whose last lost sequence number is greater than the largest sequence number when last decrease occurred; or 2. The number of loss events since last decrease has exceeded a threshold, which increases exponentially and is reset when condition 1 is satisfied. No data will be sent out for the next RCTP time if a decrease occurs.  Help to clear congestion. In a short period, loss rate due to congestion is larger than loss rate due to physical link error

02/17/2004 PFLDnet BDP W = W* AS*(RTT+ATP)*0.125 AS is the packets arrival speed at receiver side.  The receiver records the packet arrival intervals. AS is calculated from the average of latest 16 intervals after a median filter.  It is carried back within ACK. Flow Control

02/17/2004 PFLDnet Slow Start Flow window starts at 2 and increases to the number of acknowledged packets, until the sender receives an NAK or reaches the maximum window size, when slow start ends. Packet sending period is 0 during slow start phase and set to the packet arrival interval at the end of the phase. Slow start only occurs at the beginning of a UDT session.

02/17/2004 PFLDnet Implementation: Performance

02/17/2004 PFLDnet Implementation: Intra-protocol Fairness

02/17/2004 PFLDnet Implementation: TCP Friendliness

02/17/2004 PFLDnet Implementation: TCP Friendliness (cont.)

02/17/2004 PFLDnet Implementation: File Transfer ToStarLightCanarieSARA From StarLight Canarie SARA CanarieStarLightSARA 1Gbps/15.9ms1Gbps/110ms Disk R: 800Mbps W: 550Mbps Disk R: 800Mbps W: 500Mbps Disk R: 1300Mbps W: 900Mbps

02/17/2004 PFLDnet Simulation: UDT Throughput at Different Bandwidth and RTT

02/17/2004 PFLDnet Simulation: Performance of Concurrent UDT Flows

02/17/2004 PFLDnet Simulation: Intra-protocol Fairness

02/17/2004 PFLDnet Simulation: RTT Independence

02/17/2004 PFLDnet Simulation: TCP Friendliness

02/17/2004 PFLDnet Simulation: Convergence/Stability

02/17/2004 PFLDnet Simulation: Complex Scenario 100  5010    Flow ID Throughput (Mbps) Link capacity Mbps Flow and its ID Node DropTail

02/17/2004 PFLDnet Simulation: Multi-bottleneck A x 200 B C X AB AC X AB AC

02/17/2004 PFLDnet Summary UDT Protocol  Application level upon UDP  Selective acknowledgement / explicit negative acknowledgement UDT Congestion Control  Rate Control Bandwidth estimation for fast probing available bandwidth and fast recovery AIMD for fairness Constant rate control interval  Flow Control Dynamic flow window according to packet receiving speed

02/17/2004 PFLDnet UDT Characters Good use of available bandwidth Application level - no changes in router and operating system No manual tuning Fair and Friendly: intra-protocol fairness, TCP friendliness, and RTT independence. Open source

Thank You! LAC: UDT: sourceforge.net/projects/dataspacesourceforge.net/projects/dataspace Internet Draft: draft-gg-udt-01.txt

Q&A

02/17/2004 PFLDnet Comparison: mostly “Related Works” x: packet sending rate

02/17/2004 PFLDnet SYS interval: 10 ms Acceptable trade-off between efficiency and fairness  Intra-protocol and TCP Larger values  Less responsive to network change  Slower in loss recovery  More stable  Friendlier to TCP Smaller: the opposite

02/17/2004 PFLDnet Target environment Large BDP networks, Bulk data transfer Speed of the control flow: ~4.5 kBps Who use it?  Using Teraflows to Transport Sloan Digital Sky Survey (SDSS) Data  e-VLBI compares Tsunami, UDT, FAST TCP