1 / 29

Congestion Control and Fairness Models

Congestion Control and Fairness Models. Nick Feamster CS 4251 Computer Networking II Spring 2008. 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

lotte
Download Presentation

Congestion Control and Fairness Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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 10 Mbps 1.5 Mbps 100 Mbps

  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 • End-end congestion control: • No explicit feedback from network • Congestion inferred from end-system observed loss, delay • Approach taken by TCP • Two broad approaches • 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 = Σxi(t) • Solution leads to high network utilization • Fairness: (Σxi)2/n(Σxi2) • 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 2’s Allocation x2 Optimal point Underutilization Efficiency Line User 1’s 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 2’s Allocation x2 User 1’s 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 2’s Allocation x2 T0 Efficiency Line User 1’s 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 2’s Allocation x2 T0 Efficiency Line User 1’s Allocation x1

  19. Convergence to Efficiency Fairness Line xH User 2’s Allocation x2 Efficiency Line User 1’s Allocation x1

  20. Distributed Convergence to Efficiency a>0 & b>1 a=0 b=1 Fairness Line a<0 & b>1 xH a>0 & b<1 User 2’s Allocation x2 a<0 & b<1 Efficiency Line User 1’s Allocation x1

  21. Convergence to Fairness Fairness Line xH User 2’s Allocation x2 xH’ Efficiency Line User 1’s Allocation x1

  22. Convergence to Efficiency and Fairness • Intersection of valid regions • For decrease: a=0 & b < 1 Fairness Line xH User 2’s Allocation x2 xH’ Efficiency Line User 1’s Allocation x1

  23. Fairness Line x1 x0 User 2’s Allocation x2 x2 Efficiency Line User 1’s Allocation x1 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) < congestion window • Window limited by both congestion and buffering • Sender’s 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. Packets Acks 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 this…Throughput: avg rate / RTT

More Related