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

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.
1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
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.
SKELETON BASED PERFORMANCE PREDICTION ON SHARED NETWORKS Sukhdeep Sodhi Microsoft Corp Jaspal Subhlok University of Houston.
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.
Announcement Homework 2 in tonight –Will be graded and sent back before Th. class Midterm next Tu. in class –Review session next time –Closed book –One.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
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.
CS215 TCP Westwood Control Model Development and Stability Analysis Hu, Kunzhong Dong, Haibo Mentor: Wang, Ren Professor:
On the Constancy of Internet Path Properties Yin Zhang, Nick Duffield AT&T Labs Vern Paxson, Scott Shenker ACIRI Internet Measurement Workshop 2001 Presented.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Performance Modeling Computer Science Division Department of Electrical Engineering and Computer.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
High-performance bulk data transfers with TCP Matei Ripeanu University of Chicago.
Network Traffic Measurement and Modeling CSCI 780, Fall 2005.
TCP Congestion Control TCP sources change the sending rate by modifying the window size: Window = min {Advertised window, Congestion Window} In other words,
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.
Reduced TCP Window Size for Legacy LAN QoS Niko Färber July 26, 2000.
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
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.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
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,
COMT 4291 Communications Protocols and TCP/IP COMT 429.
Protocol(TCP/IP, HTTP) 송준화 조경민 2001/03/13. Network Computing Lab.2 Layering of TCP/IP-based protocols.
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.
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.
Computer Networking Lecture 18 – More TCP & Congestion Control.
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.
CPSC TCP Plots r Slides originally from Williamson at Calgary r Minor modifications are made.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
1 Internet Traffic Measurement and Modeling Carey Williamson Department of Computer Science University of Calgary.
@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.
Bandwidth estimation: metrics, measurement techniques, and tools Presenter: Yuhang Wang.
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)
Chapter 3 outline 3.1 transport-layer services
The Transport Layer (TCP)
Fast Pattern-Based Throughput Prediction for TCP Bulk Transfers
CPSC 641: WAN Measurement Carey Williamson
CS4470 Computer Networking Protocols
Carey Williamson Department of Computer Science University of Calgary
Transport Layer: 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 Tsung-i (Mark) Huang Jaspal Subhlok University of Houston GAN ’ 05 / May 10, 2005

TMH - GAN'05, 05/10/ Outline Background Problem Description Methodology Experiments and Results Conclusion and Future Works

TMH - GAN'05, 05/10/ “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

TMH - GAN'05, 05/10/ 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/ 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/ TCP Flow Patterns (a) Rate Control(b) Congestion Control (c) Rate Control with delay(d) Mixed Congestion Control Textbook Examples: In Reality:

TMH - GAN'05, 05/10/ Approach to Throughput Prediction Analyze Time-Series (TS 1 ) 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 (TS 1 ) with fixed SYN-ACK RTT, and get per RTT Throughput (TS 2 ) Analyze per RTT Throughput Time-Series (TS 2 ) to predict future throughput Compare different prediction methods across all traces

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

TMH - GAN'05, 05/10/ RTT estimation  Use fixed SYN-ACK RTT  Simple and effective Partition TCP segments into per RTT throughput time series TCP Segment Partitioning (2) SYN ACK RTT

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

TMH - GAN'05, 05/10/ Throughput Prediction (2) Peak of slow start  Data points up to end of 1 st 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/ 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/ 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/ TCP Throughput Prediction: average throughput of 9~25 RTTs (RC-based prediction) Aggregate Throughput Prediction: average throughput of 0~25 RTTs Window size (in RTTs) Illustration of Prediction (1) Make a prediction for next 200 RTTs: Peak of slow start TCP Throughput Prediction: using Window-based prediction after 27 th RTTs (a significant drop) Drop at 27 th RTT Prediction at 25 th RTT Prediction at 40 th RTT per RTT throughput Aggregate TCP Pattern 25 th RTT40 th RTT

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

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

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

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

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

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

TMH - GAN'05, 05/10/ 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/ Summary of Results (table view) Methods Small # of RTTs of data Large # of RTTs of data AggregateWorse (3)Better (2) Moving Average Best (1)Worse (3) EWMAWorst (4) TCP PatternBetter (2)Best (1)

TMH - GAN'05, 05/10/ 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/ That’s all, folks! Thank You!

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

TMH - GAN'05, 05/10/ Characteristics of collected traces (1) TermsValuesComments Number of traces461 Downloaded file size26-34 MBAvg: 30 MB Unique web sites290Debian/Gentoo Avg # segment per trace24,062 (min/max/median) = (17,025/69,866/24,412) Retransmitted segments0.09%97 out of 461 traces Avg # retransmitted segments per trace (min/max/median) = (0/2,672/4) Avg SYN-ACT RTT sec (min/max/median) = (0.02/2.91/0.155) Avg # RTTs per trace2,589 (min/max/median) = (143/110,673/662)

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

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

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

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

TMH - GAN'05, 05/10/ Bandwidth Bandwidth:  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