That Tightness That You Feel
Hot on the heels of my comment last week that "Web app failures dont take holidays," the United States Census Bureau announced last Wednesday that total business inventories had shrunk to the equivalent of 1.25 months sales: a record low, it appears, and down from 1.4 months just two summers ago.
If a drop from 1.4 to 1.25 doesnt sound like a lot, Ill remind you of the nasty behavior of queuing systems like business supply chains: They tend to explode as the rate of fulfilling pending requests gets dangerously close to the arrival rate of new requests. When that ratio gets down to 1.000... the steady-state length of the waiting line goes hockey-stick.
Dropping a ratio of service rate to demand arrival rate from 1.4 to 1.25 -- or, to put it another way, boosting a ratio of demand to supply from 0.71 to 0.80 -- can grow the average number of pending requests from 2.5 to 4, an increase of 60 percent. The ratio of inventory to sales is not precisely the same thing as the utilization ratio in a simple queue, but tightening of the supply chain threatens similar nonlinear effects.
Unless what? Well, unless the process is managed so that random fluctuations are limited and peak-to-average ratios are kept low. If you drive on freeways with on-ramp meters, you see this principle being applied all the time. By turning the injection of cars into the freeway from a bursty process to one with a steady and predictable rate, the on-ramp meter makes it possible for the system to behave well at something much closer to 100 percent utilization.
Similar math applies to Ethernet (random arrival) versus Token Ring (paced service) networks: Ethernet works better than TR at low utilization ratios, while Token Ring behaves more predictably when nearing theoretical capacity. A server test in eWEEKs labs once seemed to contradict this characterization, but we found on deeper analysis that the servers were acting like on-ramp meters and leveling the traffic flows. QED.
Perhaps this seems far afield from the day-to-day pressures of application development, but theres a reason why Im offering this somewhat abstract view of the battlefield. My point is that simple statistical measures, such as average arrival rates and average servicing times of requests, become much less useful as systems get closer to their breaking points. What might seem like professorial questions, such as whether new requests are highly predictable or Poisson-distributed random, start to make a big difference as utilization gets close to that explosive value of 100.0... percent.
If you want to be the kind of developer whos regarded as a good steward of business processes, and not just a readily outsourced code slinger, this is the kind of contribution you want to be able to make to a requirements definition discussion. Your own situation may vary, of course, and the crucial ratios and processes that make your business work well or work badly may be quite different. With so many business supply chains going into their most critical time of the year, though, this particular example seemed like a good early holiday gift to offer you all.
Have a joyful Thanksgiving weekend, and tell me whats on your wish list at firstname.lastname@example.org.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.