As I mentioned here, my motherboard died a horrible death two days after its warranty expired. The motherboard was based on the 939 platform for AMD processors, which has been discontinued in favour of the newer AM2 platform. My choice was to either start hunting around eBay for a used (and hopefully still working) 939 motherboard or get a new one based on a different chipset. The problem with getting a new one is that AM2 uses a different processor socket (hence new processor) and DDR2 RAM (hence new RAM as 939 uses DDR). So I’d be replacing a lot of components. Decisions, decisions…

Lately I’m doing a lot of podcasting and screencasting, as well as development. Encoding audio and video is time-consuming and if you’ve got a decent encoder, is one of the few places you’ll benefit from a quad-core processor. So I started doing some research. I’ve been a big fan of AMD for years, but the reality is that the Phenom quad-core has had some problems such as the TLB bug (fixed in the B3 stepping), higher TDW than the Core 2 (125W vs. 95W), and mediocre performance compared to the Q6600. The Core 2 platform has been out for awhile, it’s stable, and has excellent performance. Since I had to buy a new processor and RAM as well as motherboard, I decided that a Core 2 quad was the way to go…

It was time to do my homework. My primary starting point was Jeff Atwood’s (aka Coding Horror) Building a PC series where he builds the Ultimate Developer Rig for Scott Hanselman – hence the title of this blogpost. With some initial ideas, I started looking for more information at Tom’s Hardware and AnandTech. (I’ve been a fan of Tom’s Hardware for years – ever since Thomas Pabst, the founder, was running the site as a hobby while interning as a physician.) One of my goals was to re-use as many of the components as I had. Here is what I ended up with:

  Scott’s My Old My New
Case Antec P182 Antec Sonata II Antec Sonata II
PSU Corsair 520HX SilverStone Strider 750W SilverStone Strider 750W
Mobo MSI P6N SLI Platinum Gigabyte K8N Ultra-SLI MSI P7N SLI Platinum
Memory 2 x Kingston ValueRAM 2GB 2 x Corsair 2GB (DDR) 2 x Patriot 4GB (DDR2)
CPU Intel Core 2 Quad Q6600 AMD Athlon X2 4800+ Intel Core 2 Quad Q9450
CPU cooler Scythe Mine Stock Zalman CNPS9700NT
Video 2x GeForce 8600GTS GeForce 7900GS GeForce 8800GTS
HDD 1 x 150GB 10,000rpm Western Digital
1 x 500GB 7200rpm Seagate
4 x 320GB 7200rpm Seagate 4 x 320GB 7200rpm Seagate
DVD 20X DVD+/-R Burner 16X DVD+/-R Burner 16X DVD+/-R Burner

* I’m linking to Memory Express, an awesome computer parts store here in Calgary. They also have a location in Edmonton with another one opening in Winnipeg soon. They’ll ship anywhere anywhere in Canada, though they cannot ship outside Canada unfortunately.

I’m not going to bother with prices as those change so quickly. I ended up replacing mobo, CPU, cooler, RAM, and graphics card for about $1000. Let’s examine the parts and my reasoning for each…

Case

My Antec Sonata II case has been serviceable and I didn’t have any major complaints. Overall I’ve been very pleased with Antec cases. If I had to buy one right now, I’d buy the P182 (same as Scott’s) or the Nine Hundred Ultimate. Neither come with power supplies, but you’re better off buying a separate power supply than using the stock supply that comes with a case like the Sonata III. I replaced my stock supply when I put in a RAID array awhile ago as the stock supply would have been dangerously close to its limit with the 4 hard drives plus other components.

PSU

I’m running a SilverStone Strider 750W and highly recommend it. Previously I was running a SilverStone Zeus, but had to replace it under warranty a year ago. I bought a Strider so that I had a spare PSU while waiting for the Zeus to return. I’ve got the Zeus sitting in my closet as a spare because I prefer the Strider. My favourite feature… detachable cables. You only attach the cables that you need, which dramatically reduces cable clutter in your case.

HDD/DVD

I know that Jeff Atwood swears by 10,000rpm drives for your boot partition. I’m running 4 x 7200rpm drives in a RAID 0+1, which provides stripping and mirroring. Stripping for increased performance. Mirroring for data integrity. I considered running RAID 5 for awhile, but everything I’ve read indicates that the parity calculations kill performance. The advantage of RAID 5 is that you get more usable space. Maybe I’ll try a 10,000rpm boot drive at some point, but for the time being, I’ll stick with my RAID 0+1 array.

As for DVD, get yourself a good burner that does DVD+R, DVD-R, and any other format you care about. Not much to say here as you can get a decent 16x or 20x DVD+/-R for $25 to $50. You likely won’t see much difference between 16x and 20x drives as they only reach full speed at the outer edge of the disk. (CDs and DVDs are written in a continuous spiral from inner hub to outer edge.)

