Criteria For Building A Powerful Machine

For Graphics Workstations to Web Servers

circa 1994-2000

Daniel Joseph Pezely


Overview

This is the checklist I give people running free Unix:

The philosophy originated back when I was a CAD consultant in the late 1980's. As components became more of a commodity, the rules grew into what they are today. (For Macintosh fans, some of this might not apply. This is due to the lack of third party suppliers of motherboards. )

If you're just looking for cheap computers to get onto the 'net, none of this applies to you.


Ask yourself: How much is your time worth?

If you are going to be your own consultant, understand what your time is worth in terms of financial expense. It may be cheaper for you to hire a consultant than to dive into this mess.

That said, good luck and remember to have fun with it all.

Consider only what you need for the next six months.

Most likely, the technology and prices will change faster than your needs.

The exceptions to this are at the high-end workstation market and the wanna-be high-end folks. You know who you are: you probably have more RAM in your machines than some file servers' disk capacity.

Look for features you know you'll need within one year.

You probably know you're going to grow with a machine. Make sure you can add elements you know you'll eventually need.

Only get gear that may be upgraded.

Consider the CPU as disposable:

Overclock it, burn it out, and replace it every few months.
(This might not work with newer processor modules. )

Motherboards are the next most disposable items:

Expect to replace it at least yearly.
(DEC/Compaq ALPHA and PowerPC Macintosh use standard boards conforming to the ATX form factor now. )

Get only as fast of CPU as you need for next 3-6 months.

To get anything faster, you are probably paying too much.

If you have a legitimate need for the fastest CPU (for CAD, graphics, simulation, etc) then the choice is made for you.

Get as much RAM as you can afford, at the cost of downgrading the CPU:

Get at least 3-4 times what is recommended for the OS and/or applications you want. (Most people who know about this document are fans of Free, Open Source Unix and/or software developers. As of 1998, this should be 128 MB or more, depending upon whether the machine will be a network slave or a workstation with a windowing system. Add more memory for my fellow Emacs fans. Add more for large scale Java development. )

Get RAM that is merely fast enough:

Today's memory won't work on tomorrow's motherboards efficiently, so why waste the money?Spend the extra cash to get more quantity of memory.

Get a good chassis (case):

Select one that is RF (radio frequency) shielded and easy to work with.

The industrial computing vendors typically include supply lunchbox cases. These are handy for transport since they are basically a minitower case with a large LCD screen built into the side.

Use only PCI devices (was significant in mid-1990's).

Avoid the ISA bus at all costs because it effectively slows down the system bus when activated, unless your motherboard has buffers for each bus.

Use only SCSI disks and controllers:

IDE/EIDE/ATAPI/UDMA, etc, are slow and can't handle contemporary multi-threaded, multi-processing OSs well. After all, these are technologies rooted in MFM and RLL from the mid-1980's.

It is admirable how the IDE engineers have been able to perpetuate the base MFM and RLL specifications from the mid-1980's. Unfortunately, it's still not good enough for high performance workstations or servers. This is because of backwards compatibility. This is an inherently single-threaded technology.

Fortunately, SCSI's original specification offered more to work with in terms of future expansion.

Be careful with non-SCSI disk interfaces:

There are alternatives for certain applications where FireWire or USB may work for you. Then again, we were told to expect that we'd be using Fibre Channel in our workstations by now-- as stated in 1990. Take a wait-and-see approach towards these for talking to primary disks.

For example, it is known that USB can be as much as a 10-15% drain on your CPU; conversely, SCSI controllers have their own processors, thus minimal CPU overhead.

The USB-to-SCSI adaptors should be ok because the USB channel is used for i/o and does not bother the CPU with protocol issues.

Likewise, IEEE 1394/Firewire devices should behave comparable to SCSI-2 since the wire protocol handles scheduling. So Firewire disks with ATA/IDE devices inside should perform well enough for certain tasks. (MiniDV editing with Firewire disks pushes the limit but is ok on Macintosh; MPEG video editing demands SCSI RAID striping; CAD or other 3D work requires current SCSI with RAID striping optional. )

Always get the latest spec of SCSI when buying controllers:

This guarantees compatibility with next few years of disks.

For example, my SCSI-2 Fast+Wide controllers are 1995 vintage and still can handle the latest drives at decent capacity. I think I had to pay an extra $100 for the Wide channel back then, but it was well worth it in the long run.

For personal workstations, UltraSCSI should be fine. For high-end workstations or servers use Ultra2 WIDE (or higher). And heavy-duty servers should use RAID.

Get only slightly more disk space than you need:

You can always add another, larger disk later when the prices fall.

Then use the old (slower) disk as archival, on-line storage.

Plan to get an external SCSI case with lots of room (4 bays minimum)

All peripherals should permit upgrades.

Devices with FLASH memory or at least EE-PROMs are best, followed by ROMs that must be physically swapped.

This is especially important for modems, DSL/ISDN adapters and routers, and IP switches.

Use external components when possible:

For example, use external modems not internal ones for desktop machines. (Consider PCCard/PCMCIA devices to be external for arguments here. )

Get the best monitor:

Be kind to your eyes.

A desktop LCD (such from ViewSonic) is easiest on the eyes for long duration viewing compared to a CRT based monitor. (Still, remember to blink. ) For programming and text writing, they're wonderful. For graphics work, be careful to not get too large of a viewable screen without increasing the resolution; otherwise, you'll notice that the pixels don't bleed/blur enough to make the image `work' for you (i.e., suspension of disbelief, etc).

Get a good keyboard and input device:

Be kind to your fingers, hands, and wrists.

If you taught yourself to type, you probably learned using your fingers on an angle with wrists comfortable. So for you, the ``natural'' keyboards are bad in this case. (I learned this the hard way.)

Get a good chair/desk setup:

Be kind to your back.

The best chair I've found is Herman Miller's Aeron.

The very best thing to do is just sit on a mat on the floor. The point is our bodies aren't meant to sit in one position for hours. By being on the floor changing position ever five minutes like a child playing, you will become more limber.

I've found the Curtis KD1 keyboard tray mounts nicely on an IKEA 20" tall coffee table, making a great desk. The keyboard sits 12 inches from the floor, and the monitor is at perfect viewing height for me (6'1" tall). Though, I had to get creative with the mounting hardware.

See The Chair: Rethinking Culture, Body, and Design by Galen Cranz, PhD; Copyright 1998; W.W. Norton Publishing. ISBN 0-393-04655-9 (On the shelves at large chain bookstores in art & design sections; look for the humorous cover art of a clawfoot chair reaching out.)

In an office, Galen recommends using a tall desk and a stool. Perhaps with a regular desk, you could bring in a wide, sturdy coffee table and pad to effectively raise the floor. Get creative.


With all that said, a question raised earlier must be stated again. How much is your time worth?

It's might not be worth your time to assemble a machine or to deal with potential hardware/software conflicts. That's fine.

At the very least, make sure any machine you do order as a complete system adheres to most of the rules above. This is especially important for selection and capacity sizing of RAM, CPU, and disk.


Copyright 1994-2000 Daniel Joseph Pezely