Download presentation
Presentation is loading. Please wait.
1
Variations of Weighted Fair Queueing
2
Issues with WFQ WFQ does not run behind GPS by more than Lmax/C . However, WFQ may run ahead of GPS by a lot Improvement: Bound the time by which WFQ can run ahead of GPS WF2Q, WF2Q+ Implementation overhead of computing virtual time Improvement: Avoid virtual time computation, while maintaining fairness properties SCFQ, SFQ, WF2Q+ Need to maintain a sorted queue (sorted in order of timestamps) Improvement: Use a round-robin approach WRR, DRR (Stratified Round Robin)
3
Weighted Round Robin (WRR)
Parameters: Li is the average packet size of flow i ϕi : weight of flow i (ϕi > 0) One FIFO queue for each flow Operates in “rounds”, where each queue with a backlog is visited once in a round Calculate the number of packets to be served in each round: For each flow i: xi = ϕi / Li x = mini { xi } For each flow i: packets_per_roundi = xi / x
4
Weighted Round Robin (WRR)
If all flows are active and packets are equal to the average Li , then the rate allocated to flow i is WRR is a good approximation of GPS if All flows are active over long periods of time Packet sizes are equal to the average size Li Otherwise, WRR can deviate substantially from the desired fair allocation
5
Deficit Round Robin (DRR)
Can be viewed as Improvement to WRR without need for average packet size Approximation of WFQ without need for a sorted queue One FIFO queue for each flow Operates in “rounds”, where each queue with a backlog is visited once in a round Qi : Quantum of flow Maximum number of bytes from flow i that are sent in one round (Quantum is greater than max. size of flow i packets (Qi > Limax)) DCi : Deficit counter of flow i Credit of flows (in bytes) saved for the next round Credits 50 100 75 50 50 50 75 50 50 50 75 150 75 Credits 50 100 75 Time 50 50 50 50 25 50 50 25 150 75 Credits 50 100 150 50 50 100 50 50 100 150 150 Drawing from:
6
Deficit Round Robin (DRR)
If queue is empty: Qi=0 Otherwise, Add quantum Qi to flow i in each round: DCi = DCi + Qi Transmit packet with size L from head of queue i and set DCi = DCi - L Continue transmitting (and subtracting DCi) until packet size at head of queue i is larger than DCi Credits 50 100 75 50 50 50 75 50 50 50 75 150 75 Credits 50 100 75 Time 50 50 50 50 25 50 50 25 150 75 Credits 50 100 150 50 50 100 50 50 100 150 150 Drawing from: 6
7
Deficit Round Robin (DRR)
The share of flow i: The bandwidth guarantee of flow i: Fairness metric for two backlogged flows i and j in [t1,t2]:
8
Worst-Case Fair Fair Queueing (WF2Q)
9
WFQ and WF2Q … … 12 flows, all packets have size 1, C = 1: Flow 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Flow 1 f1 = 0.5 time Flow 2 f2 = 0.05 time … … Flow 11 f11 = 0.05 time fluid flow system 20 2 6 4 21
10
WFQ and WF2Q … … … … 12 flows, all packets have size 1, C = 1: Flow 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Flow 1 f1 = 0.5 time Flow 2 f2 = 0.05 time … … Flow 11 f11 = 0.05 time Flow 1 fluid flow system Flow 2 … … Flow 11 20 2 6 4 21
11
WFQ transmission order
WFQ and WF2Q 12 flows, all packets have size 1, C = 1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Flow 1 f1 = 0.5 time Flow 2 f2 = 0.05 time … … Flow 11 f11 = 0.05 time WFQ transmission order time 10 20 21
12
Worst-Case Fair Fair Queueing
Issue: While WFQ never falls behind the fluid-flow schedule by more than one packet size, it can run ahead of the fluid-flow schedule by an arbitrary amount. WF2Q Scheduling: Only considers packets for transmission that have already started transmission in the fluid-flow system Of these, it selects the packet with the smallest finishing time (in the fluid-flow system) WF2Q Properties: Like WFQ, WF2Q never falls behind the fluid-flow schedule by more than one packet size ( same end-to-end delay bounds as WFQ) Unlike WFQ, it never runs ahead of the fluid-flow schedule by more than one packet size
13
WFQ and WF2Q … … 12 flows, all packets have size 1, C = 1: Flow 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Flow 1 f1 = 0.5 time Flow 2 f2 = 0.05 time … … Flow 11 f11 = 0.05 time WFQ transmission order WF2Q transmission order time 10 20 21
14
WFQ and WF2Q … … 12 flows, all packets have size 1, C = 1: Flow 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Flow 1 f1 = 0.5 time Flow 2 f2 = 0.05 time … … Flow 11 f11 = 0.05 time WFQ transmission order WF2Q transmission order time 10 20 21
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.