Hybrid Modeling of TCP Congestion Control João P. Hespanha, Stephan Bohacek, Katia Obraczka, Junsoo Lee University of Southern California.

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

WHITE – Achieving Fair Bandwidth Allocation with Priority Dropping Based on Round Trip Time Name : Choong-Soo Lee Advisors : Mark Claypool, Robert Kinicki.
Transport Layer3-1 TCP AIMD multiplicative decrease: cut CongWin in half after loss event additive increase: increase CongWin by 1 MSS every RTT in the.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
Restricted Slow-Start for TCP William Allcock 1,2, Sanjay Hegde 3 and Rajkumar Kettimuthu 1,2 1 Argonne National Laboratory 2 The University of Chicago.
Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu.
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
On Modeling Feedback Congestion Control Mechanism of TCP using Fluid Flow Approximation and Queuing Theory  Hisamatu Hiroyuki Department of Infomatics.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
EECS122 – Lecture 5 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
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.
Some Internet Dynamics and Alternatives to TCP Friendly Stephan Bohacek University of Southern California Joint work with: Boris Rozovskii, Joao Hespanha,
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.
Data Communication and Networks
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Outline Introduction to TCP The single bottleneck case (Deterministic) Large network model (Stochastic) Matching TCP dynamics and MPEG video dynamics Input–output.
Estimating Congestion in TCP Traffic Stephan Bohacek and Boris Rozovskii University of Southern California Objective: Develop stochastic model of TCP Necessary.
Congestion Control for High Bandwidth-delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs.
Congestion Control for High Bandwidth-Delay Product Environments Dina Katabi Mark Handley Charlie Rohrs.
A Hybrid Systems Modeling Framework for Fast and Accurate Simulation of Data Communication Networks João P. Hespanha University of Calif. Santa Barbara.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Congestion Control In The Internet JY Le Boudec Fall
Hybrid Systems Modeling of Communication Networks João P. Hespanha University of California at Santa Barbara Hybrid Control and Switched Systems.
CS144 An Introduction to Computer Networks
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Understanding the Performance of TCP Pacing Amit Aggarwal, Stefan Savage, Thomas Anderson Department of Computer Science and Engineering University of.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
A Hybrid Systems Modeling Framework for Data Communication Networks Ph.D Dissertation Proposal Junsoo Lee 9/5/2003.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
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 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.
1 Time-scale Decomposition and Equivalent Rate Based Marking Yung Yi, Sanjay Shakkottai ECE Dept., UT Austin Supratim Deb.
Thoughts on the Evolution of TCP in the Internet (version 2) Sally Floyd ICIR Wednesday Lunch March 17,
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
1 Analysis of a window-based flow control mechanism based on TCP Vegas in heterogeneous network environment Hiroyuki Ohsaki Cybermedia Center, Osaka University,
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
H. OhsakiITCom A control theoretical analysis of a window-based flow control mechanism for TCP connections with different propagation delays Hiroyuki.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
@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.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
Congestion Control for High Bandwidth-Delay Product Networks Dina Katabi, Mark Handley, Charlie Rohrs Presented by Yufei Chen.
Network Simulation via Hybrid System Modeling: A Time- Stepped Approach Network Simulation via Hybrid System Modeling: A Time- Stepped Approach Vanderbilt.
Analysis and Comparison of TCP Reno and TCP Vegas Review
Window Control Adjust transmission rate by changing Window Size
Topics discussed in this section:
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
CS 268: Lecture 6 Scott Shenker and Ion Stoica
TCP Vegas: New Techniques for Congestion Detection and Avoidance
Chapter 3 outline 3.1 Transport-layer services
Queue Dynamics with Window Flow Control
ECE 599: Multimedia Networking Thinh Nguyen
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
A packet by packet multi-path routing approach
TCP Congestion Control
TCP Overview.
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Presentation transcript:

Hybrid Modeling of TCP Congestion Control João P. Hespanha, Stephan Bohacek, Katia Obraczka, Junsoo Lee University of Southern California

Background TCP/IP –Transmission Control Protocol/Internet Protocol –WWW, Telnet, FTP –UNIX, Windows 98, Windows 2000 all include TCP/IP –The evolution of TCP/IP is supported by Internet Engineering Task Force(IETF) –Window based congestion control –If congestion occurs reduce sending rate to half, otherwise increase window size by 1 for each round trip time

Congestion control in data networks Congestion control problem: How to adjust the sending rates of the data sources to make sure that the bandwidth B of the bottleneck link is not exceeded? B sources destinations B is unknown to the data sources and possibly time-varying

Congestion control in data networks q( t ) ´ queue size r 1 bps r 2 bps r 3 bps rate · B bps Congestion control problem: How to adjust the sending rates of the data sources to make sure that the bandwidth B of the bottleneck link is not exceeded? queue (temporary storage for data)

Congestion control in data networks When  i r i exceeds B the queue fills and data is lost (drops) rate · B bps ) drop (discrete event) Event-based control: The sources adjust their rates based on the detection of drops r 1 bps r 2 bps r 3 bps q( t ) ´ queue size queue (temporary storage for data)

