Congestion Control and Fairness Models - PowerPoint PPT Presentation

About This Presentation
Title:

Congestion Control and Fairness Models

Description:

Congestion Control and Fairness Models. Nick Feamster. CS 4251 Computer ... Undelivered packets. Packets consume resources and are dropped elsewhere in network ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 30
Provided by: nickf157
Category:

less

Transcript and Presenter's Notes

Title: Congestion Control and Fairness Models


1
Congestion Control and Fairness Models
  • Nick FeamsterCS 4251 Computer Networking
    IISpring 2008

2
Internet Pipes?
  • How should you control the faucet?
  • Too fast sink overflows
  • Too slow what happens?
  • Goals
  • Fill the bucket as quickly as possible
  • Avoid overflowing the sink
  • Solution watch the sink

3
Congestion
10 Mbps
1.5 Mbps
100 Mbps
  • Different sources compete for resources inside
    network
  • Why is it a problem?
  • Sources are unaware of current state of resource
  • Sources are unaware of each other
  • Manifestations
  • Lost packets (buffer overflow at routers)
  • Long delays (queuing in router buffers)
  • Can result in throughput less than bottleneck
    link (1.5Mbps for the above topology) ? a.k.a.
    congestion collapse

4
Causes Costs of Congestion
Q What happens as rate increases?
  • Four senders multihop paths
  • Timeout/retransmit

5
Causes Costs of Congestion
  • When packet dropped, any upstream transmission
    capacity used for that packet was wasted!

6
Congestion Collapse
  • Definition Increase in network load results in
    decrease of useful work done
  • Many possible causes
  • Spurious retransmissions of packets still in
    flight
  • Classical congestion collapse
  • How can this happen with packet conservation?
    RTT increases!
  • Solution better timers and TCP congestion
    control
  • Undelivered packets
  • Packets consume resources and are dropped
    elsewhere in network
  • Solution congestion control for ALL traffic

7
Congestion Control and Avoidance
  • A mechanism that
  • Uses network resources efficiently
  • Preserves fair network resource allocation
  • Prevents or avoids collapse
  • Congestion collapse is not just a theory
  • Has been frequently observed in many networks

8
Congestion Control Approaches
  • Two broad approaches
  • End-end congestion control
  • No explicit feedback from network
  • Congestion inferred from end-system observed
    loss, delay
  • Approach taken by TCP
  • Network-assisted congestion control
  • Routers provide feedback to end systems
  • Single bit indicating congestion (SNA, DECbit,
    TCP/IP ECN, ATM)
  • Explicit rate sender should send at
  • Problem makes routers complicated

9
Example TCP Congestion Control
  • Very simple mechanisms in network
  • FIFO scheduling with shared buffer pool
  • Feedback through packet drops
  • TCP interprets packet drops as signs of
    congestion and slows down
  • This is an assumption packet drops are not a
    sign of congestion in all networks
  • E.g. wireless networks
  • Periodically probes the network to check whether
    more bandwidth has become available.

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

11
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

12
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

13
Phase Plots
  • What are desirable properties?
  • What if flows are not equal?

Fairness Line
Overload
User 2s Allocation x2
Optimal point
Underutilization
Efficiency Line
User 1s Allocation x1
14
Basic Control Model
  • 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?

15
Linear Control
  • Many different possibilities for reaction to
    congestion and probing
  • Examine simple linear controls
  • Window(t 1) a b Window(t)
  • Different ai/bi for increase and ad/bd for
    decrease
  • Supports various reaction to signals
  • Increase/decrease additively
  • Increased/decrease multiplicatively
  • Which of the four combinations is optimal?

16
Phase Plots
  • Simple way to visualize behavior of competing
    connections over time

User 2s Allocation x2
User 1s Allocation x1
17
Additive Increase/Decrease
  • Both X1 and X2 increase/ decrease by the same
    amount over time
  • Additive increase improves fairness and additive
    decrease reduces fairness

Fairness Line
T1
User 2s Allocation x2
T0
Efficiency Line
User 1s Allocation x1
18
Multiplicative Increase/Decrease
  • Both X1 and X2 increase by the same factor over
    time
  • Extension from origin constant fairness

Fairness Line
T1
User 2s Allocation x2
T0
Efficiency Line
User 1s Allocation x1
19
Convergence to Efficiency
Fairness Line
xH
User 2s Allocation x2
Efficiency Line
User 1s Allocation x1
20
Distributed Convergence to Efficiency
agt0 bgt1
a0
b1
Fairness Line
alt0 bgt1
xH
agt0 blt1
User 2s Allocation x2
alt0 blt1
Efficiency Line
User 1s Allocation x1
21
Convergence to Fairness
Fairness Line
xH
User 2s Allocation x2
xH
Efficiency Line
User 1s Allocation x1
22
Convergence to Efficiency and Fairness
  • Intersection of valid regions
  • For decrease a0 b lt 1

Fairness Line
xH
User 2s Allocation x2
xH
Efficiency Line
User 1s Allocation x1
23
Approach
  • Constraints limit us to AIMD
  • Can have multiplicative term in increase(MAIMD)
  • AIMD moves towards optimal point

24
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

25
AIMD
  • 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

Rate
Time
26
Implementation
  • 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) lt congestion window
  • Window limited by both congestion and buffering
  • Senders maximum window Min (advertised window,
    cwnd)

32
27
Congestion Avoidance
  • 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

28
Example Sequence Number Plot
Sequence No
29
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
thisThroughput avg rate / RTT
Write a Comment
User Comments (0)
About PowerShow.com