Flow control for multimedia streaming using TEAR (TCP emulation at receivers) work in progress. Injong Rhee Department of Computer Science North Carolina.

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

TCP Variants.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
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.
Ahmed El-Hassany CISC856: CISC 856 TCP/IP and Upper Layer Protocols Slides adopted from: Injong Rhee, Lisong Xu.
CUBIC Qian HE (Steve) CS 577 – Prof. Bob Kinicki.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Receiver-driven Layered Multicast S. McCanne, V. Jacobsen and M. Vetterli SIGCOMM 1996.
1 USC INFORMATION SCIENCES INSTITUTE RAP: An End-to-End Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejaie, Mark Handley, Deborah.
1 Equation-Based Congestion Control for Unicast Applications Sally Floyd, Mark Handley, Jitendra Padhye & Jorg Widmer August 2000, ACM SIGCOMM Computer.
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.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet Reza Rejai, Mark Handley, Deborah Estrin U of Southern.
1 Lecture 9: TCP and Congestion Control Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Estimating Congestion in TCP Traffic Stephan Bohacek and Boris Rozovskii University of Southern California Objective: Develop stochastic model of TCP Necessary.
Adaptive MPEG4 Video Streaming using Bandwidth Estimation Mario Gerla, Alex Balk, Medy Sanadidi {gerla, abalk, Dario Maggiorini
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
CPSC 538A1 Dynamic Behavior of Slowly- Responsive Congestion Control Algorithms Deepak Bansal, Hari BalaKrishna, Sally Floyd and Scott Shenker Presented.
CS :: Fall 2003 TCP Friendly Streaming Ketan Mayer-Patel.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Multicast Congestion Control in the Internet: Fairness and Scalability
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
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.
1 Modeling the Effect of a Rate Smoother on TCP Congestion Control Behavior Kang Li, Jonathan Walpole, David C. Steere {kangli, walpole,
CS/EE 145A Congestion Control Netlab.caltech.edu/course.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Transport over Wireless Networks Myungchul Kim
Rate Adaptation Protocol for Real-time Streams Goal: develop an end-to-end TCP-friendly RAP for semi-reliable rate-based applications (e.g. playback of.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
What is TCP? Connection-oriented reliable transfer Stream paradigm
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.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Flow Control in Multimedia Communication Multimedia Systems and Standards S2 IF Telkom University.
1 Advanced Transport Protocol Design Nguyen Multimedia Communications Laboratory March 23, 2005.
Congestion Control CS 168 Discussion Week 7. RECAP: How does TCP set rate? How much data can be outstanding? – min{RWND, CWND} RWND: do not overload the.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
@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.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
TCP Westwood(+) Protocol Implementation in ns-3
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
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.
Chapter 6 TCP Congestion Control
Jiyong Park Seoul National University, Korea
CS640: Introduction to Computer Networks
TCP Throughput Modeling
TCP Congestion Control
Review of Internet Protocols Transport Layer
Presentation transcript:

Flow control for multimedia streaming using TEAR (TCP emulation at receivers) work in progress. Injong Rhee Department of Computer Science North Carolina State University

Multimedia streaming over the Internet Video and audio streaming over the Internet becomes popular. –As last mile network bandwidth increases (ADSL, Cable modems, Satellite), multimedia traffic will constitute a large portion of Internet traffic. –The VoD market will grow accordingly (e.g., AOL + TW). Internet

Congestion and flow Control The adaptive, best-effort, congestion control problem End-to-end congestion control. How can we make the best use of the (time varying) bandwidth that is available to our streams? –How can we determine what this bandwidth is? –How can we track how it changes over time? Switch Fabric Switch Fabric

TCP Constitutes more than 70%-90% of the Internet traffic. Employs AIMD (additive increase and multiplicative decrease) for fairness –Congestion indications (packet losses) trigger multiplicative reduction in its transmission rate.

TCP background - AIMD Maintains cwnd (congestion window) at the sender by receiving acknowledgment from the receiver; Transmits a cwnd number of packets per round (or per RTT). Packet loss Rounds (reception of cwnd packets) Congestion Window ssThresh Slow start Congestion avoidance Fast recovery (cwnd is halved) TIMEOUT

TCP and TCP-friendliness Non-responsive flows can lock out TCP flows completely; congestion collapse will result. TCP-friendliness: a TCP friendly flow uses the same bandwidth as a competing TCP flow on the same end-to-end path.

Multimedia applications Unfortunately, few multimedia streaming commercial applications today employ TCP- friendly flow control.

TCP+multimedia applications? Is TCP a good choice for multimedia applications? Not a good marriage. –TCP transmission is too bursty ack compression especially under high RTT. –TCP’s rate is highly fluctuating A single packet loss can swing the rate to half the current rate or to almost zero under timeout.

TCP+multimedia applications? Is TCP a good choice for multimedia applications? Poor performance under asymmetric networks (ADSL,Satellite) –Per-packet feedback causes congestion on the reverse path. –Feedback loss in the reverse path can cause rate reduction in the forward path. Scalability limitations in multicast environments. –Per-packet feedback can cause feedback implosion.

Existing approaches SAD(sender-driven AIMD) Jacobs’97, Cen’98, Rejaie’99, etc. Performs AIMD at the sender –Provably stable and fair Contains the same limitations as TCP. –Per-packet feedback: its performance limitation under asymmetric networks or multicast environments. CWND Time

Existing approaches MFC (Model-based flow control) or equation-based flow control. Use a stochastic TCP model –Mahdavi&Floyd’97,Floyd’99, Padhey’99,etc. –Gives a simple analytical formula for TCP throughput in a function of packet loss rate and RTT. –Receiver can estimate TCP throughput using the formula. Compute TCP Throughput using the formula. The sender sets its xmission rate to R SenderReceiver Report rate R.

Existing approaches MFC – fundamental problems. [Ramesh&Rhee’99] analytically shows that under certain circumstances, MFC does not converge to the fair bandwidth. –Due to inherent error in estimating loss rates and in the formula. E.g., –Under a high transmission rate, the loss rate can be underestimated, and under a low transmission rate, the loss rate can be overestimated. Assumptions made by the model are not universally true. –E.g., loss rates or RTTs are not correlated to the transmission rate of the MFC flows. Loss Rate = Number of packets in a window Probability of loss event within a window

TEAR: TCP Emulation At Receivers our approach – overview I Shift most of flow control functions to receivers. –Instead of reporting congestion signals, process them immediately at receivers. Receivers emulate the TCP window adjustment protocol. –Increase: congestion avoidance and slow start. –Decrease: fast recovery and timeout. Emulate TCP window adjustment The sender sets its xmission rate to R SenderReceiver Report rate R. CWND

TEAR: TCP Emulation At Receivers our approach – overview II Instead of reporting an instantaneous (oscillating) rate, the receiver can find the equilibrium operating point (more smoothed averaged rate) Emulate TCP window adjustment Receiver Report rate R. Equilibrium operating point Perform smoothing using Weighted averaging

TEAR in action 10MB droptail, 8 TCPs, 8 TEARs

TEAR Basic window emulation functions - round CWNDone TCP round CWND one TEAR round Round in TCP Round in TEAR A round contains roughly an arrival of cwnd packets.

cwnd TEAR Basic window emulation functions – window increase Slow start: cwnd is doubled per round. Congestion avoidance: cwnd is increased by one per round. Slow startCongestion avoidance

TEAR Fast Recovery cwnd:5 Triple duplicate acknowledgments TCP sender detects fast recovery here. TCP cwnd:5 TEAR receiver detects fast recovery here TEAR Ignore packet losses in next RTT period

TEAR Timeout - I In TCP, after an initial packet loss in a window, at least cwnd packets are sent (including the lost packet) – this is true no matter which packet is lost in that window. If TCP sender does not detect FR by the time that these packets wound be acknowledged (some of them would be lost), timeout will occur. cwnd:5 TCP Only two TDs received Timeout

TCP Timeout - II If TEAR receiver does not detect FR before the reception of a packet with x+cwnd-1 or higher after the initial loss (including the lost packet), then TEAR enters timeout. Or, T timeout (= T interarrival * cwnd * 2DEV) has expired after the initial packet loss. cwnd:5 TEAR receiver detects timeout TEAR Ignore packet losses in next RTT period X X+4

Performance evaluation Simulation (NS) Internet experiments n0n1n2n3 20Mb/s, 10ms xx MB/s, 10ms 20Mb/s, 10ms NCSU UCSD NCSU Korea 40Mb/s – 186Mb/s RTT 60 – 100 ms 10Mbs (somewhere in Korea) RTT 205 ms

Simulation Fairness and TCP-friendliness - I 10Mbs, 8 TEARs (or TFRCs), 8 TCPs, Droptail TEAR TFRC

Simulation Fairness and TCP-friendliness - II 2.5Mbs, 8 TEARs (or TFRCs), 8 TCPs, Droptail TEAR TFRC

Simulation Fairness and TCP-friendliness - III Equivalence factor of two flows A, B : Min (A/B, B/A). Min (TEAR/TCP, TCP/TEAR). Min (TFRC/TCP, TCP/TFRC).

Internet experiments (Korea, UCSD) Fairness and TCP-friendliness - III UCSD Korea Measured every hour in the 3 rd week of March.

Simulation Rate fluctuations - I

Internet experiments Rate fluctuations (coefficients of variance) - II Coefficients of variable: ratio of one stand. Dev to average. TEARTCP

Simulation Feedback latency sensitivity - TEAR

Simulation Feedback latency sensitivity - TFRC

Summary and Future work TEAR shifts most of functions to receivers. By emulating TCP functions at receivers, receivers find TCP-friendly rates. We report work-in-progress; needs more work. –what is the time scale of response? –What is the tradeoffs between different filtering functions at receivers for rate smoothing? –Run experiments with real multimedia data. –….

Future work multicast - Layered multicast Receiver-driven layered multicast –Receivers can estimate their receiving rates using TEAR and join and leave multicast groups based on the estimate rates. ABD E C 10Mbs 5Mbs 1Mbs 5Mbs

Future work multicast - Sender-based single rate multicast SSRM - sender picks the minimum rate reported by receivers. –Feedback implosion –Filtering for drop-to-zero problem. –…. Sender Feedback/filtering mechanism

Future work Middleware support Group membership, Delivery semantics (Convenient, but application malleable) Flow and Congestion Control (no dependency on particular recovery mechanisms) Loss Recovery reliable, best effort, or application specific Application Interface

TEAR Rate independence – basic assumption Rate independence: the probability of having at least a loss in a window of size x in TEAR is the same as that in TCP competing on the same end-to-end path. Sampling instances TCP TEAR