CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.

Slides:



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

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.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
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 ”
Advanced Computer Networking Congestion Control for High Bandwidth-Delay Product Environments (XCP Algorithm) 1.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Congestion control principles Presentation by: Farhad Rad (Advanced computer Networks Lesson in
Congestion Avoidance and Control Van Jacobson, Michael J. Karels Presenter: Shegufta Bakht Ahsan 09 October 2014.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #07 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Networking (from an OS perspective) Yin Lou 10/08/2009.
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.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP Congestion Control: AIMD and Binomial Shivkumar Kalyanaraman Rensselaer Polytechnic Institute.
15-744: Computer Networking L-10 Congestion Control.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
Congestion Avoidance and Control Van Jacobson Jonghyun Kim April 1, 2004.
Congestion Avoidance and Control CSCI 780, Fall 2005.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
1 EE 122: Advanced TCP Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
Lecture 17 Congestion Control; AIMD; TCP Reno 10/31/2013
CS 4396 Computer Networks Lab
CS/EE 145A Congestion Control Netlab.caltech.edu/course.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
High-speed TCP  FAST TCP: motivation, architecture, algorithms, performance (by Cheng Jin, David X. Wei and Steven H. Low)  Modifying TCP's Congestion.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
EE 122: Congestion Control and Avoidance Kevin Lai October 23, 2002.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Lecture 9 – More TCP & Congestion Control
What is TCP? Connection-oriented reliable transfer Stream paradigm
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Computer Networking Lecture 18 – More TCP & Congestion Control.
Lab The network simulator ns The network simulator ns Allows us to watch evolution of parameters like cwnd and ssthresh Allows us to watch evolution of.
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:
TCP End-To-End Congestion Control Wanida Putthividhya Dept. of Computer Science Iowa State University Jan, 27 th 2002 (May, 25 th 2001)
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
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.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Fairness of Bandwidth Allocation (§6.3.1)
Congestion Avoidance and Control Van Jacobson and Michael Karels Presented by Sui-Yu Wang.
The Macroscopic behavior of the TCP Congestion Avoidance Algorithm.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.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.
© 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…
Analysis of the increase and Decrease Algorithms for Congestion in Computer Networks Portions of the slide/figures were adapted from :
CS 268: Lecture 5 (TCP Congestion Control) Ion Stoica February 4, 2004.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
@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.
1 Transport Bandwidth Allocation 3/29/2012. Admin. r Exam 1 m Max: 65 m Avg: 52 r Any questions on programming assignment 2 2.
@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 Congestion Control Anthony D. Joseph CS262a November 14, 2001.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Introduction to Congestion Control
EECS 122: Introduction to Computer Networks Congestion Control
“Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks” Lecture Note 7.
ECEN “Mobile Wireless Networking”
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
“Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks”
CS 268: Lecture 4 (TCP Congestion Control)
CS640: Introduction to Computer Networks
EE 122: Lecture 10 (Congestion Control)
Presentation transcript:

CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon

TCP  What do you remember from undergrad networking courses?

Questions  How does TCP detect loss?  Do all packets arrive in order?  If not, why?  If not, how does TCP detect out-of-order packets?

Congestion Control  Other Variables?

Congestion Avoidance and Control Van Jaconson 1988

Introduction  The first congestion collapse in the Internet  Between LBL and UCB, the throughput dropped from 32 Kbps to 40 bps  New algorithms proposed to fix the problem in 4.3 BSD (Berkeley Unix) TCP

New Algorithms  Round-trip time variance estimation  Exponential retransmit timer backoff  Slow-start  More aggressive receiver ack policy  Dynamic window sizing on congestion  Karn’s clamped retransmit backoff  Fast retransmit Not covered in this paper

When congestion collapses occur  Conservation of packets principle  Running stably with a full window of data in transit  Three ways for packet conservation to fail  The connection doesn’t get to equilibrium  New packets are injected before old ones has exited  The equilibrium can’t be reached due to resource limits

Slow-start  Self-clocking  Acks are generated no faster than data packets

Slow-start (cont’d)  How to start at the beginning?  Exponentially increased window size  Simple changes to TCP  Keep cwnd per connection  Set cwnd to 1 when (re)starting  Increase cwnd by 1 on each ack  Send min(cwnd, rwnd)

Effect of Slow-start Without Slow-startWith Slow-start Available bandwidth

Round-trip timing  Estimating mean round trip time (in RFC 793)  Retransmit timeout average RTT estimate filter gain constant (suggested value: 0.9) most recent RTT measurement RTT variation (suggested value: 2)

Estimating variation  Proposed method  Using mean deviation that is much easier to compute than standard deviation ( = measurement )

Timer improvement RFC 793 retransmit timerMean+Variance retransmit timer Timer

Congestion avoidance  Two parts in congestion avoidance  Signal that notifies endpoints when congestion is occurring Timeout event indicates that network is congested  Policy that decreases utilization when signal is received Multiplicative decrease of window size on congestion Additive increase on no congestion

Slow-start & congestion avoidance  Combined algorithm  Ssthresh is kept to switch between the two algorithms  When new data is acked,

Effect of congestion avoidance (1)  Multiple conversation test setup ► 1 Mbyte transfers ► One conversation per pair (4 conversations overall)

Effect of congestion avoidance (2) Without congestion avoidanceWith congestion avoidance  Each line represents each conversation

Effect of congestion avoidance (3)  Total bandwidth usage No congestion avoidance congestion avoidance

Effect of congestion avoidance (4)  Effective bandwidth No congestion avoidance congestion avoidance

Future Work: Gateway side of congestion control  Algorithms at endpoints cannot insure fair sharing  However, gateways have enough information to control sharing and fair allocation  Gateways signal endpoints as early as possible while not getting starved for traffic

Summary  Congestion collapses brought serious performance degradation to the original TCP  New algorithms were proposed to deal with the problem  Slow-start  Appropriate retransmit timer  Congestion avoidance  Etc.

Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks Spring 2009 CS540/TE630 Computer Network Architecture Spring 2009 CS540/TE630 Computer Network Architecture Computer Networks and ISDN Systems 1989 Dah-Ming CHIU and Raj JAIN

Outline  Motivation  Problem Definition  Model  Feasible linear controls  Optimizing the control schemes  Discussion

Motivation Throughput increase Response time Throughput stop increasing Response time increase Throughput decrease Response time increase Congestion control Congestion avoidance

Problem Definition network feedback (0/1) 0 : underflow 1 : overflow feedback (0/1) feedback (0/1) Increase or decrease load Different increase / decrease algorithms  performance(efficiency / fairness)???

Model (1) bottleneck around knee user i’s network load Binary feedback (0/1)

Model (2)

Model (3)  Linear control models  Multiplicativex(t+1) = b x(t)  Additivex(t+1) = a + x(t)  Example Additive increase, multiplicative decrease

Criteria  Efficiency  closeness of the total load on the resource to the knee point  Fairness  Equal share of bandwidth  Distributedness  Knowledge of the state of the system  Convergence  Responsiveness  Smoothness

Linear controls x 1 = x 2 x 1 + x 2 = X goal additive increase/decrease multiplicative increase/decrease

Examples of linear control Additive increase Multiplicative decrease Additive increase Additive decrease

Convergence to Efficiency  Negative feedback

Convergence to Fairness (1) C ≥ 0 : non-decrease of fairness C = 0 : same fairness stay Require C < 0 for either increase or decrease policy

Convergence to Fairness (2) Require C(= ) < 0 for either increase or decrease policy Fairness goes up during decrease, goes up or stay during increase Fairness goes up during increase, goes up or stay during decrease

Convergence to Efficiency and Fairness a I and b I not be both zero a I and a D not be both zero

Distributedness We don’t know

Conclusion about feasible linear control  Increasing policy  must have Additive component,  must have multiplicative component with no less one  Decreasing policy  must be multiplicative

Vectorial Representation (1) x 1 + x 2 = x h Assume overload network (in case of decreasing)

Vectorial Representation (2) Convergence to Efficiency b>1 b<1 a<0 a>0 a<0 b<1 Convergence to Fairness Higher fairness than x h

Vectorial Representation (3) Intersection of Efficiency and Fairness Decrease must be multiplicative

Vectorial Representation (4) Increase have - additive component - multiplicative component less than 1

Optimizing the convergence  Time to converge to efficiency  Responsiveness, t e  Oscillation size  Smoothness, s e

Optimal convergence to Efficiency From initial state X(0) to X goal Monotonically decreasing function of a and b Monotonically increasing function of a and b

Optimal convergence to Fairness  Improvement of Fairness  Increased with larger c (= )  larger a, smaller b Increasing process : additive Decreasing process : multiplicative From Decreasing process Fairness will stay Increasing process Smaller b  b I = 1

Practical consideration  Scaling parameters are not easily gathered  Human help  Resource allocation unit is integral  Buffers, windows…  Rounding off  violation of convergence condition  Ease of implementation  Multiplication, exponentiation

Future works  Affect of delayed feedback  Increased bits of feedback  If one can know current number of user n?  Impact of asynchronous operation