Fast Pattern-Based Throughput Prediction for TCP Bulk Transfers

Slides:



Advertisements
Similar presentations
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
Advertisements

1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Fast Pattern-Based Throughput Prediction for TCP Bulk Transfers Tsung-i (Mark) Huang Jaspal Subhlok University of Houston GAN ’ 05 / May 10, 2005.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Copyright © 2005 Department of Computer Science CPSC 641 Winter WAN Traffic Measurements There have been several studies of wide area network traffic.
Explicit Congestion Notification ECN Tilo Hamann Technical University Hamburg-Harburg, Germany.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
On the Constancy of Internet Path Properties Yin Zhang, Nick Duffield AT&T Labs Vern Paxson, Scott Shenker ACIRI Internet Measurement Workshop 2001 Presented.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
Network Traffic Measurement and Modeling CSCI 780, Fall 2005.
Available bandwidth measurement as simple as running wget D. Antoniades, M. Athanatos, A. Papadogiannakis, P. Markatos Institute of Computer Science (ICS),
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
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.
Copyright © 2005 Department of Computer Science CPSC 641 Winter Network Traffic Measurement A focus of networking research for 20+ years Collect.
Reduced TCP Window Size for Legacy LAN QoS Niko Färber July 26, 2000.
1 WAN Measurements Carey Williamson Department of Computer Science University of Calgary.
Junxian Huang 1 Feng Qian 2 Yihua Guo 1 Yuanyuan Zhou 1 Qiang Xu 1 Z. Morley Mao 1 Subhabrata Sen 2 Oliver Spatscheck 2 1 University of Michigan 2 AT&T.
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.
Modeling TCP Throughput: A Simple Model and its Empirical Validation Ross Rosemark Penn State University.
Speeding Up Short Data Transfers Yin Zhang, Lili Qiu Cornell University Srinivasan Keshav Ensim Corporation NOSSDAV’00, Chapel Hill, NC, June 2000 Theory,
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Transport Layer3-1 Announcements r Collect homework r New homework: m Ch3#3,4,7,10,12,16,18-20,25,26,31,33,37 m Due Wed Sep 24 r Reminder: m Project #1.
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.
CS244A Midterm Review Ben Nham Some slides derived from: David Erickson (2007) Paul Tarjan (2007)
TCP Trunking: Design, Implementation and Performance H.T. Kung and S. Y. Wang.
Copyright © Lopamudra Roychoudhuri
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
Self-generated Self-similar Traffic Péter Hága Péter Pollner Gábor Simon István Csabai Gábor Vattay.
What is TCP? Connection-oriented reliable transfer Stream paradigm
1 Capacity Dimensioning Based on Traffic Measurement in the Internet Kazumine Osaka University Shingo Ata (Osaka City Univ.)
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.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 SIGCOMM ’ 03 Low-Rate TCP-Targeted Denial of Service Attacks A. Kuzmanovic and E. W. Knightly Rice University Reviewed by Haoyu Song 9/25/2003.
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.
Emir Halepovic, Jeffrey Pang, Oliver Spatscheck AT&T Labs - Research
ECE 4110 – Internetwork Programming
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
1 Internet Traffic Measurement and Modeling Carey Williamson Department of Computer Science University of Calgary.
1 ICCCN 2003 Modelling TCP Reno with Spurious Timeouts in Wireless Mobile Environments Shaojian Fu School of Computer Science University of Oklahoma.
TCP - Part II.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Topics discussed in this section:
Chapter 3 outline 3.1 transport-layer services
The Transport Layer (TCP)
Chapter 6 TCP Congestion Control
Transport Control Protocol
Chapter 17 and 18: TCP is connection oriented
Chapter 3 outline 3.1 Transport-layer services
TCP Westwood(+) Protocol Implementation in ns-3
Precept 2: TCP Congestion Control Review
Chapter 5 TCP Transmission Control
Lecture 19 – TCP Performance
CPSC 641: WAN Measurement Carey Williamson
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.
CS4470 Computer Networking Protocols
Chapter 6 TCP Congestion Control
CS4470 Computer Networking Protocols
EE 122: Lecture 10 (Congestion Control)
Carey Williamson Department of Computer Science University of Calgary
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:

Fast Pattern-Based Throughput Prediction for TCP Bulk Transfers Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 Fast Pattern-Based Throughput Prediction for TCP Bulk Transfers Tsung-i (Mark) Huang Jaspal Subhlok University of Houston GAN’05 / May 10, 2005 GAN'05

Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 Outline Background Problem Description Methodology Experiments and Results Conclusion and Future Works TMH - GAN'05, 05/10/2005 GAN'05

Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 “Are we there yet?” When you need Throughput Prediction? File download: xx minutes left: MS IE vs. Mozilla Mirror site selection: Knoppix: Florida State Univ. (fsu.edu) or TU Ilmenau, Germany (tu-ilmenau.de) Resource selection in a grid environment Cache selection for web content delivery services Test. TMH - GAN'05, 05/10/2005 GAN'05

