The Effect of Queuing Mechanisms First in First out (FIFO), Priority Queuing (PQ) and Weighted Fair Queuing (WFQ) on Network’s Routers and Applications

The paper presents the simulation results of the comparison of three Queuing Mechanisms, First in First out (FIFO), Priority Queuing (PQ), and Weighted Fair Queuing (WFQ). Depending on their effects on the network’s Routers, the load of any algorithm of them over Router’s CPUs and memory usage, the delay occurred between routers when any algorithm has been used and the network application throughput. This comparison explains that, PQ doesn’t need high specification hardware (memory and CPU) but when used it is not fair, because it serves one application and ignore the other application and FIFO mechanism has smaller queuing delay, otherwise PQ has bigger delay.


Introduction
QoS design is the fundamental functionality of the next generation IP router to enable differentiated delivery and to guarantee the delivery quality for diverse service traffic [1].The importance of Quality of Service (QoS) is parallel with the recent evolution of telecommunication networks, which are characterized by a great heterogeneity [2].All the applications that require a specific level of assurance from the network [2], especially real-time video applications have quality-of-service (QoS) requirements [3].The video streaming is often described as "bursty" and this can be attributed to the frame-based nature of video.Video frames are transmitted with a particular frame rate [4].The analysis of a captured traffic from a "head and shoulders" multimedia telephony session shows us that voice and video packets have different characteristics.In fact, while voice packets have short and constant size, video packets have long and variable size [5].

Congestion Management
Mechanisms for managing queues and giving preferential forwarding to delay-sensitive traffic.If the Hardware Queue is congested, the Software Queue (Queuing Mechanisms) will take over and schedule packets as they arrive at the interface.The hardware queue always uses FIFO and cannot be configured to use anything else.If the Hardware Queue is not congested, then any packets that arrive at the interface will bypass the software queuing process and be sent directly to the hardware queue to be sent out the physical interface.Software interfaces only congest when the Hardware Queue for the Interface has reached capacity [6].

Packet Scheduling
Packet scheduling mechanism is one of important items for QoS control [6].Packet scheduling specifies the service policy of a queue within a node (e.g. an IP router, an ATM switch).In practice, scheduling decides the order that is used to pick the packets [7] out of the queue and to transmit them over the channel.The Scheduling envisaged allows to achieve QoS differentiation and to reduce the queuing delay in order to optimize the end to end delay [8].The simplest algorithm is FIFO, where packets are served in the same order as they arrive in the queue [2].

Queue Management
Scheduling is often linked to queue (buffer) management schemes.They are used, for example, to establish the dropping strategy when the buffer is full.There are three possibilities: 1) Tail drop, which discharges the last arrived packets; 2) Front drop, which eliminates the first packet in the queue.
3) Random drop, which discharges a randomly selected packet within the queue [2].

Queuing Mechanisms
There are five queuing mechanisms which are: • Priority Queuing (PQ).

First in, First out (FIFO)
FIFO is an acronym for First In First Out.This expression describes the principle of a queue or first-come first serve behavior: what comes in first is handled first as shown in Figure 1, what comes in next waits until the first is finished etc. [9].

Priority Queueing
Priority queue ensures that important traffic gets the fastest handling at each point where it is used.AS shown in Figure 2, it was designed to give strict priority to important traffic.Priority queue prioritizes according to packet source/destination, packet type, and packet label and so on to discriminatively serve various traffic flows [1].Priority queuing is the basis for a class of queue scheduling algorithms that are designed to provide relatively simple method of supporting differentiated service classes.In classic PQ, packets are first classified by the  system and then placed into different priority queues.Packets are scheduled from the head of the given queue only if all queues of higher priority are empty.Within each of the priority queues, packets are scheduled in FIFO order.Some of the PQ benefits are relatively low computational load on the system and setting priorities so that real-time traffic gets priority over applications that do not operate in real time.One of the biggest problems using PQ is the high amount of the high priority traffic.If the volume of higher-priority traffic becomes excessive, lower priority traffic can be dropped as the buffer space allocated to low-priority queues starts to overflow.This could lead to complete resource starvation for lower priority traffic [10].

Weighted Fair Queuing
WFQ was introduced in 1989 Zhang, Demers, Keshav and Schenke (1989).The algorithm provides fair output bandwidth sharing according to assigned weights [7] as shown in Figure 3. Weighted fair queue is a variant of fair queue equipped with a weighted bandwidth allocation.The bandwidth allocation among packet queues involves not only the traffic discrimination but the weightings assigned to packet queues.In characteristics, weighting fair queue provides two important properties, supporting effective QoS design: No occurrence of bandwidth starvation encountered usually in Priority queue.Fairness of bandwidth sharing is ensured among admitted flows.Thus, in weighted fair queue, traffic gets predictable service [1].Weighted Fair Queuing (WFQ) offers fair queuing that divides the available bandwidth across queues of traffic based on weights.Each flow is associated with an independent queue assigned with a weight to ensure that important traffic gets higher priority over less important traffic [8].WFQ supports flows with different bandwidth requirements by giving each queue a weight that assigns it a different percentage of output port bandwidth.WFQ also supports variable-length packets, so that flows with larger packets are not allocated more bandwidth than flows with smaller packets [10].

Simulation Methodology
Network is simulated using OPNET ® Modeler.OPNET ® is extensive and powerful simulation software tool with wide variety of capabilities.It enables the possibility to simulate entire heterogeneous networks with various protocols [11].The simulated communication network designed as shown in the Figure 4, consists of 2

Scenarios
Three scenarios are proposed in this paper, the initial scenario used First in, First out (FIFO) as Queuing Mechanism.The second scenario used Priority queue and the third scenario proposed the Weighted fair queue as Queuing Mechanism.

Results
As shown in Figure 5, PQ has less memory queue size comparing with WFQ, and at last FIFO.As shown in Figure 6 the PQ has large delay, after it WFQ, and the smaller queuing delay is FIFO mechanism.
PQ has less CPU utilization, after it WFQ and FIFO Sequentially, as shown in Figure 7 and Figure 8.
Because the FIFO mechanism use default Queue as main Queue, that is shown in Figure 9 after it WFQ, and the less one PQ when it used the Default Queue.
As shown in Figure 10 The delay of using different Queuing mechanisms, the delay is less when we use PQ, then FIFO and WFQ has a big delay comparing with PQ and FIFO.

Conclusions
PQ doesn't need high specification hardware (memory and CPU) but when used it is not fair, because it serves one application and ignores the other application.
FIFO mechanism has smaller queuing delay, otherwise PQ has bigger delay.

Figure 4 .
Figure 4. Shows the network diagram.

Figure 6 .
Figure 6.Shows router A to router B queuing delay.