Module 12 : Queueing Networks: Classification and Basic Concepts

Lecture 3 :Fork-Join Queues and Introduction to Blocking in Queueing Networks

Fork-Join Queue with Synchronizing Queues

A sub-job finishing service at a sibling queue moves to its synchronizing queue and waits there until all the other sub-jobs also finish their service at their respective sibling queues.

When all the sub-jobs finish service at their respective service queues, they are combined and the actual job finally leaves the Fork-Join queue

Note that in this case, the sibling queue’s server is unblocked and can take on a sub-job of the next job entering the Fork-Join queue, if any.

Blocking/Non-Blocking Queues in a Queueing Network

A queue with infinite buffers (i.e. infinite number of waiting positions) would be non-blocking in nature. This is because an arriving job will always be able to enter the queue, even if all its servers are busy. This will not be the case if a queue has finite buffers.

When we were considering single queues, the effect of having a finite buffer was that jobs arriving when the buffers are full had to leave the system without service. This kind of loss may not be a practical option in a queueing network. In such a network, a job trying to move to a finite capacity queue whose buffers are full will be blocked. This blocking may be of different types as considered in the next lecture. It may also be noted that the blocking model used will have an effect on the performance of the system.

Queueing networks are classified as either blocking or non-blocking depending on the capacity (finite or infinite) of the component queues. We summarize this classification below.