<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">WSN</journal-id><journal-title-group><journal-title>Wireless Sensor Network</journal-title></journal-title-group><issn pub-type="epub">1945-3078</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/wsn.2016.85008</article-id><article-id pub-id-type="publisher-id">WSN-66994</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  The Effect of Queuing Mechanisms First in First out (FIFO), Priority Queuing (PQ) and Weighted Fair Queuing (WFQ) on Network’s Routers and Applications
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>ustafa</surname><given-names>El Gili Mustafa</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Samani</surname><given-names>A. Talab</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Faculty of Computer Science and Information Technology, Neelian University, Khartoum, Sudan</addr-line></aff><aff id="aff1"><addr-line>Computer Department, Community College, Shaqra University, Shaqra, Saudi Arabia</addr-line></aff><pub-date pub-type="epub"><day>31</day><month>05</month><year>2016</year></pub-date><volume>08</volume><issue>05</issue><fpage>77</fpage><lpage>84</lpage><history><date date-type="received"><day>12</day>	<month>August</month>	<year>2015</year></date><date date-type="rev-recd"><day>accepted</day>	<month>28</month>	<year>May</year>	</date><date date-type="accepted"><day>31</day>	<month>May</month>	<year>2016</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  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.
 
</p></abstract><kwd-group><kwd>Queuing Mechanisms</kwd><kwd> QoS</kwd><kwd> First in</kwd><kwd> First out (FIFO)</kwd><kwd> Priority Queuing (PQ)</kwd><kwd> Weighted Fair Queuing (WFQ)</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>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 [<xref ref-type="bibr" rid="scirp.66994-ref1">1</xref>] . The importance of Quality of Service (QoS) is parallel with the recent evolution of telecommunication networks, which are characterized by a great heterogeneity [<xref ref-type="bibr" rid="scirp.66994-ref2">2</xref>] . All the applications that require a specific level of assurance from the network [<xref ref-type="bibr" rid="scirp.66994-ref2">2</xref>] , especially real-time video applications have quality-of-service (QoS) requirements [<xref ref-type="bibr" rid="scirp.66994-ref3">3</xref>] . 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 [<xref ref-type="bibr" rid="scirp.66994-ref4">4</xref>] . 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 [<xref ref-type="bibr" rid="scirp.66994-ref5">5</xref>] .</p></sec><sec id="s2"><title>2. Congestion Management</title><p>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 [<xref ref-type="bibr" rid="scirp.66994-ref6">6</xref>] .</p></sec><sec id="s3"><title>3. Packet Scheduling</title><p>Packet scheduling mechanism is one of important items for QoS control [<xref ref-type="bibr" rid="scirp.66994-ref6">6</xref>] . 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 [<xref ref-type="bibr" rid="scirp.66994-ref7">7</xref>] 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 [<xref ref-type="bibr" rid="scirp.66994-ref8">8</xref>] . The simplest algorithm is FIFO, where packets are served in the same order as they arrive in the queue [<xref ref-type="bibr" rid="scirp.66994-ref2">2</xref>] .</p></sec><sec id="s4"><title>4. Queue Management</title><p>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:</p><p>1) Tail drop, which discharges the last arrived packets;</p><p>2) Front drop, which eliminates the first packet in the queue.</p><p>3) Random drop, which discharges a randomly selected packet within the queue [<xref ref-type="bibr" rid="scirp.66994-ref2">2</xref>] .</p></sec><sec id="s5"><title>5. Queuing Mechanisms</title><p>There are five queuing mechanisms which are:</p><p>・ Priority Queuing (PQ).</p><p>・ Custom Queuing (CQ).</p><p>・ Weighted Fair Queuing (WFQ).</p><p>・ Class-Based Weighted Fair Queuing (CBWFQ).</p><p>・ Low-Latency Queuing (LLQ) [<xref ref-type="bibr" rid="scirp.66994-ref6">6</xref>] .</p><sec id="s5_1"><title>5.1. First in, First out (FIFO)</title><p>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 <xref ref-type="fig" rid="fig1">Figure 1</xref>, what comes in next waits until the first is finished etc. [<xref ref-type="bibr" rid="scirp.66994-ref9">9</xref>] .</p></sec><sec id="s5_2"><title>5.2. Priority Queueing</title><p>Priority queue ensures that important traffic gets the fastest handling at each point where it is used. AS shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>, 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 [<xref ref-type="bibr" rid="scirp.66994-ref1">1</xref>] . 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</p><fig id="fig1"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref></label><caption><title> First-in, First-out (FIFO) queuing</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x6.png"/></fig><fig id="fig2"  position="float"><label><xref ref-type="fig" rid="fig2">Figure 2</xref></label><caption><title> Priority queuing</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x7.png"/></fig><p>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 [<xref ref-type="bibr" rid="scirp.66994-ref10">10</xref>] .</p></sec><sec id="s5_3"><title>5.3. Weighted Fair Queuing</title><p>WFQ was introduced in 1989 Zhang, Demers, Keshav and Schenke (1989). The algorithm provides fair output bandwidth sharing according to assigned weights [<xref ref-type="bibr" rid="scirp.66994-ref7">7</xref>] as shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>. 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, weigh- ting 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 [<xref ref-type="bibr" rid="scirp.66994-ref1">1</xref>] . 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 [<xref ref-type="bibr" rid="scirp.66994-ref8">8</xref>] . 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 [<xref ref-type="bibr" rid="scirp.66994-ref10">10</xref>] .</p></sec></sec><sec id="s6"><title>6. Simulation Methodology</title><p>Network is simulated using OPNET<sup>&#174;</sup> Modeler. OPNET<sup>&#174;</sup> is extensive and powerful simulation software tool with wide variety of capabilities. It enables the possibility to simulate entire heterogeneous networks with various protocols [<xref ref-type="bibr" rid="scirp.66994-ref11">11</xref>] . The simulated communication network designed as shown in the <xref ref-type="fig" rid="fig4">Figure 4</xref>, consists of 2</p><fig id="fig3"  position="float"><label><xref ref-type="fig" rid="fig3">Figure 3</xref></label><caption><title> Weighted fair queuing</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x8.png"/></fig><fig id="fig4"  position="float"><label><xref ref-type="fig" rid="fig4">Figure 4</xref></label><caption><title> Shows the network diagram</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x9.png"/></fig><fig id="fig5"  position="float"><label><xref ref-type="fig" rid="fig5">Figure 5</xref></label><caption><title> Shows router A forwarding memory queue Size (packets)</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x10.png"/></fig><fig id="fig6"  position="float"><label><xref ref-type="fig" rid="fig6">Figure 6</xref></label><caption><title> Shows router A to router B queuing delay</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x11.png"/></fig><fig-group id="fig7"><label><xref ref-type="fig" rid="fig7">Figure 7</xref></label><caption><title>Shows router A CPU utilization.</title></caption><fig id ="fig7_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x12.png"/></fig></fig-group><fig-group id="fig8"><label><xref ref-type="fig" rid="fig8">Figure 8</xref></label><caption><title> Shows router B CPU utilization.</title></caption><fig id ="fig8_1"><label></label><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x13.png"/></fig></fig-group><fig id="fig9"  position="float"><label><xref ref-type="fig" rid="fig9">Figure 9</xref></label><caption><title> Shows A buffer usage (default queue) Size</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x14.png"/></fig><fig id="fig10"  position="float"><label><xref ref-type="fig" rid="fig1">Figure 1</xref>0</label><caption><title>Shows packet End-to-End delay</title></caption><graphic mimetype="image"   position="float"  xlink:type="simple"  xlink:href="http://html.scirp.org/file/1-9501426x15.png"/></fig><p>routers and 7 PCs and five different application servers.</p></sec><sec id="s7"><title>7. Scenarios</title><p>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.</p></sec><sec id="s8"><title>8. Results</title><p>As shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>, PQ has less memory queue size comparing with WFQ, and at last FIFO.</p><p>As shown in <xref ref-type="fig" rid="fig6">Figure 6</xref> the PQ has large delay, after it WFQ, and the smaller queuing delay is FIFO mechanism.</p><p>PQ has less CPU utilization, after it WFQ and FIFO Sequentially, as shown in <xref ref-type="fig" rid="fig7">Figure 7</xref> and <xref ref-type="fig" rid="fig8">Figure 8</xref>.</p><p>Because the FIFO mechanism use default Queue as main Queue, that is shown in <xref ref-type="fig" rid="fig9">Figure 9</xref> after it WFQ, and the less one PQ when it used the Default Queue.</p><p>As shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>0 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.</p></sec><sec id="s9"><title>9. Conclusions</title><p>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.</p><p>FIFO mechanism has smaller queuing delay, otherwise PQ has bigger delay.</p></sec><sec id="s10"><title>Cite this paper</title><p>Mustafa El Gili Mustafa,Samani A. Talab, (2016) The Effect of Queuing Mechanisms First in First out (FIFO), Priority Queuing (PQ) and Weighted Fair Queuing (WFQ) on Network’s Routers and Applications. Wireless Sensor Network,08,77-84. doi: 10.4236/wsn.2016.85008</p></sec></body><back><ref-list><title>References</title><ref id="scirp.66994-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Homg, M.-F., Lee, W.-T., Lee, K.-R. and Kuo, Y.-H. (2001) An Adaptive Approach to Weighted Fair Queue with QoS Enhanced on IP Network. IEEE Catalogue No. 01 CH37239.</mixed-citation></ref><ref id="scirp.66994-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Marchese, M. (2007) QoS over Heterogeneous Networks. John Wiley &amp; Sons Ltd.  
http://dx.doi.org/10.1002/9780470058763</mixed-citation></ref><ref id="scirp.66994-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Wu, D.P. (2000) Scalable Video Transport over Wireless IP Networks. IEEE.</mixed-citation></ref><ref id="scirp.66994-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Cranley, N. and Davis, M. (2006) Study of the Behaviour of Video Streaming over IEEE 802.11b WLAN Networks. IEEE.</mixed-citation></ref><ref id="scirp.66994-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Ben Ali, R., Pierre, S. and Lemieux, Y. (2004) DiffServ QoS Performance Evaluation of Multimedia Telephony. CCECE 2004-CCGEI 2004, Niagara Falls, Maylmai.</mixed-citation></ref><ref id="scirp.66994-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Taniguchi, S., Kawate, R., Sato, K., Horiuchi, E. and Yokotani, T. (2012) Performance Evaluation of the Simplified WFQ to Multiplex a Huge Number of Queues. IEEE. http://dx.doi.org/10.1109/cqr.2012.6267099</mixed-citation></ref><ref id="scirp.66994-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Balogh, T. and Medvecky, M. (2011) Performance Evaluation of WFQ, WF2Q+ and WRR Queue Scheduling Algorithms. IEEE.</mixed-citation></ref><ref id="scirp.66994-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Dekeris, B., Adomkus, T. and Budnikas, A. (2006) Analysis of QoS Assurance Using Weighted Fair Queueing (WFQ) Scheduling Discipline with Low Latency Queue (LLQ). Information Technology Interfaces ITI, Cavtat.</mixed-citation></ref><ref id="scirp.66994-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Islam, Md.Z. (2012) A Comparative Analysis of Different Real Time Applications over Various Queuing Techniques. IEEE.</mixed-citation></ref><ref id="scirp.66994-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Zoric, S., Kos, M. and Bajric, H. (2011) Fairness of Scheduling Algorithms for Real-Time UMTS Traffic in Case of IP Link Congestion.</mixed-citation></ref><ref id="scirp.66994-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Thorenoor, S.G. (2010) Communication Service Provider’s Choice between OSPF and IS-IS Dynamic Routing Protocols and Implementation Criteria Using OPNET Simulator. Second International Conference on Computer and Network Technology, Bangkok, 23-25 April 2010, 38-42.</mixed-citation></ref></ref-list></back></article>