Addressing the Challenges of Web Data Transport

Similar documents
The Effects of Asymmetry on TCP Performance

Venkata N. Padmanabhan Microsoft Research A Proposal for SLUMS SLUMS BOF, 44th IETF March 1999

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

Congestion Control in TCP

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Bandwidth Allocation & TCP

TCP Congestion Control

CSE 461. TCP and network congestion

Wireless TCP Performance Issues

Lecture 14: Congestion Control"

CSE/EE 461. TCP congestion control. Last Lecture. This Lecture. Focus How should senders pace themselves to avoid stressing the network?

COMP/ELEC 429/556 Introduction to Computer Networks

Managing Caching Performance and Differentiated Services

Probe or Wait : Handling tail losses using Multipath TCP

CS Transport. Outline. Window Flow Control. Window Flow Control

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

ADVANCED COMPUTER NETWORKS

TCP Congestion Control 65KB W

Equation-Based Congestion Control for Unicast Applications. Outline. Introduction. But don t we need TCP? TFRC Goals

Chapter III. congestion situation in Highspeed Networks

Congestion Avoidance and Control. Rohan Tabish and Zane Ma

Congestion Control 3/16/09

Reliable Transport II: TCP and Congestion Control

Wireless Heterogeneity. EEC173B/ECS152C, Spring 09. Data Transport Over Wireless. Wireless Performance. Reliable Data Transport over Wireless Networks

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Networked Systems and Services, Fall 2017 Reliability with TCP

CS3600 SYSTEMS AND NETWORKS

Networked Systems and Services, Fall 2018 Chapter 3

15-744: Computer Networking TCP

Robust TCP Congestion Recovery

The War Between Mice and Elephants

Reliable Transport II: TCP and Congestion Control

8. TCP Congestion Control

CS4700/CS5700 Fundamentals of Computer Networks

Communication Networks

TCP Enhancements in Linux. Pasi Sarolahti. Berkeley Summer School Outline

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Lecture 15: Transport Layer Congestion Control

TCP in Asymmetric Environments

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

ECE 435 Network Engineering Lecture 10

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

TCP. CSU CS557, Spring 2018 Instructor: Lorenzo De Carli (Slides by Christos Papadopoulos, remixed by Lorenzo De Carli)

Performance Consequences of Partial RED Deployment

PERFORMANCE COMPARISON OF THE DIFFERENT STREAMS IN A TCP BOTTLENECK LINK IN THE PRESENCE OF BACKGROUND TRAFFIC IN A DATA CENTER

Congestion control in TCP

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

Proportional Rate Reduction for TCP

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

TCP Revisited CONTACT INFORMATION: phone: fax: web:

The Impact of Delay Variations on TCP Performance

Internet Networking recitation #10 TCP New Reno Vs. Reno

Flow Control. Flow control problem. Other considerations. Where?

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

image 3.8 KB Figure 1.6: Example Web Page

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Information Network 1 TCP 1/2. Youki Kadobayashi NAIST

Transport Protocols and TCP

CSE 123A Computer Networks

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Exercises TCP/IP Networking With Solutions

Performance Analysis of TCP Variants

Making TCP more Robust against Packet Reordering

Dealing with Short TCP Flows: A Survey of Mice in Elephant Shoes

Congestion Control. Tom Anderson

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Sally Floyd, Mark Handley, and Jitendra Padhye. Sept. 4-6, 2000

Towards a Robust Protocol Stack for Diverse Wireless Networks Arun Venkataramani

Midterm Review. EECS 489 Computer Networks Z. Morley Mao Monday Feb 19, 2007

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

Linux Plumbers Conference TCP-NV Congestion Avoidance for Data Centers

TCP congestion control:

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

A Survey on Quality of Service and Congestion Control

Chapter 3 Transport Layer

Computer Networking Introduction

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

No, the bogus packet will fail the integrity check (which uses a shared MAC key).!

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

TCP Congestion Control

Flow and Congestion Control Marcos Vieira

Outline. Internet. Router. Network Model. Internet Protocol (IP) Design Principles

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

a. (4pts) What general information is contained in a LSR-PDU update that A might send?

Transport Protocols. Raj Jain. Washington University in St. Louis

CS268: Beyond TCP Congestion Control

A Report on Some Recent Developments in TCP Congestion Control

Flow and Congestion Control

MEASURING PERFORMANCE OF VARIANTS OF TCP CONGESTION CONTROL PROTOCOLS

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Transport Protocols and TCP: Review

TCP so far Computer Networking Outline. How Was TCP Able to Evolve

Mid Term Exam Results

A Smart TCP Acknowledgment Approach for Multihop Wireless Networks

CS457 Transport Protocols. CS 457 Fall 2014

Ultra high-speed transmission technology for wide area data movement

Transcription:

Addressing the Challenges of Web Data Transport Venkata N. Padmanabhan Microsoft Research UW Whistler Retreat December 1998

Outline Challenges Solutions TCP Session Fast Start Ongoing and Future Work

The Big Picture Satellite Server Internet Client Server Cable Modem Client Goal: Transfer data from servers to clients efficiently

Why is this hard? #1: Multiple independent components #2: Bursty data transfers #3: Access network characteristics

#1: Multiple Independent Components Interleaved data stream undesirable coupling Image #1 Image #2 stall Concurrent data streams competition Image #1 Image #2

#2: Bursty Data Transfers Web Bulk Latency Telnet Bandwidth Download time sensitive to latency & bandwidth Shared network need to probe before use Probing for bandwidth requires time

