Download presentation

Presentation is loading. Please wait.

Published byDominic Parrish Modified over 3 years ago

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

2
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

3
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

4
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
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
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
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
8 Simple way to visualize behavior of competing connections over time User 1s Allocation x 1 User 2s Allocation x 2 Phase Plots

9
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
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
11 xHxH Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 Convergence to Efficiency

12
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
13 xHxH Efficiency Line Fairness Line User 1s Allocation x 1 User 2s Allocation x 2 xHxH Convergence to Fairness

14
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
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

16
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

17
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

18
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

19
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

20
Sequence No Packets Acks Example: Sequence Number Plot

21
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

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google