Operational Analysis - Abandoned
Created | Updated Jan 29, 2002
This entry has been abandoned, as I no longer study computer science, and hence have no desire to finish the entry. Perhaps some other researcher will turn this entry into a finished product, but that researcher isn't me!
Operational Analysis is the practice of working out what's going on in a system by looking at it. This may not sound very radical, but it's quite a break from most methods of Systems Modelling. Whereas simulation requires deep knowledge of how the system works, and queueing theory requires knowledge of the probability distributions of the various processes, operational analysis simply requires that the system be observed for some period of time.
What to Observe
The fundamental properties that can be observed include:
- The length of time we observe the system.
- The number of arrivals observed in this time.
- The number of departures observed in this time.
- The Job-Time Product: The sum of the amounts of time spent by each customer in the system.
- If there is just a single resource, the amount of time that the resource was busy.
Other Quantities
From these observed properties, other properties can be calculated, including:
- The arrival rate, calculated as the number of arrivals, divided by the observation time.
- The throughput, calculated as the number of departures, divided by the observation time.
- The average number of customers in the system, calculated as the job-time product, divided by the observation time.
- The average residence time, calculated as the job-time product, dicided by the number of departures.
- The utilisation, calculated as the busy time divided by the observation time.
- The average service requirement, calculated as the busy time, divided by the number of departures.
The Laws
Given all the quantities measured above, it's possible to pin down some hard and fast rules that all systems must obey. This sort of universality is very useful, though it does naturally reduce some of the wealth of detail.
The Laws
There are really only two laws which follow immediately from the definitions of the various terms we've observed and defined here - they can be obtained through manipulation of the various quantities, and a little effort.
The utilisation law simply states that the utilisation is always equal to the throughput multiplied by the average service requirement.
Little's Law is equally simple, and the version used in operational analysis states that the average number of customers in the system is equal to the throughput, multiplied by the mean residence time.
Queueing Networks
Sometimes it is possible to break a single system down into a number of components, such that the output of one system is connected to the input of the next system - such systems are referred to as Queueing Networks. With such networks we can measure more stuff, and reason more deeply about the limits on system behaviour, so they are commonly used.
We first extend our measurement of departures, busy time, and service requirement so that they are also measured on a per-component basis. The concept of throughput and utilisation also extended, such that the throughput for a component is the number of departures at that component, divided by the observation time, while utilisation of a component is the busy time for that component, divided by the observation time..
The Visit Count is a new quantity, which is defined as the number of completions at a component, divided by the total number of completion for the entire system. Intuitively, this is the average number of times each customer visits this component.
We can also calculate another new quantity called the Service Demand as the service requirement, multiplied by the visit count. This indicates how much total load each customer places on a component.
Laws for Networks
The Forced Flow Law states that the throughput at some component is equal to the throughput of the entire system, multiplied by the visit count of that component.
As well as the standard utilisation law, it can be shown that the ratio of utilisation of two different components is equal to the ratio of their service demands.
waffle about queue sizes
Load Independant Systems
Because of the forced flow law, when the load is high the throughput is determined by the component with the highest utilisation. This component is the bottleneck component (or components).
Some systems are load independant - this means that the visit counts and service demands are independant of the load on the system. In such systems the service demand is constant, and the throughput is limited to one over the largest service demand of any component.
Another limit on the throughput of load independant systems is given by the minimum response time: This can be calculated as the sum of all the service demands on each component. This limits the throughput to be less than the average number of customers in the system, divided by the minimum response time.