CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.

Slides:



Advertisements
Similar presentations
Fair Queueing. Design space Buffer management: –RED, Drop-Tail, etc. Scheduling: which flow to service at a given time –FIFO –Fair Queueing.
Advertisements

Computer Networking Lecture 20 – Queue Management and QoS.
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
WHITE – Achieving Fair Bandwidth Allocation with Priority Dropping Based on Round Trip Time Name : Choong-Soo Lee Advisors : Mark Claypool, Robert Kinicki.
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
ECE 4450:427/527 - Computer Networks Spring 2015
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 16: Congestion control II Slides used with.
CS 4700 / CS 5700 Network Fundamentals Lecture 12: Router-Aided Congestion Control (Drop it like it’s hot) Revised 3/18/13.
Network Border Patrol Celio Albuquerque, Brett J. Vickers and Tatsuya Suda Jaideep Vaidya CS590F Fall 2000.
Ion Stoica, Scott Shenker, and Hui Zhang SIGCOMM’98, Vancouver, August 1998 subsequently IEEE/ACM Transactions on Networking 11(1), 2003, pp Presented.
Max Min Fairness How define fairness? “ Any session is entitled to as much network use as is any other ” ….unless some sessions can use more without hurting.
1 Core-Stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High Speed Networks Core-Stateless Fair Queueing:
Networks: Congestion Control1 Congestion Control.
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
EE689 Lecture 5 Review of last lecture More on HPF RED.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
Congestion Control and Resource Allocation
Katz, Stoica F04 EECS 122: Introduction to Computer Networks TCP Variations Computer Science Division Department of Electrical Engineering and Computer.
CS 268: Lecture 8 (Router Support for Congestion Control) Ion Stoica February 19, 2002.
1 Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks Ion Stoica,Scott Shenker, and Hui Zhang SIGCOMM’99,
Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006.
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
Lecture 5: Congestion Control l Challenge: how do we efficiently share network resources among billions of hosts? n Last time: TCP n This time: Alternative.
COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)
1 Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks Ion Stoica,Scott Shenker, and Hui Zhang SIGCOMM’99,
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Rigorous fair Queueing requires per flow state: too costly in high speed core routers.
UCB Improvements in Core-Stateless Fair Queueing (CSFQ) Ling Huang U.C. Berkeley cml.me.berkeley.edu/~hlion.
Core Stateless Fair Queueing Stoica, Shanker and Zhang - SIGCOMM 98 Fair Queueing requires per flow state: too costly in high speed core routers Yet, some.
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
1 Queue Management Hamed Khanmirza Principles of Networking University of Tehran.
Advance Computer Networking L-5 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
ACN: CSFQ1 CSFQ Core-Stateless Fair Queueing Presented by Nagaraj Shirali Choong-Soo Lee ACN: CSFQ1.
CS 268: Computer Networking L-5 Router Queue Management.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
Presented by: Peng Wang EE Department University of Delaware A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ.
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
CSE 561 – Congestion Control with Network Support David Wetherall Spring 2000.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
Packet Scheduling and Buffer Management Switches S.Keshav: “ An Engineering Approach to Networking”
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Winter 2008CS244a Handout 81 CS244a: An Introduction to Computer Networks Handout 8: Congestion Avoidance and Active Queue Management Nick McKeown Professor.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Quality of Service Slides used with.
1 Core-Stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High Speed Networks Core-Stateless Fair Queueing:
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Weighted Fair Queuing Some slides used with.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Other Methods of Dealing with Congestion
Corelite Architecture: Achieving Rated Weight Fairness
Congestion Control and AQM
Router-Assisted Congestion Control
Congestion Control and Resource Allocation
Core-Stateless Fair Queueing: A Scalable Architecture to Approximate Fair Bandwidth Allocations in High Speed Networks Ion Stoica, Scott Shenker, and Hui.
EE 122: Router Support for Congestion Control: RED and Fair Queueing
COMP/ELEC 429/556 Introduction to Computer Networks
Other Methods of Dealing with Congestion
Advance Computer Networking
Other Methods of Dealing with Congestion
Computer Science Division
Max Min Fairness How define fairness?
Advance Computer Networking
COMP/ELEC 429 Introduction to Computer Networks
EECS 122: Introduction to Computer Networks TCP Variations
Congestion Control and Resource Allocation
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
کنترل جریان امیدرضا معروضی.
Presentation transcript:

CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA

2 Router Support For Congestion Management  Traditional Internet -Congestion control mechanisms at end-systems, mainly implemented in TCP -Routers play little role  Router mechanisms affecting congestion management -Scheduling -Buffer management  Traditional routers -FIFO -Tail drop

3 Drawbacks of FIFO with Tail-drop  Buffer lock out by misbehaving flows  Synchronizing effect for multiple TCP flows  Burst or multiple consecutive packet drops -Bad for TCP fast recovery

4 FIFO Router with Two TCP Sessions

5 RED  FIFO scheduling  Buffer management: -Probabilistically discard packets -Probability is computed as a function of average queue length (why average?) Discard Probability Average Queue Length 0 1 min_thmax_thqueue_len

6 RED (cont’d)  min_th – minimum threshold  max_th – maximum threshold  avg_len – average queue length -avg_len = (1-w)*avg_len + w*sample_len Discard Probability Average Queue Length 0 1 min_thmax_th queue_len

7 RED (cont’d)  If (avg_len < min_th)  enqueue packet  If (avg_len > max_th)  drop packet  If (avg_len >= min_th and avg_len < max_th)  enqueue packet with probability P Discard Probability (P) Average Queue Length 0 1 min_thmax_th queue_len

