Ever faster processors. Why bother?

For those who have been in the computer game for longer than they’d care to admit, the amount of raw processing power currently available to anyone with a few hundred dollars to spend is always a little startling. The personal computer industry was started in the 1970’s, based on processors running at only one (1) MegaHertz (MHz), addressing memory of only a few KiloBytes (KB) of memory.

Now machines running over 1 GigaHertz (GHz — MHz times a thousand) with several hundred MegaBytes (MB — KB times 1024 (2 ^ 10)) of memory are available for much less than a five hundred dollars (humor: $1 times 500). We each sit in front of main-frames of yester-year.

This impressive example of economics of scale is close to reaching it’s limits, however. Not the ability of the hardware technology to continue to grow ever faster — that’s expected for at least another 20 years. Instead, we’ve reached a point where the software, and the users, are generally unable to meaningfully use the increased speed being made available.

There are exceptions to this generalization, of course. Computer applications which are actually “CPU bound” will see improved performance with each additional speed increase from the hardware industry. Applications like 3D video games, Photoshop, games, Lightwave, games, some server applications, and of course games.

For most applications, however, users will not be significantly more productive with the introduction of a processor upgrade. Any machine who’s Central Processing Unit (CPU) runs at 450 MHz or faster is usually already snappy enough. If a budget has been allocated for computer upgrades, more memory, a bigger hard-drive, a video-card upgrade and a bigger monitor would be money much better spent to improve a work environment.

In cases where a CPU upgrade does make sense, it is often advisable to purchase the slowest processor available. There is a huge premium on the very latest, fastest processors — Intel and AMD have to pay for their multi-billion dollar fabrication facilities (fabs) some how. A 2.2 GHz P4 from Intel costs somewhere around $560 US each, while a comparable (in performance) AMD Athlon XP (at 1.67 GHz) costs around $340 US.

Older, slower, but still in production chips, on the other hand, are cheap. An Intel Celeron 700 or an AMD Duron 750, for example, can each be had for less than $35 US. It is impossible to compare processors solely based on the clock frequency — an Athlon XP at 1.67 GHz will be more than three times faster than a Duron 750. But the XP will definitely not be 10 times faster, which is the price ratio between the chips.

There’s another reason why going with the very latest “kit” may not be the smartest move — it’s known as the “bleeding edge”. Modern processors are incredibly complicated devices, constantly pushing the envelope of what is possible. As AMD and Intel race to out-clock each other, mistakes can occur. Every processor which comes off a fab line is individually tested to see if it works correctly; production “yield” is never 100%.

Modern processors now have over 30 million transistors and consume as much power as a low-wattage light-bulb — they’re hot! The faster, and hotter, a processor is running, the greater the chance that it will at some point fail. And they don’t just stop working — usually they slowly start making errors as they work, introducing crashes or, worse, incorrect results. This can be very bad news in some applications, like numerical analysis.

The best way to tell if a processor, or any system component like memory or one of the buses, is unreliable is to exercise it. The client program for the Great Internet Mersenne Prime Search (GIMPS — www.mersenne.org) is a very reliable program for ensuring a system is working correctly. GIMPS runs in the background on a machine, searching for prime numbers, and as a function of how it works, can tell when a system is making mistakes.

The GIMPS client has a “torture test” mode which will perform a series of computationally intensive Fast Fourier Transforms (FFTs) and compare the returned data with known good results. Although it may take a few hours, GIMPS can find problems with machines which other test programs don’t. If GIMPS does find a problem, turning off overclocking (if enabled), or swapping out the memory or processor can often fix the problem.

Hopefully the result of the GIMPS test will be negative (like medical tests, negative is good). But even if it is, it only tells you that your system is currently working correctly — it could start having problems at any time. For this reason running GIMPS regularly, or constantly, is advisable.

As it runs in the background, consuming resources only when other programs aren’t, GIMPS doesn’t impact the usability of a system while at the same time helps ensure it’s stable. There’s also a (very) small chance you’ll find a very large prime number, and go down in history as its discoverer.

Published in the Victoria Business Examiner.