Which site will give the best throughput? Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 Which site will give the best throughput? Current approaches and tools: Geographical distance Ping (ICMP) Download 512 KBytes (fixed size) – NWS / iperf Download 10 seconds (fixed duration) - iperf Last two approaches are most accurate: How much data to download / How long? Is “Bandwidth * Delay” the answer? One size fits all? “All or nothing” – no result is available until the end of transmission TMH - GAN'05, 05/10/2005 GAN'05

Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 Problem Description Predicted future throughput can be used in mirror/replica site selection Predict throughput of a TCP bulk transfer Single TCP stream Input: Time Series of (Arrival time, Bytes received) Output: Predicted future throughput Make a prediction of future throughput after 10 ~ 100 RTTs Utilize knowledge of TCP flow patterns Assume TCP flow patterns will repeat later in the same TCP stream TMH - GAN'05, 05/10/2005 GAN'05

Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 TCP Flow Patterns Textbook Examples: (a) Rate Control (b) Congestion Control In Reality: (c) Rate Control with delay (d) Mixed Congestion Control TMH - GAN'05, 05/10/2005 GAN'05

Approach to Throughput Prediction Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 Approach to Throughput Prediction Analyze Time-Series (TS1) of (Arrival Time, Bytes received) to get a meaningful throughput Time-Series Possible solutions: Instant throughput: throughput since previous TCP segment Fixed Interval throughput: avg throughput over a fixed time period Per RTT throughput: partition using fixed SYN-ACK RTT Idea: TCP sends a window full of data segments every RTT Partition Time-Series (TS1 ) with fixed SYN-ACK RTT, and get per RTT Throughput (TS2 ) Analyze per RTT Throughput Time-Series (TS2 ) to predict future throughput Compare different prediction methods across all traces TMH - GAN'05, 05/10/2005 GAN'05

TCP Segment Partitioning (1) Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 TCP Segment Partitioning (1) SYN-ACK RTT = 176 ms Over 1 GBytes/sec About 220 Bytes/sec per RTT Throughput Fixed Interval of 100 ms Log Scaled 121 KB/sec 40 KB/sec Instant throughput shows wide-range of fluctuation. Fixed Interval throughput shows less fluctuation. TMH - GAN'05, 05/10/2005 GAN'05

TCP Segment Partitioning (2) Pattern-Based Throughput Prediction for Bulk TCP Transfers 05/10/2005 TCP Segment Partitioning (2) RTT estimation Use fixed SYN-ACK RTT Simple and effective Partition TCP segments into per RTT throughput time series SYN ACK RTT TMH - GAN'05, 05/10/2005 GAN'05

Throughput Prediction (1) Flat TCP Patterns Rate Control limited (RC) Congestion Control limited (CC) Identify basic elements Flat regions Exponential Climb regions Linear Climb regions Drop points Exponential Climb Linear Climb Drop points TMH - GAN'05, 05/10/2005

Throughput Prediction (2) Peak of slow start Data points up to end of 1st slow start are ignored for prediction initial slow start does not repeat RC-based prediction Use flat regions CC-based prediction Use complete CC cycles Window-based prediction If no clear pattern observed Peak of slow start TMH - GAN'05, 05/10/2005

Experiments (1) - Setup Download data files from 290 web sites (Debian/Gentoo mirrors) Use TCPDUMP to capture receiver’s traffic Record SYN-ACK RTTs Include Retransmitted packets (0.09%) Average file size is 30 MBytes 461 traces collected at Univ. of Houston Traces are analyzed using perl scripts TMH - GAN'05, 05/10/2005

Experiments (2) – Prediction Methods Prediction methods compared Moving Average (MA) – avg throughput of previous 10 RTTs Exponential Weighted Moving Average (EWMA) Aggregate throughput – average past throughput (same as cumulative average); use this as predicted throughput TCP Pattern prediction Average error in predicted future throughput Cut off at 100% if over, in case measured future throughput is very small predicted throughput – measured throughput measured throughput x 100% TMH - GAN'05, 05/10/2005

Illustration of Prediction (1) Make a prediction for next 200 RTTs: Peak of slow start per RTT throughput Aggregate TCP Pattern Drop at 27th RTT 25th RTT 40th RTT Window size (in RTTs) Prediction at 25th RTT Aggregate Throughput Prediction: average throughput of 0~25 RTTs TCP Throughput Prediction: average throughput of 9~25 RTTs (RC-based prediction) Prediction at 40th RTT TCP Throughput Prediction: using Window-based prediction after 27th RTTs (a significant drop) TMH - GAN'05, 05/10/2005

Illustration of Prediction (2) Make a prediction for next 200 RTTs: per RTT throughput Aggregate Moving Average EWMA TCP Pattern per RTT throughput Aggregate TCP Pattern Window size (in RTTs) Closer to 0, better the prediction. Avg error against measured future throughput of next 200 RTTs (for example, at 20th RTT, avg throughput of 21~220 RTTs is used) TMH - GAN'05, 05/10/2005

