Building the Perfect Box: How To Design Your Linux Workstation
We just got through with a lengthy explanation of why processor speed isn't that important. But nobody is going to buy a 386/25 (or even 386/50) at this point; if nothing else, you want to get a newer motherboard so you can put this week's flavor of RAM module on it. And who knows? Maybe you will end up doing real-time 3D graphics or nuclear-explosion modeling or one of the handful of applications that can really strain your processor.
So for all you processor-speed junkies out there who want to be able to wave around megahertz figures like gearheads bragging abut the compression ratios in their hot-rods, here's a simple rule:
Do buy one or two levels lower than commercial state of the art.
As of December 1996, if you look at a typical clone-maker's advertisement, you'll see that the top three systems are a Pentium Pro, a Pentium 166 and a Pentium 133. The rule of thumb tells us to skip the Pentium Pro, consider the Pentium 166, and look seriously at the 133.
Why? Because of the way manufacturers' price-performance curves are shaped. The top-of-line system is generally boob bait for corporate executives and other people with more money than sense. Chances are the system design is new and untried—if you're at the wrong point in the technology cycle, the chip may even be a pre-production sample, or an early production step with undiscovered bugs, like the infamous Pentium FDIV problem. You don't need such troubles. Better to go with a chip/motherboard combination that's been out for a while and is well known. It's not like you need the extra speed, after all.
Besides, if you buy one of these gold-plated systems, you're only going to kick yourself three months later when the price plunges by 30%. Further down the product line there's been more real competition, and the manufacturer's margins are already squeezed. There's less room for prices to fall, so you won't watch your new toy lose street value so fast. Its price will still drop, but it won't plummet sickeningly.
Again, bear in mind that the cheapest processor you can buy new today is plenty fast enough for Linux. So if dropping back to a Pentium 90 or 75 will bring you in under budget, you can do it with no regrets.
At December 1996 prices, there's really no reason to consider buying less than a 1-gigabyte disk. This is a convenient size, because “install everything” on most Linux distributions will lay out more than 540MB, but less than 1GB of stuff.
If you can afford 2GB, the natural thing to think about is buying a 2GB disk instead. But personally, I like a configuration with two 1GB disks better—one “system” disk and one “home” disk. There are several good reasons for this kind of setup. Most of them come down to the fact that you are quite a bit less likely to trash two disks at once than you are to trash a single one.
A lot of us do Linux upgrades every three months or so. Wouldn't it give you a warm, comforting feeling during your next one to be able to dismount your “home” disk in advance and know that there's no way the upgrade can possibly step on your personal files?
Or let's suppose you have a fatal disk crash. If you have only one disk, goodbye Charlie. If you have two, maybe the crashed one was your system disk, in which case you can buy another and mess around with a new Linux installation knowing your personal files are safe (see above). Or maybe it was your home disk; in that case, you can still run and do recovery stuff and basic Net communications until you can buy another home disk and restore it from backups (you did keep backups, right?).
You can even tune your disk configuration for performance this way. SCSI controllers can interleave requests to different disks, so your swapper and other system daemons will be able to use scratch files on the system disk at the same time your applications are using files on the home disk. Thus, you may find you actually get faster throughput with two smaller disks than one big one.
To get the most leverage from this effect, choose your system disk for access speed and your home disk for capacity. In December 96 I would ideally choose a 1GB fast system disk and a 2GB home disk.
First, buy your monitor. We won't go into detail about this here because the issues aren't at all specific to Linux—you can find good guidance in any DOS-related buyer's guide. There's not a whole lot of price variance among functionally equivalent monitors, since it's a mature commodity technology, so the basic question is, “how many square inches of screen can you afford?”
This is one of the areas where pinching pennies is not a good idea. You're going to be looking at your monitor for hours on end, and using the screen real estate constantly. Buy the best quality, largest screen you possibly can—it will be worth it. I personally shelled out $2,000 for a 21-inch monitor in January 1996. Though I have no regular income and this represented a significant portion of my bank account, I have never regretted it.
The reasons not to pinch pennies are also reasons why you should actually see the monitor you're contemplating before you buy it. A factory flaw like serious edge mis-convergence or a tilted yoke is not a happy thing to discover just after you've cut a check.
You may want to consider looking for a repaired or reconditioned monitor with a warranty. These are often as good as new and much cheaper.
Next, buy your card. The major issue here is matching the card to the capacity of your monitor—you don't want to pay for more card than your screen can use, and you don't want to buy too cheap a card and find it can't drive your monitor at its maximum capability.
So once you've specified your monitor, find a video card with a maximum video bandwidth equal to or just slightly higher than the monitor's. That way you know your video system is properly balanced with a minimum of wasted capacity.
There is a fair amount of price variance among equivalent video cards, so shop aggressively here. If you're on a budget, one easy thing to trade away is bit depth. Manufacturers like to include 16- and 24-bit “photographic” color as sizzle in their advertisements, but unless you're doing something like specialty photocomposition work or medical graphics, you'll never use more than 256. So you can settle for 8-bit color.
The days when XFree86 seriously constrained your choice of video card are long past. Just about anything you can buy in a clone system should work fine these days. If you're in doubt about whether the card is supported, surf over to http://www.xfree86.org/ and check out their compatibility list.
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- RSS Feeds
- Introduction to MapReduce with Hadoop on Linux
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?