8 RED (cont’d)  P = max_P*(avg_len – min_th)/(max_th – min_th)  Improvements to spread the drops P’ = P/(1 – count*P), where count – how many packets were consecutively enqueued since last drop Discard Probability Average Queue Length 0 1 min_thmax_th queue_len avg_len P max_P

9 RED Advantages  Absorb burst better  Avoids synchronization  Signal end systems earlier

10 RED Router with Two TCP Sessions

11 Problems with RED  No protection: if a flow misbehaves it will hurt the other flows  Example: 1 UDP (10 Mbps) and 31 TCP’s sharing a 10 Mbps link UDP

12 Solution?  Round-robin among different flows [Nagle ‘87] -One queue per flow

13 Round-Robin Discussion  Advantages: protection among flows -Misbehaving flows will not affect the performance of well- behaving flows -FIFO does not have such a property  Disadvantages: -More complex than FIFO: per flow queue/state -Biased toward large packets – a flow receives service proportional to the number of packets (When is this bad?)

14 Solution?  Bit-by-bit round robin  Can you do this in practice?  No, packets cannot be preempted (why?)  …we can only approximate it

15 Fair Queueing (FQ) [DKS’89]  Define a fluid flow system: a system in which flows are served bit-by-bit  Then serve packets in the increasing order of their deadlines  Advantages -Each flow will receive exactly its fair rate  Note: -FQ achieves max-min fairness

16 Max-Min Fairness  Denote -C – link capacity -N – number of flows -r i – arrival rate  Max-min fair rate computation: 1.compute C/N 2.if there are flows i such that r i <= C/N, update C and N 3.if no, f = C/N; terminate 4.go to 1  A flow can receive at most the fair rate, i.e., min(f, r i )

17 Example  C = 10; r 1 = 8, r 2 = 6, r 3 = 2; N = 3  C/3 = 3.33  C = C – r3 = 8; N = 2  C/2 = 4; f = f = 4 : min(8, 4) = 4 min(6, 4) = 4 min(2, 4) = 2 10

18 Alternate Way to Compute Fair Rate  If link congested, compute f such that f = 4 : min(8, 4) = 4 min(6, 4) = 4 min(2, 4) = 2 10

19 Implementing Fair Queueing  Idea: serve packets in the order in which they would have finished transmission in the fluid flow system

20 Example Flow 1 (arrival traffic) Flow 2 (arrival traffic) Service in fluid flow system Packet system time

21 System Virtual Time: V(t)  Measure service, instead of time  V(t) slope – rate at which every active flow receives service -C – link capacity -N(t) – number of active flows in fluid flow system at time t Service in fluid flow system time V(t)

22 Fair Queueing Implementation  Define - - finishing time of packet k of flow i (in system virtual time reference system) - - arrival time of packet k of flow i - - length of packet k of flow i  The finishing time of packet k+1 of flow i is

23 “Weighted Fair Queueing” (WFQ)  What if we don't want exact fairness? -E.g.,: file servers  Assign weight w i to each flow i  And change virtual finishing time

24 Simulation Example  1 UDP (10 Mbps) and 31 TCPs sharing a 10 Mbps link Stateful solution: Fair Queueing 10 Mbps) UDP (#1) TCP (#2) TCP (#32)... UDP (#1) TCP (#2) TCP (#32)... Stateless solution: Random Early Detection (RED)

25 Core-Stateless Fair Queueing (CSFQ)  Fair Queueing requires per flow state in routers -Maybe impractical for very high speed routers  Core Stateless Fair Queueing eliminates the state at core routers …  … but only approximates FQ’s behavior

26 Insight  If each packet of a flow with arrival rate r is forwarded with probability  the rate of flow’s forwarded traffic r’ is  No need to maintain per-flow state if r is carried in the packet -Need to update rate in packet to r’

27 CSFQ  A contiguous and trusted region of network in which -Edge nodes – perform per flow operations -Core nodes – do not perform any per flow operations

28 Algorithm Outline  Ingress nodes: estimate rate r for each flow and insert it in the packets’ headers

29 Algorithm Outline Ingress nodes: estimate rate r for each flow and insert it in the packets’ headers

30 Algorithm Outline  Core node: -Compute fair rate f on the output link -Enqueue packet with probability -Update packet label to r = min( r, f ) P = min(1, f / r)

31 Algorithm Outline  Egress node: remove state from packet’s header

32 Example: CSFQ  Assume estimated fair rate f = 4 -flow 1, r = 8 => P = min(1, 4/8) = 0.5 expected rate of forwarded traffic 8*P = 4 -flow 2, r = 6 => P = min(1, 4/6) = 0.67 expected rate of forwarded traffic 6*P = 4 -flow 3, r = 2 => P = min(1, 4/2) = 1 expected rate of forwarded traffic Core Node (10 Mbps) FIFO 10

33 Fair Rate Estimation  Observation: rate of aggregate forwarded rate (R) is a monotonic and non-decreasing function of estimated rate C= C

34 Simulation Example 10 Mbps) UDP (#1) TCP (#2) TCP (#32)... UDP (#1) TCP (#2) TCP (#32)... Stateful solution: Fair Queueing Our Solution: Core-Stateless Fair Queueing Stateless solution: Random Early Detection

35 Summary  FQ does not eliminate congestion  it just manages the congestion  You need both end-host congestion control and router support for congestion control -End-host congestion control to adapt -Router congestion control to protect/isolate  Don’t forget buffer management: you still need to drop in case of congestion. Which packet’s would you drop in FQ? -One possibility: packet from the longest queue

36 Announcements  Project feedback -Tuesday, Feb 14, 12:30-2pm -Wednesday, Feb 15, 11:30-1pm