We are told that the wait time for some forms of assisted-living or low-income housing is many years. We are given wait times for surgeries, diagnostic procedures, even getting an X Ray. We line up and wait at the bank, the checkout, the airport security scanner. (The last one is a lot less funny at Pearson airport just now.)
A little knowledge is not a dangerous thing, it is a thing which makes one impatient. I was forced to understand a little about queueing theory as part of a course at work, some time ago. (This is a plug for Joe Major, who taught that class so well I actually internalized some of it.) Queueing theory is critical when the queue can get longer than the system can stand. It is important in networks (message forwarding), operating systems (wait and dispatch queues), complex teleprocessing applications (such as airline reservations). It is also important when mere human beings are waiting for a key service or deliverable.
The basic idea is, if the server slows down toward the average queue arrival rate, the queue size becomes unstable and can grow arbitrarily long. We all know this, eh? The next idea is, if the server can handle the average queue arrival rate, and has a bit extra capacity beyond that, eventually a random glut in the queue should get worked through.
If a teller can do a typical customer transaction in two minutes, and customers arrive one every three minutes, a sudden arrival of ten customers will get worked through in twenty minutes, by which time we will have maybe seven new customers in line. The queue will gradually be whittled down.
Very long queues can result from any of the following:
- Insufficient extra server capacity
- Unstable arrival rates (high kurtosis)
- Bad luck
It is possible that a one-in-a-million event dumps a big queue on a server. That’s what I meant by the third point above.
It is possible that the average arrival rate has little bearing on the most likely arrival rate. One every three minutes could mean, none for an hour, then twenty all at once. I concede that it is difficult to provide server capacity for this arrival rate unless the server does something else during the slack times.
That leaves the first bullet, insufficient server capacity.
I have been in lineups where most of my forward progress was achieved due to those in front of me giving up and going elsewhere. I have a sad, sick, sinking feeling that some of the progress in assisted housing and medical procedure lineups is due to the deaths of those in the line ahead.
Lineups are a total waste of time. Nothing other than annoyance is delivered by waiting. Wait times really bug me because I am pretty sure they are generally caused by insufficient server capacity.
Long-lasting queues with well-established, well-known, very-long wait times are an atrocity. It means the server, and thus the service, is not designed to serve the queue. It is designed to keep a lineup in place.
In some cases a cynic might suspect that bureaucrats allow long queues to ensure that their services are always in demand (look at that lineup!) and thus their jobs always seen as critical. Critical is an apt word; we should be critical of every bureaucrat who runs a service with a very long queue. He’s keeping us in line, maybe waiting for us to die.
This really annoys me, eh?