1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.

Slides:



Advertisements
Similar presentations
1 Comnet 2010 Communication Networks Recitation 4 Scheduling & Drop Policies.
Advertisements

Fair Queueing. Design space Buffer management: –RED, Drop-Tail, etc. Scheduling: which flow to service at a given time –FIFO –Fair Queueing.
Computer Networking Lecture 20 – Queue Management and QoS.
Deficit Round Robin Scheduler. Outline Introduction Ordinary Problems Deficit Round Robin Latency of DRR Improvement of latencies.
1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
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.
Courtesy: Nick McKeown, Stanford 1 Intro to Quality of Service Tahir Azim.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
CS 4700 / CS 5700 Network Fundamentals Lecture 12: Router-Aided Congestion Control (Drop it like it’s hot) Revised 3/18/13.
# 1 Scheduling: Buffer Management. # 2 The setting.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
Scheduling CS 215 W Keshav Chpt 9 Problem: given N packet streams contending for the same channel, how to schedule pkt transmissions?
CS 268: Lecture 15/16 (Packet Scheduling) Ion Stoica April 8/10, 2002.
Generalized Processing Sharing (GPS) Is work conserving Is a fluid model Service Guarantee –GPS discipline can provide an end-to-end bounded- delay service.
Service Disciplines for Guaranteed Performance Service Hui Zhang, “Service Disciplines for Guaranteed Performance Service in Packet-Switching Networks,”
Analysis and Simulation of a Fair Queuing Algorithm
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
תזכורת  שבוע הבא אין הרצאה m יום א, נובמבר 15, 2009  שיעור השלמה m יום שישי, דצמבר 11, 2009 Lecture 4: Nov 8, 2009 # 1.
CS 268: Lecture 8 (Router Support for Congestion Control) Ion Stoica February 19, 2002.
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.
Lecture 4#-1 Scheduling: Buffer Management. Lecture 4#-2 The setting.
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.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
Advance Computer Networking L-5 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
CS 268: Computer Networking L-5 Router Queue Management.
Link Scheduling & Queuing COS 461: Computer Networks
Fair Queueing. 2 First-Come-First Served (FIFO) Packets are transmitted in the order of their arrival Advantage: –Very simple to implement Disadvantage:
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.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Nick McKeown Spring 2012 Lecture 2,3 Output Queueing EE384x Packet Switch Architectures.
Packet Scheduling: SCFQ, STFQ, WF2Q Yongho Seok Contents Review: GPS, PGPS SCFQ( Self-clocked fair queuing ) STFQ( Start time fair queuing ) WF2Q( Worst-case.
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.
Scheduling Determines which packet gets the resource. Enforces resource allocation to each flows. To be “Fair”, scheduling must: –Keep track of how many.
Scheduling CS 218 Fall 02 - Keshav Chpt 9 Nov 5, 2003 Problem: given N packet streams contending for the same channel, how to schedule pkt transmissions?
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.
Lecture Note on Scheduling Algorithms. What is scheduling? A scheduling discipline resolves contention, “who is the next?” Goal: fairness and latency.
Queue Scheduling Disciplines
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
15-744: Computer Networking L-5 TCP & Routers. 2 Fair Queuing Core-stateless Fair queuing Assigned reading [DKS90] Analysis and Simulation of a Fair Queueing.
15-744: Computer Networking L-5 TCP & Routers. 2 Fair Queuing Core-stateless Fair queuing Assigned reading [DKS90] Analysis and Simulation of a Fair Queueing.
Providing QoS in IP Networks
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
CS244 Packet Scheduling (Generalized Processor Sharing) Some slides created by: Ion Stoica and Mohammad Alizadeh
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
CS 268: Computer Networking
Chapter 6 Queuing Disciplines
Congestion Control and Resource Allocation
Stratified Round Robin: A Low Complexity Packet Scheduler with Bandwidth Fairness and Bounded Delay Sriram Ramabhadran Joseph Pasquale Presented by Sailesh.
EE 122: Router Support for Congestion Control: RED and Fair Queueing
TCP, XCP and Fair Queueing
Queuing and Queue Management
Variations of Weighted Fair Queueing
ECE 4450:427/527 - Computer Networks Spring 2017
Fair Queueing.
Advance Computer Networking
Computer Science Division
Advance Computer Networking
Variations of Weighted Fair Queueing
Network Simulation NET441
COMP/ELEC 429 Introduction to Computer Networks
Congestion Control Reasons:
15-744: Computer Networking
Congestion Control and Resource Allocation
EECS 122: Introduction to Computer Networks Packet Scheduling and QoS
Fair Queueing.
کنترل جریان امیدرضا معروضی.
Presentation transcript:

1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran

2 Fairness

3 Fairness Goals Allocate resources fairly Isolate users –Router does not send explicit feedback to source –Still needs e2e congestion control Still achieve statistical muxing –One flow can fill entire pipe if no contenders –Work conserving  scheduler never idles link if it has a packet

4 What is Fairness? MAX-MIN Fairness –No user receives more than its share –No other scheme satisfy this condition which has higher min allocation Ui = MIN (Ui,Ri) - What does “user” means? –Per source of packet Restrict for example File Servers –Per receiver Malicious user can reduce receiver bandwidth –Per host process Encourage user to start several communication simultaneously –Source-Destination pair Allows source consume unlimited resources for different destinations However the last one seems the best trade-off

5 Queuing Algorithm for Fairness

6 Queuing Algorithms Controls: –Order of sending packets –Buffer usage Queuing Algorithms do not directly affect congestion, must be combined with intelligent queue manager Why not simple round robin? –Variable packet length  can get more service by sending bigger packets –Unfair instantaneous service rate What if arrive just before/after packet departs?

7 Implementing MAX-MIN Fairness Generalized processor sharing (GPS) –Fluid fairness –Bitwise round robin among all queues –We assume we have a server which can service N bits simultaneously from N flows. –Generally we have a variable keeps amount of service that each flow has received since last busy period –Objective is equalizing this amount named as “potential” –Approaches differs in way updating potentials

8 Implementing MAX-MIN Fairness One way is defining “System Potential (Virtual Time)” function –When a flow goes idle, after activation its potential is set equal to value of system potential –Different approaches have different functions to maintain System Potential

9 GPS

10 Packet by Packet GPS In packet system GPS is not feasible –Though, scheduler can not update potentials of all flows at the same rate One of the well known approaches is WFQ (Weighted Fair Queuing) Single flow: clock ticks when a bit is transmitted. For packet i: –P i = length, A i = arrival time, S i = begin transmit time, F i = finish transmit time –F i = S i +P i = max (F i-1, A i ) + P i Multiple flows: –Send packet with smallest F i

11 WFQ (Weighted Fair Queuing) SiFi Wq = 10 Wq = 1

12 Delay Allocation Reduce delay for flows using less than fair share –Advance finish times for sources whose queues drain temporarily Schedule based on B i instead of F i –F i = P i + max (F i-1, A i )  B i = P i + max (F i-1, A i -  ) –If A i < F i-1, conversation is active and  has no effect –If A i > F i-1, conversation is inactive and  determines how much history to take into account Infrequent senders do better when history is used

13 PP GPS Problems –Needs Sorting at least among active sessions –System Potential Problem How we should store? With Time ? How about for variable bit rate servers? When we must update System Potential? –How we must assign newly arrived packet potential during a packet is sending System Potential is always increasing function of time –If busy time lasts too long, System Potential maybe overflow –Is It fair enough??

14 WFQ & GPS Suppose a system from start –Session 1 has 11 packets with weight 0.5 –10 other sessions has weight 0.05 –All packets has 1 unit length –Our system services 1 packet at one time unit

15 WFQ & GPS WFQ GPS

16 WFQ & GPS Impact on Link Sharing & Real Time Service –Much larger delay bounds Impact on Feedback-Based Algorithms –Oscillation of RTT The Most Exact Approximation : WF 2 Q

17 WF 2 Q selects packet among Eligible ones no from all of the packets in all sessions (SEFF Policy). Eligible means set of packets which has started receiving service in GPS system at time t. We have one Start and Finish time for a session not for each packet

18 WF 2 Q GPS WF 2 Q

19 WF 2 Q WFQ WF 2 Q

20 WF 2 Q & WF 2 Q+ Yes, we achieved better granulity but –Now we have to sort twice ! –How we should compute Virtual Time ! –We should run GPS system in background ! WF 2 Q+ : Has exactly the same properties with lighter complexity

21 Other Famous Variations Self Clocked FQ (SCFQ) –Calculating Virtual Time V(t) is the finish time of the packet being serviced or was serviced Start Time FQ (STFQ) –Calculating Virtual Time During busy period, V(t) is the Si of the packet being serviced At the end of busy period V(t) is Fi of the last packet was serviced –SSF (Smallest Start time First)

22 Other Simple Approaches FIFO Strict Priority –Starvation –Just for important flow or determined rate flows RR –Simply do round robin –Do not consider packet lengths DRR (Deficit Round Robin) –Each Queue has a “quantum” based on its weight and a “Deficit Counter” –In each round can send quantum bytes and the Deficit counter keeps count of sent bytes and remained quantum –If the queue is empty Deficit counter will be set to zero

23 Deficit Round Robin Quantum = 1500 DC = 700 DC = 500 DC = 400 √

24 Deficit Round Robin Quantum = 1500 DC = 700 DC = 100 DC = 400 √

25 Deficit Round Robin Quantum = 1500 DC = 188 DC = 0 DC = 400

26 Deficit Round Robin Quantum = 1500 DC = 1688 DC = 0 DC = 1900 √

27 DRR Q BE = 1500 DC = 700 DC = 500 DC = 400 Q LC =

28 DRR++ Advantages –Reduces delay comparing with DRR –Reduces burst comparing with PQ BUT … –Sensitive to transient bursts –Hard to configure (Q LC ) Esp. for TCP traffic in the core! –worst-case condition configuration