#1: How to avoid competition and coupling? HTTP/1.0 avoids coupling but not competition P-HTTP [PM94] avoids competition but not coupling TCP Control Block Interdependence [T97] avoids coupling avoids competition at the time of initialization but not beyond

TCP Session Decouple service model from transport algorithms Sender Receiver Application Application TCP Session TCP TCP TCP TCP TCP TCP Sender-side changes easy to deploy incrementally

TCP Session TCP session components Integrated congestion control Connection scheduling Integrated loss recovery Flexible granularity of integration (default: host-pair)

Congestion Control and Scheduling Key idea: how much data, not what data Unified congestion window controls amount of session-wide outstanding data Window growth and shrinkage not tied to the number of connections Decouple connection scheduling from congestion control

Competing TCP Connections 140 120 100 80 60 40 20 4 concurrent connections 1.5 Mbps/50 ms emulated link 0 0 2 4 6 Time (seconds) Competition leads to inconsistent performance Data transferred (KB)

140 120 100 80 60 40 20 0 Sharing with TCP Session BSD/OS implementation 4 concurrent connections 1.5 Mbps/50 ms emulated link 0 2 4 6 Time (seconds) Sharing leads to more consistent performance Data transferred (KB)

Integrated Loss Recovery Key idea: use packet ordering information across connections to improve data-driven loss recovery 4 2 1 3 2 1 Server Client 1 2 1 2 2 later ack duplicate ack

16 14 12 10 8 6 4 2 0 Performance independent TCP connections Server and clients connected via 1.5 Mbps/50ms link TCP session 4 concurrent 10 KB transfers between server and each client 0 4 8 12 16 20 # clients 2-3X reduction in download time Download time per client (sec)

200 160 120 80 40 Packet Loss # packet losses / timeouts 0 independent TCP connections 0 4 8 12 16 20 # clients TCP session 2X better 2X reduction in packet losses due to integrated congestion ctrl. 10X reduction in timeouts due to integrated loss recovery. T L T L L: loss T: timeout 10X better

Summary of TCP Session Key idea: separation of TCP functionality Advantages over independent TCP connections Fewer packet losses Better loss recovery More control over scheduling of data streams Advantages over P-HTTP No coupling between concurrent data streams Not tied to specific application Changes confined to sender side

Bandwidth Probing in TCP Slow-start probing exponential growth in congestion window starting with a size of one segment ack clocking avoids burstiness Linear probing When is slow-start probing initiated? upon connection start up upon restart after an idle period How does it impact latency? n-segment transfer at least log n RTTs

#2: How to reduce cost of probing? P-HTTP [PM94] avoid repeated probing for components of a single Web page but not across pages 4K slow-start [AFP98] Rate-based Pacing [VH97] smooth out using estimate of connection rate but the estimate could itself be stale

TCP Fast Start Basic idea: use cached network parameters to reduce the cost of probing Reuse most recent successful window size slow-start oldcwnd/2, linear phase oldcwnd-1 Estimate connection s rate as cwnd/srtt Break up large burst into maxburst-sized bursts 6 5 4 3 2 1 Server Client 1 2 3 4 5 6

35 30 25 20 15 10 5 0 Dynamics of Fast Start Congestion window (KB) Sequence number (KB) FS 50 40 FS 30 TCP 0 1 2 3 20 10 0 TCP 0.95 2.60 0 1 2 3 Time (sec) Time (sec) Data transfer over DirecPC satellite network

Robustness of Fast Start Goal: Fast start should help when cached info is valid but not hurt when it is stale Studies indicate that available bandwidth is often stable for several minutes [P97,BSSK97] But we need to guard against staleness Protecting others Protecting oneself

Protecting Others Protect others from over-aggressive fast start Preferentially drop fast start packets (except first one) S in-profile R F F out-of-profile Enables control on time scale finer than RTT Avoids potential congestion collapse

Protecting Oneself Protect oneself from consequences of burst loss Quickly detect and abort failed fast start attempt Fine-grained reset timer during fast start phase tied to the fast TCP timer (200 ms) If reset timer expires, abort fast start reset cwnd to one segment, initiate slow start no other congestion control penalties ssthresh not halved, RTO not backed off Abort also when multiple losses within RTT

Impact of Staleness on Oneself 30 25 20 15 10 5 0 TCP FS FS-COARSE FS-NO-ABORT 0 2 4 6 8 10 # of competing bulk transfers 1.5 Mbps 50 ms Download Time (seconds) Aborting fast start in case of failure prevents significant performance degradation

Impact of Staleness on Others 2550 2500 2450 2400 2350 2300 2250 FS FS w/o P-Drop Segment # 2200 2150 19 20 21 22 23 24 25 Time (sec) Priority dropping significantly decreases adverse impact on competing traffic

Asymmetric Access Network E W E W W W Server Client E E W E W Problem: upstream data packets block acks RTT can become very large Possible solution: acks-first scheduling [BPK97] but RTT can still be large due to the packet in transmission

Impact of Bidirectional Traffic 30 25 20 15 10 TCP FS 175 KB page download over 10 Mbps/28.8 Kbps network 5 0 FIFO Acks-first Fast start helps even though the inherent RTT is not large Download Time (seconds)

Summary and Conclusions TCP Session decouples service model from transport algorithms enables concurrency without competition Fast Start exploits differentiated services to complement endto-end control with faster time-scale control improves bandwidth utilization in the common case avoids risk of performance degradation in the worst case

Conclusions Fast start is robust significant benefit (2X) in favorable conditions little performance degradation in adverse conditions priority dropping, quick detection of failed fast start Reduced latency helps both clients and servers client: faster downloads server: resources freed up more quickly Significant benefit with new access networks satellite, cable modem provides path for incremental deployment