Tools for the Analysis of Queues (butools.queues)

To load this package, either start the BuToolsInit script, or execute

addpath('butools/queues') in Matlab,
<<BuTools`Queues` in Mathematica,
from butools.queues import * in Python/Numpy.

Type of queues supported by BuTools

The BuTools queues package supports the efficient analysis of queueing models that are driven by some Markovian structures.

The supported queues can be classified to two groups:

  • Discrete queues, where the jobs waiting in the queue are discrete. In most of the supported queueing models the inter-arrival and the service times are either given by Markovian arrival processes or PH distributions. BuTools has a relatively large set of tools to obtain, transform and analyze MAPs and PH distributions. Several performance measures of these queues are also PH distributed, which is the main motivation to restrict the focus of BuTools on these queues.
  • In continuous queues the jobs are intinifesimally small, they are considered to be fluid drops. The rate at which fluid drops arrive and are being served are modulated by Markov chains. Again, several performance measures are PH distributed, thus these queues have their well deserved places in BuTools as well.

Performance measures

Currently, the functions in the queues package calculate two performance measures:

  • Number of customers in the system. By our definition, the jobs in the server and in the waiting room are all included.
  • Sojourn time distribution. The sojourn time of the jobs, including the waiting time in the waiting room and the service time. This quantity is also called “system time” or “response time”.

Functions for discrete queues

QBDQueue Returns various performance measures of a continuous time QBD queue.
MAPMAP1 Returns various performance measures of a continuous time MAP/MAP/1 queue.
MMAPPH1FCFS Returns various performance measures of a continuous time multi-class MMAP[K]/PH[K]/1 first-come-first-served queue.
MMAPPH1PRPR Returns various performance measures of a continuous time multi-class MMAP[K]/PH[K]/1 preemptive resume priority queue.
MMAPPH1NPPR Returns various performance measures of a continuous time multi-class MMAP[K]/PH[K]/1 non-preemptive priority queue.

Functions for continuous queues

FluidQueue Returns various performance measures of a fluid queue.
FluFluQueue Returns various performance measures of a fluid queue, where the input and output processes are independent.