What Has 1.1 Terabytes, 9,503 BogoMips and Flies?
We've been doing “building the Ultimate Linux Box” articles in LJ since 1996. In that time, we have seen Linux scale to IBM mainframes, 32-way ccNUMA boxes and other exotic hardware. As much as we'd like to explain how to build them, most of us aren't going to have the space, power or budget for a 32-processor system that we can tear down whenever we want to put in another sound card.
So our Ultimate Linux Box is more of an ultimate Linux workstation or an ultimate Linux small server—big enough to be faster than you need for most uses and small enough to be practical in an office or home environment.
The first question, of course, is whether to buy or build your machine. On the one hand, you can do things for your hand-built system that a mass-market PC manufacturer probably won't:
Pick the very best case for the exact hardware you want to run, your work environment, your aesthetic sensibilities and your desire to work inside easily.
Use a top-quality power supply and quiet, ball-bearing fans.
For non-ultimate systems, you can put a really good SCSI card, SCSI drives and Ethernet card on what is otherwise a low-end desktop machine. This type of configuration will work well for most Linux developer workstations and small server tasks, but mass-market vendors won't usually build them because they don't appeal to people who buy systems by comparing CPU clock speeds and prices.
Leave off the parts that will end up gathering dust: your keyboards and mice will last several generations of hardware, and you probably already have a box with a CD burner.
On the other hand, there are two things that a mass-market PC manufacturer can provide that you probably won't:
Professional thermal and acoustic engineering. Your homebrew system will likely end up with more fans, a bigger case and a bigger power supply than a mass-market system with similar performance numbers. This doesn't necessarily have to translate into more noise, if you're careful.
Relationships with hardware vendors who don't respect you. One of the big differences between our box and the Hewlett-Packard x4000 we reviewed in the LJ June 2002 issue is that we're using an ATI video card, and HP uses NVIDIA.
But if you're working with interesting new versions of core software, such as the kernel and X, you might not find much help from the traditional Linux channels for proprietary modules. At USENIX this year, Linus Torvalds said, “They may work, but you're not getting the full advantage of Linux.” The only case when you could possibly accept a non-Linux kernel module is when you're not doing any “Linux-y” stuff with the box—if you treat it like just another PC and don't recompile the kernel or hack anything whatsoever. Oh, and if you completely trust your hardware vendor.
The intermediate route, which is ordering your system from a low-volume or custom shop serving the Linux market, is worth considering if you want to save shopping and building time, as well as get good advice on Linux-friendly parts. Linux hardware vendors are an informal, peer-to-peer reputation system for selecting good parts, and this works surprisingly well. You can go to the web sites of the good ones, see complete lists of every piece of hardware that will go into your system and get a no-hassle warranty on the complete box.
For this year's Ultimate Linux Box, we started with a base configuration of the Glacier Dual Xeon workstation from Aspen Systems Inc. in Colorado, and here's why. Think of the Ultimate Linux Box as a Beowulf node, one with good graphics and sound and a lot of reliable storage, in a tower case.
Companies that build Beowulf clusters are good places to look for the fastest processors and motherboards and the most reliable memory, because cluster users are picky about such things.