Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.

Slides:



Advertisements
Similar presentations
Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Advertisements

Nick Feamster CS 4251 Computer Networking II Spring 2008
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Internet Measurement Conference 2003 Source-Level IP Packet Bursts: Causes and Effects Hao Jiang Constantinos Dovrolis (hjiang,
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
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.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
TCP Congestion Control Dina Katabi & Sam Madden nms.csail.mit.edu/~dina 6.033, Spring 2014.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
Computer Networking Lecture 17 – TCP & Congestion Control Dejian Ye, Liu Xin.
Congestion Control: TCP & DC-TCP Swarun Kumar With Slides From: Prof. Katabi, Alizadeh et al.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks Dah-Ming Chiu and Raj Jain Presented by Yao Zhao.
“ Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks ”
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
Resource pricing and the evolution of congestion control By R. J. Gibbens and F. P. Kelly.
Charge-Sensitive TCP and Rate Control Richard J. La Department of EECS UC Berkeley November 22, 1999.
TCP Stability and Resource Allocation: Part I. References The Mathematics of Internet Congestion Control, Birkhauser, The web pages of –Kelly, Vinnicombe,
15-744: Computer Networking L-10 Congestion Control.
Computer Networking Lecture 16 – TCP & Congestion Control Copyright ©, Carnegie Mellon University.
CSEE W4140 Networking Laboratory Lecture 7: TCP congestion control Jong Yul Kim
Medium Start in TCP-Friendly Rate Control Protocol CS 217 Class Project Spring 04 Peter Leong & Michael Welch.
Reliable Transport Layers in Wireless Networks Mark Perillo Electrical and Computer Engineering.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP Congestion Control
Adaptive Control for TCP Flow Control Thesis Presentation Amir Maor.
PCP: Efficient Endpoint Congestion Control To appear in NSDI, 2006 Thomas Anderson, Andrew Collins, Arvind Krishnamurthy and John Zahorjan University of.
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
Transport Layer 4 2: Transport Layer 4.
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.
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
Link Scheduling & Queuing COS 461: Computer Networks
Chapter 12 Transmission Control Protocol (TCP)
Congestion Control in CSMA-Based Networks with Inconsistent Channel State V. Gambiroza and E. Knightly Rice Networks Group
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
Lecture 9 – More TCP & Congestion Control
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.
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks TCP.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
XCP: eXplicit Control Protocol Dina Katabi MIT Lab for Computer Science
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – II - Connection Set-up and Congestion Control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP Congestion Control.
Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from :
Computer Networking Lecture 8 – TCP & Congestion Control.
Lecture 17 – TCP & Congestion Control
Topics discussed in this section:
Chapter 6 TCP Congestion Control
Introduction to Congestion Control
TCP-LP: A Distributed Algorithm for Low Priority Data Transfer
“Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks” Lecture Note 7.
Congestion control principles
TCP Congestion Control
Lecture 19 – TCP Performance
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.
“Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks”
15-744: Computer Networking
Chapter 6 TCP Congestion Control
COMP/ELEC 429/556 Introduction to Computer Networks
TCP Congestion Control
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
Computer Networking TCP.
Review of Internet Protocols Transport Layer
Presentation transcript:

Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008

2 Simple router behavior Distributed operation Efficiency: X = x i (t) –Solution leads to high network utilization Fairness: ( x i ) 2 /n( x i 2 ) –What are the important properties of this function? Convergence: control system must be stable Objectives

End-to-End Congestion Control Increase algorithm –Sender must test the network to determine whether or not the network can sustain a higher rate Decrease algorithm –Senders react to congestion to achieve optimal loss rates, delays, sending rates

Two Approaches Window-based –Sender uses ACKs from receiver to clock transmission of new data Rate-based –Sender monitors loss rate and uses timer to modulate the transmission rate –Actually need a burst rate and a burst size

5 What are desirable properties? What if flows are not equal? Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 Optimal point Overload Underutilization Phase Plots

6 Reduce speed when congestion is perceived –How is congestion signaled? Either mark or drop packets –How much to reduce? Increase speed otherwise –Probe for available bandwidth – how? Basic Control Model

7 Many different possibilities for reaction to congestion and probing –Examine simple linear controls Window(t + 1) = a + b Window(t) Different a i /b i for increase and a d /b d for decrease Supports various reaction to signals –Increase/decrease additively –Increased/decrease multiplicatively –Which of the four combinations is optimal? Linear Control

8 Simple way to visualize behavior of competing connections over time User 1s Allocation x 1 User 2s Allocation x 2 Phase Plots

9 T0T0 T1T1 Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 Both X 1 and X 2 increase/ decrease by the same amount over time –Additive increase improves fairness and additive decrease reduces fairness Additive Increase/Decrease

10 Both X 1 and X 2 increase by the same factor over time –Extension from origin – constant fairness T0T0 T1T1 Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 Multiplicative Increase/Decrease

11 xHxH Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 Convergence to Efficiency

12 xHxH Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 a=0 b=1 a>0 & b<1 a 1 a<0 & b<1 a>0 & b>1 Distributed Convergence to Efficiency

13 xHxH Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 xHxH Convergence to Fairness

14 Intersection of valid regions For decrease: a=0 & b < 1 xHxH Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 xHxH Convergence to Efficiency and Fairness

15 Constraints limit us to AIMD –Can have multiplicative term in increase (MAIMD) –AIMD moves towards optimal point x0x0 x1x1 x2x2 Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 Approach

Results Assuming syncrhonized feedback (i.e., congestion is signalled to all connections sharing a bottleneck) –Additive increase improves fairness and efficiency –Multiplicative decrease moves the system towards efficiency without altering fairness In contrast –Additive decrease reduces fairness –MIMD does not ever improve fairness

Distributed, fair and efficient Packet loss is seen as sign of congestion and results in a multiplicative rate decrease –Factor of 2 TCP periodically probes for available bandwidth by increasing its rate Time Rate AIMD

32 Operating system timers are very coarse – how to pace packets out smoothly? Implemented using a congestion window that limits how much data can be in the network. –TCP also keeps track of how much data is in transit Data can only be sent when the amount of outstanding data is less than the congestion window. –The amount of outstanding data is increased on a send and decreased on ack –(last sent – last acked) < congestion window Window limited by both congestion and buffering –Senders maximum window = Min (advertised window, cwnd) Implementation

If loss occurs when cwnd = W –Network can handle 0.5W ~ W segments –Set cwnd to 0.5W (multiplicative decrease) Upon receiving ACK –Increase cwnd by (1 packet)/cwnd What is 1 packet? 1 MSS worth of bytes After cwnd packets have passed by approximately increase of 1 MSS Implements AIMD Congestion Avoidance

Sequence No Packets Acks Example: Sequence Number Plot

Throughput vs. Loss Rate To the first order, throughput is proportional to 1/sqrt(loss rate) –TCP friendliness Consider following diagram to derive throughput: How many packets between periods of packet loss? (arithmetic series) Compute loss rate from this… Throughput: avg rate / RTT