Moboimage

Gigabyte is a good name in motherboards, but I’ve never been terribly happy with the K8N – aside from it dying 2 days after warranty. Lots of minor annoyances such as a non-standard 1394 connector so I couldn’t use the front Firewire connection, SATA connectors that prevent newer (and longer) graphics cards from being installed, poor memory timings when using 4GB rather than 2GB of RAM, and a nForce4 bug that caused awful static for my Creative Xi-Fi audio card, though some of those deficiencies can be attributed to chipset limitations.

So it was time to figure out which new mobo to choose. First choice was the basic platform, not manufacturer. When choosing a motherboard, choose a chipset to match your processor, memory, and graphics card requirements, then choose a manufacturer that makes a motherboard with the desired extras, such as built-in high def audio, eSATA ports, extra SATA connectors, RAID levels, etc.

X38 and X48 boards are getting good reviews and have nice features, but they’re currently only available with CrossFire – ATI’s SLI technology. This isn’t a huge deal if you’re only running one NVidia video card, which I am, but it doesn’t leave a lot of options for the future. Plus X38/X48 boards are stupidly expensive. If you want a board capable of handling multiple NVidia cards, I would recommend a nForce-based board. (I was a bit worried given my experiences with the K8N, which uses nForce4.)

The MSI P6N, which Scott has, is based on the nForce 650i chipset. I decided on the MSI P7N SLI Platinum, which is an updated version of Scott’s board and based on the nForce 750i. It has a nice range of features and the extra cost of the nForce 780i boards didn’t seem worth it. (The 780i can handle faster RAM and has better PCIe speeds in SLI mode.) Reviewers had positive things to say about the MSI P7N SLI in terms of features, overclockability, and stability.

Memoryimage

I loaded the system up with 8GB of RAM. Why? Because the motherboard supports it, I’m running Vista x64, and you can never have enough memory. Most importantly, it was dirt cheap. $180 for 8GB of DDR2-800 RAM!

I decided to go with DDR2 rather than DDR3. DDR3 is much more expensive (8GB would have cost upwards of $650) and the performance difference is negligible. (Read AnandTech’s DDR3 vs. DDR2 and Tom’s Ultimate RAM Speed Tests.) DDR3 is the future, but from what I’ve read, you don’t see a difference until you get DDR3 clocked at 1.8GHz, which is just becoming available. (The DDR3 above for $650 was for 1333MHz sticks.) Additionally, motherboards capable of supporting DDR3 are more expensive. So you’re paying more for your mobo and more for your RAM without seeing any real performance difference – usually in the neighbourhood of 1-3%.

What is the downside of DDR2? Everyone is going DDR3. So when you want to move up, you have to replace your mobo and RAM. The upside… By the time we’re seeing real differences between DDR2 and DDR3, prices will have dropped for DDR3 RAM and mobos such that the money you saved by buying DDR2 will more than pay for the upgrade, IMHO.

Once I chose DDR2, the next choice was manufacturer and speed. DDR2-1066 or DDR2-1200 is more expensive than DDR2-800 (aka PC6400) and once again doesn’t offer significant performance advantages. I was also warned of stability problems with the higher frequencies even with good RAM and a quality mobo. Getting good quality DDR2-800 with good timings gives you better stability and more overclocking headroom. Patriot got good scores on overclocking. Also noted in Tom’s Ultimate RAM Speed Tests is that you’re better going with high quality DDR2-800 or DDR2-1066 RAM with good timings rather than DDR2-1200 or DDR3 with average timings. So I chose two sets of Patriot Extreme Performance DDR2 4GB (2 x 2GB) PC2-6400 Enhanced Latency Dual Channel Kit, which run at 800MHz stock with 5-5-5-12 timings.

CPUimage

The Intel Core 2 chip is a well-engineered piece of hardware. Quad-core Core 2’s routinely out-perform quad-core Phenoms. The top-of-the-line Phenom – the 9600 Black Edition – when overclocked to 2.7 GHz is still marginally slower than a stock Intel Core 2 Q6600. At stock speeds, Q6600 beats the Phenom 9600 by over 13% on average. Yes, there are certain benchmarks where the Phenom does better, but overall, the winner is the Q6600. In most audio and video encoding benchmarks at stock speeds, the Q6600 is the clear winner.

Now Q9450 vs. Q6600… The Q6600 is an excellent chip as you can see from the benchmarks above. It runs at 2.4 GHz, has 2x4MB of cache, and currently costs about $240 CAD. The Q9450 runs at 2.66 GHz, has 12 MB of cache, and currently costs about $380 CAD. You can always overclock the Q6600, but you’ll never increase the cache size. Since trips to main memory are often a bottleneck, more cache seems like a good idea. I wasn’t able to find any benchmarks comparing the Q9450 vs. Q6600, but $140 for the extra stock speed and cache seemed like a reasonable thing to do.

