[vox-tech] Re: [vox] Choosing hardware for Linux

Rick Moen vox-tech@lists.lugod.org
Wed, 11 Dec 2002 15:25:52 -0800


[Moved to vox-tech.]

Quoting Ohana (ohanaloa@frys.com):

Hey, I'm flattered, and I hope other people _do_ jump in.  

My own knowledge of current PC hardware is a little out of date (which
fortunately I'll readily admit to), but I think the general principles I
mentioned are sound.

You'll find people who hold very strong views on this subject:  There's
a whole crowd of people who are out to convince everyone that there's no
point in SCSI equipment any more, for example.  I don't debate those
folk.  (There's nothing wrong with a personal workstation with two IDE
hard drives, carefully arranged so that each hard drive is on a
different IDE channel.  There are some minor disadvantages, but you also
save some money.)

In the same sense, there are IDE RAID devotees, USB devotees, parallel-port
ZIP drive / tape drive / CDRW-drive devotees, and so on.  And there are the
3D gamers, who will try to convince you that the only accepable video
card is the latest NVIDIA.  (It usually turns out that they use 3D only
on MS-Windows games.)  So, because of all the hardware-boosterism, it's
difficult to get on-line hardware advice that _is_ worth the $0.00 that
you pay for it.  It may be worth less -- if only because it encourages
unbalanced system design.

Relevant to that, one other general principle I can recommend: systems
thinking, AKA the law of diminishing returns, AKA building a balanced
system, AKA watching out for performance bottlenecks.

What I mean is that lavishing an extra $100 on a better component in one
area (e.g., faster CPU) doesn't necessarily buy you $100 worth of
improvement in overall system performance.  The effective improvement
could be $0.50, if system performance is heavily bottlenecked somewhere
else, e.g., shortage of RAM, video performance, or hard disk throughput.

The classic error of an MS-Windows person coming to Linux is to
attribute much greater importance to a fast CPU than it _usually_ has in
Linux.  Linux is very light on CPU usage, relatively speaking, and, for
some server-type machine roles, e.g., a mail server, DNS nameserver, or
router that does only that one thing, even an antique 386SX/16 might be 
all you need.  As a workstation, my AMD K6/233 with 384 MB of SDRAM is
fast enough that you wouldn't really even appreciate the improvement of
a faster CPU.  

(I should hasten to add that where a system is bottleneck depends on
what it's being used for:  If you do very CPU-intensive tasks on Linux,
then you need a very fast CPU.)

MS-Windows people usually also think much more RAM is necessary than
generally is on Linux -- but, on the other hand, RAM is really cheap,
these days, so I wouldn't worry too much about this.  Having _fast_ RAM
that runs at a local RAM bus (aka front-side bus) speed of 100 MHz or
133 MHz is worthwhile -- but is probably pretty common, these days.  A
couple of years back, most RAM operated at a slow 66 MHz -- a
bottleneck.

MS-Windows folk also tend to put too little attention into the hard disk
subsystem.  The slowest thing hard drives do is called "seeking" --
moving the heads between tracks.  The easiest way to minimise seeking is
to have more than one hard drive ("multiple spindles", in the jargon),
thereby splitting seeking activity between the drives.  (Make sure you
have Linux swap partitions on all drives.)  Two drives is reasonable,
giving you some of the multiple-drives benefit without too much noise
and heat.

The second-most-slow thing hard drives do is rotate the platters to
bring a piece of data around to the magnetic read heads.  The waiting
time for this is called "rotational latency", which is the second most 
important drive spec, next to seek time.  The way to get lower
rotational latency is to spin the drive faster.  Thus, old, slow hard
drives spin at 3600 RPM.  Newer ones are 5400, 7200, or 10000 (aka
"10k") RPM.  A pair of 10kRPM drives is thus an excellent way of keeping
both average seek times and rotational latency to a minimum.

The fly in the ointment is that fast-spinning drives tend to be noiser
and generate more heat.  Noisy machines can be really bothersome to be
around, and heat is the biggest enemy of parts longevity.  The more
sources of sigificant heat you have in your system, the better its
ventilation and radiation of heat must be.  Thus, my K6/233 is in a big
tower case that I hide under a table, standing vertically, and has a
high-quality PC Power & Cooling TurboCool power supply, which helps the
case's cooling.

Since you are making a _little_ box, that approach might not work
for you.  But at least you can be aware of the issues.

Speaking of power supplies, most PC cases come with really terrible
ones.  I typically take that one out, and replace it with a PC Power &
Cooling one.  Why?  Two reason:  One is better cooling.  The other is 
that cheap power supplies, when they fail, not only destroy themselves
but also tend to destroy components attached to them, especially hard
drives.  A PCP&C power-supply unit costs about $100, and I just budget for
that rather than spend it elsewhere.

One last thing:  These days, it's _really_ difficult to assemble a
machine from components economically.  The system-assemblers get _big_
economies of scale, such that preassembled systems' pricing is really
hard to come close to.  So, please do shop preassembled systems, too.

I hope this is of further help, for you.

-- 
Cheers,
Rick Moen                      "vi is my shepherd; I shall not font."
rick@linuxmafia.com                               -- Psalm 0.1 beta