Posts tagged ‘queueing’


Best Buy queueing theory

Single-queue multiple-server is often a pretty optimal way to set up a system; there’s a single potentially large / unending bunch of jobs / customers waiting, and some comparatively small number of servers / staff to take care of them. When a server is free, some job is chosen and the server starts running / serving that job.

When the chosen job / customer is always the one that’s been waiting longest, that’s a FIFO (first-in first-out) queue, known to consumers in the Eastern US as a “line”. It’s easy to implement, sometimes pretty optimal under certain assumptions, and has a sort of “fair” feeling about it.

On the other hand, I have the feeling that when the customer set is highly bimodal, the whole setup might not be entirely optimal in some cases.

For instance, if some of your customers are just buying a 1Gb Ethernet switch (see below) and some Reese’s Peanut Butter Cups using a credit card, and it will take 45-60 seconds, and another set of customers are picking up something that’s being held for them somewhere in the back, and they aren’t quite sure what it is, and want the staff person to explain how to use it, and then want to purchase it using Latvian stock market futures that are actually in their brother-in-law’s name, and that will take 20-90 minutes, then some of those first set of customers are going to end up waiting (in some sense) an unnecessarily long time, waiting for education to complete or a brother-in-law’s marriage certificate to be found in an overcoat pocket.

One could assign a particular server to small jobs, or to small jobs if there are any such waiting, or always let a short job go before a long job if there are any waiting, or unless there’s a large job that’s been waiting more than a certain time, or…

All of these can be implemented in software systems, but most of them are too complicated or unfair-feeling for a Best Buy full of strangers. Allocating one server / staff member / desk to “customer service” (anything involving training, or stock market futures, for instance) and the rest to ordinary purchases is about as complex as it’s practical to implement. They weren’t doing even that at my Best Buy this morning, but then there were only three staff people on registers, and taking one-third of them away from the short-transaction customers might have been bad. Or just no one wanted to bother figuring it out.

Speaking of 1Gb Ethernet switches, I mean, WTF? I know I’m old, but I still think of these as costing thousands (tens of thousands?) of USD, requiring careful tuning, and taking up a significant part of a room (okay, a small room, or at least a rack slot). Now granted that was maybe for one with at least 24 ports and a management interface, but I mean! I can buy one for the price of two large pizzas, and it fits in the palm of my hand? Really? Where are the flying cars then??

A picture of a Netgear 1Gb Ethernet Switch.

That is a picture of a 1Gb Ethernet Switch. Possibly the one that I bought, I forget exactly. Might have been Linksys. Or something.