High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.

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

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Appropriateness of Transport Mechanisms in Data Grid Middleware Rajkumar Kettimuthu 1,3, Sanjay Hegde 1,2, William Allcock 1, John Bresnahan 1 1 Mathematics.
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
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 Vegas: New Techniques for Congestion Detection and Control.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
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.
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.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
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.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
Transport Level Protocol Performance Evaluation for Bulk Data Transfers Matei Ripeanu The University of Chicago Abstract:
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
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.
COMT 4291 Communications Protocols and TCP/IP COMT 429.
UDT: UDP based Data Transfer Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
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
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
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.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
TCP Westwood: Efficient Transport for High-speed wired/wireless Networks 2008.
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
TCP transfers over high latency/bandwidth networks & Grid DT Measurements session PFLDnet February 3- 4, 2003 CERN, Geneva, Switzerland Sylvain Ravot
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.
Peer-to-Peer Networks 13 Internet – The Underlay Network
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
@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.
@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.
TCP over Wireless PROF. MICHAEL TSAI 2016/6/3. TCP Congestion Control (TCP Tahoe) Only ACK correctly received packets Congestion Window Size: Maximum.
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
CUBIC Marcos Vieira.
The Transport Layer (TCP)
Chapter 6 TCP Congestion Control
COMP 431 Internet Services & Protocols
Congestion Control.
TCP Vegas: New Techniques for Congestion Detection and Avoidance
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.
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
Congestion Control in TCP
Chapter 6 TCP Congestion Control
CS640: Introduction to Computer Networks
TCP Throughput Modeling
CS4470 Computer Networking Protocols
TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Review of Internet Protocols Transport Layer
Presentation transcript:

High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago

Problem Bulk transfers transfer of many large blocks of data from one storage resource to another delivery order is not important Parallel flows to accommodate to parallel end systems Questions What is the achievable throughput using TCP Which TCP extensions are worth investigating Do we need another protocol?

Outline TCP review Parallel transfers with TCP shared environments non-shared environments Considering alternatives to TCP Conclusion and future work

TCP Review Provides a reliable, full duplex, and streaming channel Design assumptions: Low physical link error rates assumed  Packet loss = congestion signal No packet reordering at network (IP) level  Packet reordering = congestion signal Design assumptions challenged today! Parallel networking hardware => reordering Dedicated links, reservations => no congestion Bulk transfers => streaming not needed

TCP algorithms Flow control – ACK clocked Slow start – exponential growth Congestion Control – set sstresh to cwnd/2, slow start until sstresh then linear growth Fast Retransmit Fast Recovery

Steady state throughput model 0W/2 W 3W/2 2W Time(RTT) W max W W/2 cwnd size (packets) M. Mathis,

Steady state throughput model 0 Time (RTT) cwnd size (packets )

Parallel TCP transfers - - shared environments Advantages: More resilient to network layer packet losses More aggressive behavior: faster slow start and recovery Drawbacks: Aggregated flow not TCP friendly! Does not respond to congestion signals (RED routers might take “appropriate” action) Solution: E-TCP (RFC2140) Difficult to configure transfer properly to maximize link utilization

Shared environments (cont) Framework for simulation studies Change network path proprieties, no. of lows, loss/reordering rates, competing traffic etc. Identify additional problems: TCP congestion control does not scale Unfair sharing of the available bandwidth among flows Low link utilization efficiency If competing traffic is formed by many short lived flows, performance is even worse Self synchronizing traffic Burstiness

50 flows try to send data over paths that has a 1 Mbps bottleneck segment. RTT=80ms and MSS=1000bytes. Router buffers: 100 packets. The graph reports the number of packets successfully sent during a 600s period. Fair share.

Non-shared environments Dedicated links or reservations Transfer can be set up properly: Use TCP tools to discover: bottleneck bandwidth, MSS, RTT; pipe size PS = bw*RTT/MSS Set receiver’s advertised window: rwnd=PS/no_flows No packets will be lost due to buffer overflow TCP design assumptions do not hold anymore Packet loss Reordering

Non-shared environment Analytical models supported by simulations: Throughput as a function of: Network path proprieties: RTT, MSS, bottleneck bandwidth Number of parallel flows used Frequency of packet loss/reordering events. (On optical links link error rate is very low) Achievable throughput using TCP can get close to 100% of bottleneck bandwidth

Single flow throughput as a function of loss indication rates. MSS = 500bytes Bottleneck bandwidth=100Mbps; RTT=100ms;.

Increasing segment size: to 1460, 4400 and 9000 bytes Single flow throughput as a function of loss indication rates for various pipe sizes for various segment sizes. Bottleneck bandwidth=100Mbps; RTT=100m.

Increase the number of parallel flows. The new transfer uses 5 flows. Bottleneck bandwidth=100Mbps; RTT=100ms;.

To increase throughput Decrease pipe size for each flow: segment size (hardware trend) number of parallel flows Detect packet reordering events; SACK (RFC2018; RFC2883) could be used to pass info adjust duplicate ACK threshold dynamically “undo” reduction of the congestion window Skip slow start; cache and share RTT values among flows (T/TCP, …)

Alternatives A rate-based protocol like NETBLT (RFC998) Shared environments [Aggarwal & all ‘00] simulation studies Counterintuitive: no performance improvements Non-shared environments Theoretically should be a bit faster, but … …needs to beat the huge amount of engineering around TCP implementations Requires smaller buffers at routers Simulation studies needed

Summary and next steps We have a framework for simulation studies of high-performance transfers. Used it for investigating TCP performance in shared and non-shared environments. Next: Use simulations to evaluate SACK TCP extensions effectiveness in detecting reordering. Evaluate decisions after reordering is detected. Simulate a rate-based protocol and compare with TCP dialects