This post is intended to be a companion to our queuing software. Only M/M/m queues are available for free on-line. All other cases are available as Excel-based implementations to our clients.
M/M/m queues
Short for Markovian arrivals, Markovian (gaussian) service times, and m resources. For each resource, we need to specify its service time and visit ratio:
- Service time: the time a particular job spends at that resource.
- Visit ratio: the number of times a resource visits that resource. For a 1-cpu-2-disks system, a database query will have a visit ratio of 1.0 for the CPU. For each of the disks, it depends. If the data is distributed equally among the disks, the visit ratios will be 0.5 each (or less, if the data is sometimes found in a cache).
Multi-class queues
An extension of the M/M/m model where all jobs (classes) are not the same. The service times and visit ratios must be specified for each class. There are a few different cases:
- Different priority disciplines to resolve which class gets a resource (first-come-first-served, processor-sharing, constant-delay <aka infinite-server>, priority).
- Open vs. closed classes, i.e., whether the number of customers of each class is fixed or a variable.
Finally, the algorithms to take load-dependent servers into account — situations where the amount of load on a server changes the service time — are also available in spreadsheet form.