Window-based rate adjustment w i (window size) ´ number of packets that can remain unacknowledged for by the destination 1 st packet sent e.g., w i = 3 t 2 nd packet sent 3 rd packet sent 1 st packet received & ack. sent 2 nd packet received & ack. sent 3 rd packet received & ack. sent 1 st ack. received ) 4 th packet can be sent t source idestination i w i effectively determines the sending rate r i : round-trip time t0t0 t1t1 t2t2 t3t3 00 11 22

Window-based rate adjustment w i (window size) ´ number of packets that can remain unacknowledged for by the destination ´ sending rate total round-trip time propagation delay per-packet transmission time time in queue until transmission This mechanism is still not sufficient to prevent a catastrophic collapse of the network if the sources set the w i too large queue gets full longer RTT rate decreases queue gets empty negative feedback

TCP Reno congestion control 1.While there are no drops, increase w i by 1 on each RTT 2.When a drop occurs, divide w i by 2 disclaimer: this is a simplified version of Reno that ignores some interesting phenomena… Network/queue dynamicsReno controllers  drop occurs drop detected (one RTT after occurred)  (congestion controller constantly probe the network for more bandwidth)

Switched system model for TCP queue-not-full queue-full (drop occurs) (drop detected) transition enabling condition state reset

Switched system model for TCP queue-not-full queue-full (drop occurs) (drop detected)  2 { 1, 2 } alternatively… continuous dynamics discrete dynamics reset dynamics  = 2  = 1

Linearization of the TCP model Time normalization ´ define a new “time” variable  by queue-not-full queue-full In normalized time, the continuous dynamics become linear 1 unit of  ´ 1 round-trip time

Switching-by-switching analysis queue-not-fullqueue full queue-not-fullqueue full queue-not-fullqueue full t0t0 t1t1 t2t2 t3t3 t4t4 t5t5 t6t6 ´ k th time the system enters the queue-not-full mode x1x1 x2x2 T state space x1x1 x2x2 impact map queue-not-full queue-full

Switching-by-switching analysis queue-not-fullqueue full queue-not-fullqueue full queue-not-fullqueue full t0t0 t1t1 t2t2 t3t3 t4t4 t5t5 t6t6 ´ k th time the system enters the queue-not-full mode x1x1 x2x2 T Theorem. The function T is a contraction. In particular, Therefore x k ! x 1 as k !1 x 1 ´ constant x ( t ) ! x 1 ( t ) as t ! 1 x 1 (t) ´ periodic limit cycle

NS-2 simulation results Window and Queue Size (packets) time (seconds) window size w 1 window size w 2 window size w 3 window size w 4 window size w 5 window size w 6 window size w 7 window size w 8 queue size q Router R1 Router R2 TCP Sources TCP Sinks Bottleneck link 20Mbps/20ms Flow 1 Flow 2 Flow 7 Flow 8 N1N1 N2N2 N7N7 N8N8 S1S1 S2S2 S7S7 S8S8

Results queue-not-fullqueue full queue-not-fullqueue full queue-not-fullqueue full t0t0 t1t1 t2t2 t3t3 t4t4 t5t5 t6t6 Window synchronization: convergence is exponential, as fast as.5 k Steady-state formulas: average drop rate average RTT average throughput

What next? queue-not-full queue-full One drop per flow is very specific to this network: all flows share the same queue similar propagation delays for all flows constant bit-rate cross traffic “drop-tail” queuing discipline r 1 bps r 2 bps r 3 bps B bps queue Other models for drops:

What next? Other models for drops: How many drops? t q( t )q( t ) queue-not-full queue full q max # of drops ´ s queue-full (inrate  outrate) Which flows suffer drops? number of packets that are out for flow i total number of packets that are out This probabilistic hybrid model seems to match well with packet-level simulations, e.g., with drop-head queuing disciplines. Analysis ???

What next? More general networks: qAqA qCqC qDqD qBqB flow 1 flow 2 flow 3

What next? More general networks: portion of the queue due to flow i outgoing rate of flow i total queue size  drop occurs qAqA qCqC qDqD qBqB flow 1 flow 2 flow 3

What next? More general networks: qCqC qDqD qAqA qBqB flow 1 flow 2 flow 3  drop occurs

What next? Even multicast (current work)… qCqC qDqD qAqA qBqB flow 1 flow 2  drop occurs

Conclusions Hybrid systems are promising to model network traffic in the context of congestion control: retain the low-dimensionality of continuous approximations to traffic flow are sufficiently expressive to represent event-based control mechanisms Hybrid models are interesting even as a simulation tool for large networks for which packet-by-packet simulations are not feasible Complex networks will almost certainly require probabilistic hybrid systems

END

Switching-by-switching analysis state space xkxk x k+1 impact map queue-not-full queue-full Impact maps are difficult to compute because their computation requires: Solving the differential equations on each mode (in general only possible for linear dynamics) Intersecting the continuous trajectories with a surface (often transcendental equations) It is often possible to prove that T is a contraction without an explicit formula for T…