Balaji Prabhakar Active queue management and bandwidth partitioning algorithms Balaji Prabhakar Departments of EE and CS Stanford University

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Martin Suchara, Ryan Witt, Bartek Wydrowski California Institute of Technology Pasadena, U.S.A. TCP MaxNet Implementation and Experiments on the WAN in.
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
RED-PD: RED with Preferential Dropping Ratul Mahajan Sally Floyd David Wetherall.
Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Computer Networking Lecture 20 – Queue Management and QoS.
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
CSIT560 Internet Infrastructure: Switches and Routers Active Queue Management Presented By: Gary Po, Henry Hui and Kenny Chong.
Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.
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.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu.
Congestion Control An Overview -Jyothi Guntaka. Congestion  What is congestion ?  The aggregate demand for network resources exceeds the available capacity.
Measurements of Congestion Responsiveness of Windows Streaming Media (WSM) Presented By:- Ashish Gupta.
Ion Stoica, Scott Shenker, and Hui Zhang SIGCOMM’98, Vancouver, August 1998 subsequently IEEE/ACM Transactions on Networking 11(1), 2003, pp Presented.
XCP: Congestion Control for High Bandwidth-Delay Product Network Dina Katabi, Mark Handley and Charlie Rohrs Presented by Ao-Jan Su.
By Sam Rossoff. The Red Police Controlling High- Bandwidth Flows at the Congested Router By Ratul Mahajan Sally Floyd and David Wetherall.
1 Minseok Kwon and Sonia Fahmy Department of Computer Sciences Purdue University {kwonm, All our slides and papers.
Aditya Akella A Game-Theoretic Analysis of TCP Aditya Akella, Srinivasan Seshan (CMU) Richard Karp, Christos Papadimitriou, Scott Shenker.
COMP680E by M. Hamdi 1 Traffic Managers: Active Queue Management Algorithms.
Diffusion Mechanisms for Active Queue Management Department of Electrical and Computer Engineering University of Delaware May 19th / 2004 Rafael Nunez.
High speed TCP’s. Why high-speed TCP? Suppose that the bottleneck bandwidth is 10Gbps and RTT = 200ms. Bandwidth delay product is packets (1500.
EE689 Lecture 5 Review of last lecture More on HPF RED.
1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug 1993), pp
1 Core-Stateless Fair Queueing: Achieving Approximately Fair Bandwidth Allocations in High Speed Networks Ion Stoica,Scott Shenker, and Hui Zhang SIGCOMM’99,
1 Emulating AQM from End Hosts Presenters: Syed Zaidi Ivor Rodrigues.
Active Queue Management Rong Pan Cisco System EE384y Spring Quarter 2006.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
Random Early Detection Gateways for Congestion Avoidance
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.
Rafael C. Nunez - Gonzalo R. Arce Department of Electrical and Computer Engineering University of Delaware May 19 th, 2005 Diffusion Marking Mechanisms.
UCB Improvements in Core-Stateless Fair Queueing (CSFQ) Ling Huang U.C. Berkeley cml.me.berkeley.edu/~hlion.
Diffusion Early Marking Department of Electrical and Computer Engineering University of Delaware May / 2004 Rafael Nunez Gonzalo Arce.
Advanced Computer Networks : RED 1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking,
Courtesy: Nick McKeown, Stanford 1 TCP Congestion Control Tahir Azim.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Bandwidth partitioning (jointly with R. Pan, C. Psounis, C. Nair, B. Yang, L. Breslau and S. Shenker)
Understanding the Performance of TCP Pacing Amit Aggarwal, Stefan Savage, Thomas Anderson Department of Computer Science and Engineering University of.
Link Scheduling & Queuing COS 461: Computer Networks
CA-RTO: A Contention- Adaptive Retransmission Timeout I. Psaras, V. Tsaoussidis, L. Mamatas Demokritos University of Thrace, Xanthi, Greece This study.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
1 On Class-based Isolation of UDP, Short-lived and Long-lived TCP Flows by Selma Yilmaz Ibrahim Matta Computer Science Department Boston University.
1 IEEE Meeting July 19, 2006 Raj Jain Modeling of BCN V2.0 Jinjing Jiang and Raj Jain Washington University in Saint Louis Saint Louis, MO
Presented by: Peng Wang EE Department University of Delaware A Probabilistic Approach for Achieving Fair Bandwidth Allocation in CSFQ.
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.
15744 Course Project1 Evaluation of Queue Management Algorithms Ningning Hu, Liu Ren, Jichuan Chang 30 April 2001.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
AQM & TCP models Courtesy of Sally Floyd with ICIR Raj Jain with OSU.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Winter 2008CS244a Handout 81 CS244a: An Introduction to Computer Networks Handout 8: Congestion Avoidance and Active Queue Management Nick McKeown Professor.
We used ns-2 network simulator [5] to evaluate RED-DT and compare its performance to RED [1], FRED [2], LQD [3], and CHOKe [4]. All simulation scenarios.
Winter 2008CS244a Handout 71 CS244a: An Introduction to Computer Networks Handout 7: Congestion Control Nick McKeown Professor of Electrical Engineering.
Spring 2015© CS 438 Staff - University of Illinois1 Next Topic: Vacation Planning UIUC Chicago Monterey San Francisco Chicago to San Francisco: ALL FLIGHTS.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Analysis and Design of an Adaptive Virtual Queue (AVQ) Algorithm for AQM By Srisankar Kunniyur & R. Srikant Presented by Hareesh Pattipati.
Congestion Avoidance Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
1 Sheer volume and dynamic nature of video stresses network resources PIE: A lightweight latency control to address the buffer problem issue Rong Pan,
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
Topics discussed in this section:
Active Queue Management
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Other Methods of Dealing with Congestion
Other Methods of Dealing with Congestion
Coping with (exploiting) heavy tails
Understanding Congestion Control Mohammad Alizadeh Fall 2018
Presentation transcript:

Balaji Prabhakar Active queue management and bandwidth partitioning algorithms Balaji Prabhakar Departments of EE and CS Stanford University

2 Overview of lecture Active queue management –Background CHOKe: a randomized AQM algorithm –The basic algorithm –Enhancements –A model and fluid analysis AFD: a bandwidth partitioning algorithm –Description of algorithm and performance

3 The Setup In a congested network with many users –whose quality-of-service (QoS) requirements are different Problems: –allocate bandwidth –control queue size and hence delay

4 Approach 1: Network-centric Network node: fair queueing –weve fair queueing (WFQ) in EE 384X User traffic: any type problem: complex implementation

5 Approach 2: User-centric Network node: simple FIFO + AQM schemes –AQM: Active Queue Management (e.g. RED) User traffic: congestion-aware (e.g. TCP) problem: requires user cooperation

6 Network node: –simple FIFO buffer –AQM schemes with enhancement to provide fairness: preferential dropping packets User traffic: any type Current trend

7 AQM and RED Passive queue management: DropTail –when the output buffer is full, simply drop an arriving packet –this signals congestion to sources DropTail had a number of problems 1.TCP sources send packets in bursts (due to ack compression). So, drops occur in bursts, causing TCP sources to Slow-Start 2.Synchronization between various sources could occur: they end up using bandwidth in periodic phases, leading to ineffeciences. RED was designed to fix these problems –drops incoming packets randomly based on congestion level –this signals the onset of congestion to the sources who will back- off (if they are responsive) –thus, RED avoided bursty dropping, synchronization, etc.

8 AQM and RED Although RED is simple to implement –it cant prevent an unresponsive flow from eating up all the bandwidth –because, a source that simply doesnt back-off when there are packet drops will end up causing the others to back-off and eat up the available bandwidth. So, a lot of research was dedicated to finding AQM schemes that would be simple to implement and partition the bandwidth fairly; or, at least prevent a single flow from taking up all the bandwidth

9 A Randomized Algorithm: First Cut Consider a single link shared by 1 unresponsive (red) flow and k responsive (green) flows Suppose the buffer gets congested Observe: It is likely there are more packets from the red (unresponsive) source So if a randomly chosen packet is evicted, it will likely be a red packet Therefore, one algorithm could be: When buffer is congested evict a randomly chosen packet

10 Comments Unfortunately, this doesnt work because there is a small non- zero chance of evicting a green packet Since green sources are responsive, they interpret the packet drop as a congestion signal and back-off This only frees up more room for red packets Next: Suppose we choose two packets at random from the queue and compare their ids, then it is quite unlikely that both will be green This suggests another algorithm: Choose two packets at random and drop them both if their ids agree This works: That is, it limits the maximum bandwidth the red source can consume

11 The CHOKe Algorithm Builds on the previous observation Is a randomized algorithm Turns out to have an easily analyzable performance via fluid models The last point is interesting, since it shows how surprisingly accurate fluid models are for modeling TCP- and UDP-type traffics

12 The CHOKe Algorithm Admit new packet Arriving packet y n y Drop both packets Draw a packet at random from queue end n Drop the new packet end Admit packet with a probability p end y n AvgQsize <= Min th ? Both packets from same flow? AvgQsize <= Max th ?

13 Simulation Comparison: The setup R1 1Mbps 10Mbps S(2) S(m) S(m+n) TCP Sources S(m+1) UDP Sources S(1) R2 D(2) D(m) D(m+n) TCP Sinks D(m+1) UDP Sinks D(1) 10Mbps

14 1 UDP source and 32 TCP sources

15 CHOKe: Bandwidth Shares

16 CHOKe: Drop Decomposition

17 CHOKe: Varying UDP Loadings

18 CHOKe: Varying UDP Loadings

19 CHOKe: 5 UDPs, 5 samples

20 Mechanizing Multiple Drops Divide region (min th, max th ) into subregions R 1, R 2, … R k; If Q avg R m, drop d m packets (e.g. d m = 2 * m) min th M ax th R1R1 R2R2 RkRk

21 Self-adjusting CHOKe

22 A Fluid Analysis discards from the queue permeable tube with leakage

23 Some notation N: total number of packets in the buffer L i (t): rate at which flow is packets cross position t of buffer 0 = entrance and D = exit p i : fraction of flow is packets dropped at ingress = fraction of flow is packets dropped in buffer (since drops occur in pairs) i : rate at which flow i packets arrive

24 The Equation L i (t) t - L i (t + t) t = i L i (t) t /N => - dL i (t)/dt = i L i (t) N L i (0) = i (1-p i ) L i (D) = i (1-2p i ) This first order differential equation can be solved explicitly for L i (t), 0 < t < D

25 Simulation Comparison: 1UDP, 32 TCPs

26 Fluid Analysis of Multiple Samples With M samples L i (t) t - L i (t + t) t = M i L i (t) t /N => - dL i (t)/dt = M i L i (t) N L i (0) = i (1-p i ) M L i (D) = i (1-p i ) M - M i p i

27 Comparison: 1 UDP, 2 Samples

28 Size-based Schemes –drop decision based on the size of FIFO queue –e.g. RED History-based Schemes –keep a history of packet arrivals/drops to guide drop decision –e.g. SRED, RED with penalty box Content-based Schemes –drop decision based on the current content of the FIFO queue –e.g. CHOKe Overview of packet dropping schemes Unfortunately, while the above are simple, they cant perform like WFQ in terms of accurate bandwidth partitioning –need more information to drop packets better AFD: Approximate Fair Dropping

29 Track the last N arriving packets Of these, let m i come from flow i –note: were tracking all packets sent, not just those admitted Use this to drop further flow i packets fairly –that is, when a flow i packet arrives, find D i such that m i (1-D i ) = m fair (fair share) if D i is positive, drop incoming packet with probability D i else, just admit packet Main idea of AFD

30 The fair share is estimated dynamically by looking at the size of the queue –m fair = m fair - a*(Q len – Q ref ) Q len is the real queue length (measured) Q ref is the reference queue length (set by the operator) a is the averaging parameter (a design parameter), could be self adjusting Main idea of AFD (contd)

31 How to efficiently track m i –If the number of flows is small (in the order of thousands): directly measure –Otherwise: (the number of flows is in the order of millions) use a flow table which has summary information Key design issue

32 Fraction of Flows State requirement on the order of # of large flows Flow table: How many flows to track?

Data Buffer Flow Table: N= Need to decrement so that m i accurately estimates flow arrival rate -- simply decrementing a random counter wont work -- too much bias against large flows DiDi Flow table

34 Choose a flow randomly from the flow table –Prob(flow i chosen) = 1/N f (N f : # of flows) Once a flow is chosen, decrement it multiple times proportionally to its count –N d = b*m i Decrementing

35 All TCPs maximum window size = 300 FIFO buffer size = 300 packets All packets sizes = 1 Kbyte (variable packet sizes also easy to implement) N = 500, b = 0.06 AFD performance 7 groups with 5 flows in each: 3 groups with different aimd parameters: 1.0/0.9, 0.75/0.30, 2.0/0.5 2 groups with different binomial parameters 1 group with long RTT 70ms 1 group of normal TCP (1.0/0.5)

36

37 Throughput vs time

38 Drop Probabilities (note differential dropping)