CPU Coolerimage

I know that Jeff Atwood swears by Scythe coolers. After reading a few reviews, especially this Scythe Infinity review at AnandTech, I wasn’t wild about the coolers. The deal breaker for me was this quote from the AnandTech review:

Installation is very easy after the mounting plate is installed. The 775 mount uses push pins – just like the Intel retail design. However easy the mount is, the fact that the Infinity weighs right at 2.2 lbs, or a kilogram, gives reason for pause. It is very uncomfortable having so much weight held by just those pop clips.

A kilogram of metal held by pop clips? I checked the data sheet for the Infinity and it is listed as 960 grams – just shy of a kilogram. The Sonata II is a tower case, which means the motherboard is on end and the full weight of the cooler would be held by the pop clips. This just makes me nervous. If the clips gave way (or I didn’t install the cooler properly), I would have a big hunk of metal falling onto my graphics card. The sudden loss of cooling would likely have dire repercussions on my Q9450 too!

Tom’s New Reference System is equipped with a Zalman CNPS9700 cooler. This seemed like a solid cooler with good marks. Take a look at the AnandTech Infinity review where the Zalman CNPS9700 ranks near the top both at idle and under load. You’ll also note that aftermarket coolers are much better than the stock cooler that comes with your processor. Do your research though as some Zalman coolers, such as the CNPS8700LED are not recommended. A good place to start is Tom’s Hardware CPU Cooler Charts 2008, Part 1, Part 2, and Part 3.

The biggest complaint from reviewers regarding the Zalman 9700 was the installation. You have to remove your mobo to secure the cooler. I was replacing the mobo anyway. So this wasn’t a concern and I liked the idea of a secure mounting system for such a crucial component that meant the life or heat death of my processor. No surprise – I opted for the Zalman CNPS9700NT.

Videoimage

The perennial question… NVidia or ATI… NVidia’s GeForce cards are winning most benchmarks, but the ATI Radeon 3870 supports DirectX 10.1. Given that most software barely supports DirectX 10, 10.1 support wasn’t high on my must-have list. I’ve been using GeForce boards for years and they generally have good driver stability. (ATI is historically known for problematic drivers – especially with newer cards. This may have changed in recent years.) I wanted a card with dual DVI out to run my two Acer x243w monitors. (Great monitors. Highly recommended.) The GeForce 8800GTS fit the bill.

If you’re in the market for a new video card, compare the GeForce 8800GT and GeForce 8800GTS. The main difference between the two is that the GT has 112 while the GTS has 128 universal shaders. The GTS is a dual-slot card, which flows air from outside the case, resulting in a cooler case. You won’t see much difference between the two cards in benchmarks and both are good buys. I chose the 8800GTS because the sale price was virtually the same as the 8800GT. And whenever I’m looking for a new card, my first stop is Tom’s Hardware Best Graphics Cards for the Money. Look for the latest edition to see what is your best bang for the buck.

Conclusion

One of the key advantages of building your own developer rig is the ease of replacing or upgrading parts. You learn a lot about computer hardware, which I believe is valuable for any developer. It doesn’t take a rocket scientist to build a computer. Just some research and asking around. I don’t consider myself in the same league as Jeff Atwood when it comes to building PCs, but I still find it enjoyable and rewarding to build out my own systems.

How hard is it to build a PC? Ask my wife. The first time I did it, I spent hours swearing and fiddling with parts. (I had built systems a decade previous, but connectors, cases, mobos, and everything else had changed dramatically. Plus I was out of practice.) It was a learning experience. The second one that I built, I had it assembled in less than an hour. This latest upgrade, which was sizable because I was replacing the mobo, took around 30 to 45 minutes. Most upgrades can be done in much less time. It’s not as hard as you might think.

The end result of my mobo upgrade (with corresponding CPU and RAM upgrades) was going from this:

image

to this:

image

The speed boost over the old system is noticeable. (I haven’t overclocked the system, though it is amenable to it. I’ll get around to some light tweaking eventually.) I can encode a half-hour episode of Plumbers @ Work using the Lame encoder in under 7 minutes. (As I recall, it used to take around 15 minutes to encode or about half the length of the audio.) Encoding screencasts is also much faster, though I haven’t timed it. (The old system would take roughly twice as much time as the video length for encoding. So a 10 minute screencast would take 20 minutes to encode. The new system takes about as much time to encode as the length of the video.) More importantly, the system remains responsive and usable even when encoding audio or video. I can simultaneously encode a screencast, compile in Visual Studio 2008, listen to music (without skips), and check my email without a hiccup. Multitasking at its best. I’m a happy developer. Do yourself a favour and consider building your own Ultimate Developer Rig.