Illustration of Prediction (3) Make a prediction for next 200 RTTs: One complete CC cycle per RTT throughput Aggregate Moving Average EWMA TCP Pattern per RTT throughput Aggregate TCP Pattern Prediction made at 65th RTT using 3 CC complete cycles Closer to 0, better the prediction. Throughput prediction using Congestion-Control based patterns. TMH - GAN'05, 05/10/2005

Results (1) – predict next 200 RTTs at different time per RTT throughput Aggregate TCP Pattern per RTT throughput Aggregate Moving Average EWMA TCP Pattern per RTT throughput Moving Average EWMA TCP Pattern 30th RTT Aggregate is not accurate for small window size (< 30 RTTs) MA / EWMA generally not as accurate TMH - GAN'05, 05/10/2005

Results (2) – predict at 15th RTT for different time in the future per RTT throughput Aggregate TCP Pattern per RTT throughput Aggregate Moving Average EWMA TCP Pattern per RTT throughput Moving Average EWMA TCP Pattern When only limited data is available, Aggregate is not accurate MA performs best; TCP Pattern is close TMH - GAN'05, 05/10/2005

Results (3) – predict at 25th RTT for different time in the future per RTT throughput Aggregate TCP Pattern per RTT throughput Aggregate Moving Average EWMA TCP Pattern per RTT throughput Moving Average EWMA TCP Pattern More data is available, Aggregate performs better TCP Pattern performs best; MA is close TMH - GAN'05, 05/10/2005

Results (4) – predict at 50th RTT for different time in the future per RTT throughput Aggregate TCP Pattern per RTT throughput Aggregate Moving Average EWMA TCP Pattern per RTT throughput Moving Average EWMA TCP Pattern Even more data is available, TCP Pattern best and Aggregate is close MA now performs worse, due to dynamic of TCP flows TMH - GAN'05, 05/10/2005

Summary of Results Aggregate is accurate with sufficient data, not with a few RTTs of data MA performs very well for a few RTTs of data EWMA is not a good predictor TCP Pattern generally performs better or as well as other methods TMH - GAN'05, 05/10/2005

Summary of Results (table view) Methods Small # of RTTs of data Large # of RTTs of data Aggregate Worse (3) Better (2) Moving Average Best (1) EWMA Worst (4) TCP Pattern TMH - GAN'05, 05/10/2005

Conclusion and Future Works TCP-pattern based throughput prediction is as good or better than other methods. Good predictions within 25 RTTs (or ~ 5 sec). Patterns observed: 65% Rate Control, few Congestion Control Methods using Aggregate (e.g. NWS) can not be expected to work well for small test files What’s next? Identify more patterns Add a degree of confidence for each prediction Multiple TCP streams TMH - GAN'05, 05/10/2005

That’s all, folks! Thank You! TMH - GAN'05, 05/10/2005

Supplement Slides TMH - GAN'05, 05/10/2005

Characteristics of collected traces (1) Terms Values Comments Number of traces 461 Downloaded file size 26-34 MB Avg: 30 MB Unique web sites 290 Debian/Gentoo Avg # segment per trace 24,062 (min/max/median) = (17,025/69,866/24,412) Retransmitted segments 0.09% 97 out of 461 traces Avg # retransmitted segments per trace 103.6 (min/max/median) = (0/2,672/4) Avg SYN-ACT RTT 0.1696 sec (min/max/median) = (0.02/2.91/0.155) Avg # RTTs per trace 2,589 (min/max/median) = (143/110,673/662) TMH - GAN'05, 05/10/2005

Characteristics of collected traces (2) Classification: one trace presents over 50% “some type” of patterns. Type #traces % Comments Rate Control 301 65.29% 35 traces (7.59%) have big gaps (> 10 RTTs) Congestion Avoidance 30 6.51% Mixed or Congestion Control 130 28.20% 51 traces (11.06%) are very low in volume (up to 8~12 pkts/RTT (vs ~44 pkts/RTT)) Total 461 100.00% TMH - GAN'05, 05/10/2005

Some Trace Patterns (300 RTTs) TMH - GAN'05, 05/10/2005 Under-estimated RTT; 100 RTTs

Results (0.5) – predict next 100 RTTs at different time per RTT throughput Aggregate Moving Average EWMA TCP Pattern TMH - GAN'05, 05/10/2005

Results (1.5) – predict next 400 RTTs at different time per RTT throughput Aggregate Moving Average EWMA TCP Pattern TMH - GAN'05, 05/10/2005

Bandwidth Bandwidth: Bottleneck Bandwidth (BB) The amount of data that can be pushed through a link in unit time. Usually measured in bits or bytes per second. Bottleneck Bandwidth (BB) Available Bandwidth (AB) Throughput (T) T ≤ AB ≤ BB TMH - GAN'05, 05/10/2005