WF2Q

Worst Case Fair Fair Weighted Queue


HOME

Introduction

GPS

WFQ

Recourses


arrival times serve times

The problem with WFQ is that there are some cases where it fails to approximate GPS. In the following example all packets are of size 1 and the data rate is 1 packet per time unit. There are six flows with the following weights; flow F1 has an assigned weight of 50% of the total output link. Flows F2-F6 have an assigned weight of 10%. A stream of six packets arrives on F1 at the same time as individual packets arrive on flows F2-F6. GPS serves the packets from F2-F6 from t=0 to t=10. It also serves the first packet from F1 (A) from t=0 to t=2, then packet B from t=2 to t=4, and so forth.

WFQ serves the packets as shown in the figure. Notice the gap after packet E. WF2Q or Worst Case Fair Fair Weighted Queue, is shown as well, and does not have a large gap between high weighted packets.

WF2Q accomplishes this by a slight modification of the WFQ algorithm. WF2Q like WFQ uses a virtual time concept. The virtual finish time is the time GPS would have finished sending the packet. Instead of searching for the smallest virtual finishing time of all packets in the queue, WF2Q looks for the packet with the smallest virtual finishing time, of whose virtual start time has already occurred. The virtual start time is the time GPS would have started to send the packet. The virtual start and finishing times are defined below.

F(i,k,t) = MAX{F(i,k-1,t), R(t)} + P(i,k,t)
S(i,k,t) = MAX{F(i,k-1,t), R(t)}
where:
i = connection number
k = packet number
t = time
R(t) = round number (virtual time)
P(i,k,t) = time to transmit kth packet that arrives on connection i at time t with connection i's bandwidth
F(i,k-1,t) = finish number of the (k-1)th packet on that connection

In the following graph a hierarchal network setup with some best effort sources and real-time interactive sources. Delays and spacing can compound when a hierarchal approach is used because of the nature of a tree structure. From the graphs one can see that when WF2Q is used, real-time traffic delay and packet spacing is more predictable.

WFQ vs WF2Q for realtime and best effort