Minimum Number Of Queues Required For Priority Queue Implementation



If you are implementing a priority queue service, you will need to know how many queues and queues with TOS values are required. The following table shows the minimum number of queues required for each type of network layer (e.g., WAN, LAN/MAN/metro).

Number of priority queues

There are two factors that determine the number of priority queues required for a Priority Queue implementation:

  • The number of flows, and
  • The traffic mix.

Number of priority queues with TOS (type of service) values

The minimum number of queues required for priority queue implementation with TOS values

The minimum number of queues required for priority queue implementation with TOS values and random weights

Number of priority queues with random weights and TOS values

  • In WFQ, each queue has an associated weight and TOS value. The router maintains a separate queue for each TOS value.
  • In WRR, the router maintains one common FIFO queue that serves all traffic; however, it assigns different weights to each flow based on the QoS requirements of those flows.
  • In WRED, there is only one weighted fair queuing (WFQ) algorithm with two additional fields: minimum rate and maximum burst size. You can configure these values depending on your network needs by configuring them in Cisco IOS Software or as part of a class map in Cisco NX-OS Software

Network Layers

  • Physical Layer: The physical layer is the lowest level of the OSI model. It deals with electrical signals, such as voltage and current levels, that are carried by network cables.
  • Data Link Layer: The data link layer is responsible for delivering information between two devices on a local area network (LAN). It helps ensure that packets are delivered error-free by providing flow control and error detection mechanisms like packet sequencing, acknowledgments and retransmissions.* Network Layer: The Network layer controls routing information through an internetwork or intranetwork system; it also determines which device should be contacted when sending data over an internetwork.* Transport Layer: This layer provides end-to-end connection services for applications and upper layers by implementing reliable transmission protocols such as Transmission Control Protocol (TCP) or User Datagram Protocol (UDP).

WANs/LANs/MANs/metro networks

  • LANs are usually the smallest networks, with a few hundred or thousand nodes at most.
  • MANs are larger than LANs, but smaller than WANs.
  • WANs are the largest networks, with thousands of nodes or more.

In conclusion, we can say that the minimum number of queues required for priority queue implementation is three. These three queues should be configured as follows: one priority queue with TOS values (type of service), one priority queue with random weights and TOS values and one non-priority queue with random weights and TOS values. This configuration will ensure that all traffic has equal access to network resources regardless of its type or application.

Answers ( 2 )


    Minimum Number Of Queues Required For Priority Queue Implementation

    As we move into a more digital future, businesses are starting to realize the importance of queueing. Queues can be used to improve customer service, reduce wait times, and even improve product delivery times. But while many businesses are familiar with the concept of queues, they may not be aware of the minimum number of queues that are required for priority queue implementation. In this article, we will explore this and other important details related to queueing.

    What is a Priority Queue?

    A Priority Queue is a data structure used in computer science for managing the ordering of work. The queuing theory behind it can be used in various industrial applications such as manufacturing, service management, and telecommunications.

    Apriority Queue is a priority queue with assured delivery, which guarantees the order of items in the queue regardless of delay or failure. It has been designed to avoid starvation and ensure that all items get processed eventually.

    In an Apriority Queue, items are placed at the front of the queue if they have not already been processed and there are no pending requests for those items. If an item has already been processed, it’s placed at the back of the queue. The back of the queue is called the tail. The size of the queue is equal to or larger than its max-capacity. The capacity is also referred to as its maximum load factor or Qmaximum . Aqueue always employs a least-recently-used algorithm to place items into the queue (assuming there are no empty slots).

    Why Is Priority Queue Important?

    The primary reason for implementing a priority queue is to provide a mechanism for ensuring that high-priority messages are given the appropriate level of attention. When a message is placed in the priority queue, it becomes the top-most item on the queue. Messages that are waiting on the priority queue can then be processed in order, based on their relative importance.

    This method of processing allows messages to be handled more quickly, as they can be processed without having to wait for other messages to finish processing. Additionally, it can help ensure that critical tasks are completed as soon as possible. Priority queues can also be used to control resource usage, by limiting the amount of work that is done in parallel.

    How Do We Implement A Priority Queue?

    Priority queues are a popular data structure for managing resource contention in distributed systems. In this blog post, we will discuss the minimum number of queues required for a priority queue implementation.

    A priority queue is a data structure that allows elements to be stored in order of their priority. Elements are inserted into the priority queue using an insert() operation, and removed from the queue using a remove() operation. The priority of an element is defined by its position in the queue, with higher-priority elements at the front of the queue and lower-priority elements at the back of the queue.

    There are a few important properties that must be satisfied for a priority queue to be useful:
    1) The maximum size of thequeue should be less than or equal to the total number of processors available on node A.
    2) The maximum size of thequeue should be smaller than or equal to Mbs + N where Mbs is the maximal sizeof an element in bytes and N is the numberof threads executing on node A.
    3) The time required to add anelement to thequeue and remove it fromthequeue should be O(1).
    4) There should not be any starvation

    What Are The Requirements For Priority Queue Implementation?

    Priority queueing is a data management technique used to improve the distribution of work throughout a system. It is implemented by assigning work to individual tasks or processes in a sequence, with the task with the highest priority receiving the first assignment. When all tasks assigned to a process have completed, that process can move on to the next task in its sequence.

    There are several requirements for a Priority Queue implementation:

    -The queue must be able to handle at least twice the average number of tasks queued at any given time.
    -Each task must have an associated identifier, which is used to identify it and track its progress.
    -The queue must be able to maintain track of which tasks have been completed and which ones are still waiting.


    Although implementing a priority queue can be an effective way to manage and streamline your processes, it is important to ensure that the minimum number of queues required are in place. Too many queues can cause confusion, delay, and ultimately undermine the efficacy of your priority queue system. Make sure that you have a solid understanding of what queuing theory tells us about how people interact with each other, as this knowledge will help you determine the right number of queues for your business.


    When it comes to implementing a priority queue, one of the most important considerations is determining the minimum number of queues required. This can be a challenging task, as there are several factors that come into play, such as the size and complexity of the data set being processed, as well as the specific requirements of the application.

    One approach that many developers take is to start with a single queue and then add additional queues as needed based on performance metrics. However, this can be an inefficient approach that can result in poor performance or even system crashes if not properly managed. Instead, it’s important to carefully analyze your data set and determine how many queues will be necessary from the outset.

    Another factor to consider when determining the minimum number of queues required for priority queue implementation is whether or not you need to support concurrent access by multiple threads or processes.

Leave an answer