I thought I'd "document" my new development computer build. I will use this new computer to develop CSE HTML Validator v10
and later. Some people might be interested in what hardware CSE HTML Validator
is developed on, or just interested in the experiences of putting together your own computer. Therefore I thought I'd share my experiences and some photos.
I plan to update this post as new things come to mine or corrections are made.Previous Machine
My previous machine that I used to develop CSE HTML Validator
was no slouch. It was an Intel E8400, Gigabyte GA-P35-DS4 motherboard, 8GB of OCZ Reaper DDR2 RAM running Windows Vista Ultimate x64 in an Antec 900 case. It had dual EVGA 9800GT graphics cards running four monitors, two of which were Dell 2560x1600 (one a Dell 3007WFP and the other a Dell 3007WFP-HC) and another two were Acer P223w's with 1680x1050 resolution. It also had two 64GB SLC Samsung SSDs in RAID 0 for the main OS and application drive. Of course it didn't start with all this hardware as it had been upgraded with different components throughout its life.Overclocking the E8400
I don't mind getting a little extra speed out of a computer as long as it's not a big hassle and the system is stable. I was able to conservatively overclock my previous system at 3.6GHZ (stock is 3.0GHz) and it was extremely stable. The only issue I had was that sometimes, when restarting/rebooting, the motherboard would reset my overclock settings and I would have to go back into the BIOS and re-enable the overclock. I am conservatively overclocking my new system as well, and haven't run into this problem yet.
I could probably push my systems faster, but it's not worth the increased risk and heat. I like to stick with conservative overclocks that keep the voltages at stock levels or very close to it. To test the stability of overclocks, I use the torture test mode of a program called Prime95 (available in 32-bit or 64-bit versions).Why a New Build?
With Windows 7, Intel Core i7 processors having been available for awhile, and DDR3 becoming cheaper and more common, I decided it was time for a major upgrade. I was going to wait until January 2010 but "Black Friday" came along with some good deals so I decided to start buying some parts and ended up having everything except the video cards I originally wanted (which I'll buy later).
I hope to get two or three years development use out of this machine. The main parts are there and probably won't change - motherboard, CPU, CPU cooler, case, RAM and power supply, but other parts may be upgraded through the "development life" of this machine - video cards (definitely plan on upgrading) and storage devices. I will probably add a USB 3.0 controller at some point in the next year or two.Why Build Your Own Machine?
I like to build my own machines because I find it enjoyable. I like picking out the individual components and putting it together. I don't do it because of the cost. It's definitely more expensive for me to build a computer with what I want than to simply buy one off the shelf.
Building my own machine lets me research the parts that I want, choosing high quality and high performance components. My philosophy when building a new development computer is to get a "high end" computer but not the "highest end" where you pay a lot more for a little gain in performance. For example, I chose the i7 920 instead of the expensive 975 and I am planning to buy ATI Radeon 5770 graphics cards instead of the highest end 5800 series cards.
Building your own machine can also be very time consuming. It takes a lot of time to research to pick out the parts and put the system hardware together. If you're fortunate, it works without any major problems, but I've put together systems before that have had serious issues that took days to figure out. Sometimes you may have to get new parts (after you figure out which part is bad!). After the hardware is put together and working, it can take a long time to get the software right too, depending on what you use. If you are upgrading the OS at the same time, then some applications might not work or you might want to switch to other applications or new versions.The PartsCase
For the case, I went with the highly recommended and roomy Cooler Master 932 full tower case. Great decision!Power Supply
For the power supply, I went with a Corsair 750HX professional series power supply. Corsair makes some of the best power supplies and they back this one up with a 7 year warranty. The only downside is that they don't come cheap! My previous development machine used a Corsair HX520 which functioned flawlessly and still continues to do so.Motherboard
For the motherboard, I went with the highly recommended EVGA X58 line of motherboards. Again, I was very pleased. I bought the "132-BL-E758-TR" model. The "-A1" model is suppose to be the same but with a lifetime warranty. NOTE: When you buy these off eBay (even if you buy new), they don't come with any warranty from EVGA! I didn't realize that when I bought it but hopefully it won't matter.CPU
For the processor, I chose the low end of the 900 series - a Core i7 920 due to cost, it being an LGA1366 processor (and the advantages that brings), and reputation for easy overclocking. The LGA1366 support triple channel RAM (and I wanted 12GB) as well as more PCIe lanes which is great for more than one graphics card. Since I want to run 4 monitors, I need two graphics cards. Also, the i7 920 (especially with the D0 stepping) should be "easily" overclockable.CPU Cooler
I didn't want to use the stock Intel cooler because I was planning on overclocking and wanted something better. I was originally going to get a "Xigmatek Dark Knight S1283V Black Nickel CPU Cooler with 120mm Rifle Bearing" but decided to get a "Scythe SCMG-2000 Mugen 2 Intel LGA1366 CPU Cooler Fan" due to the great cooling ability and low noise level. I am glad I made this choice but this CPU cooler was the most difficult CPU cooler I've installed and it almost didn't fit. I also had to install a couple of DDR3 sticks before installing the cooler because it blocked a couple of DDR3 slots. For the thermal compound, I decided to use my tube of Arctic Silver 5 rather than the stuff that came with the Scythe because I know Arctic Silver 5 is good stuff.
NOTE: After buying this cooler, I noticed there was a revision "SCMG-2100". I did a search and this is what someone said: "SCMG-2100 (Rev B) is already Socket 1156 compatible while the older Rev A (-2000) needs an additional mounting kit for Socket 1156 compatibility." So I'll assume there would have been no advantage in my case since I wasn't building a socket 1156 system.RAM
For the RAM, I went with two "Corsair TR3X61600C8 XMS3 6 GB 3 X 2 GB PC3-12800 1600Mhz 240-pin DDR3 Core i7 Memory Kit" for a total of 12GB. This would be 4GB more than my previous system which had 8GB.Video Cards
For the video cards, I used a backup Asus EAH4350 512MB silent low-profile card I already had. I ordered another one so I could have two of these (and use 4 monitors) until I am able to get faster, better cards... but so far I'm quite impressed with the 2D performance of these inexpensive cards (though I did have an issue with blank HDMI output this morning which I may need to resolve).OS & Application Drive
For the OS and application drive, I chose the Intel X25-M 160GB SSD (G2) model SSDSA2MH160G2R5. Intel makes some of the best SSDs. The G2 (second generation) supports TRIM with Windows 7, and that increases speed and efficiency even further. Also, there is a night and day difference between a good SSD and a good hard drive so there was no question I was going to get an SSD for this new build as opposed to a hard drive. Even a VelociRaptor (which, by the way, is used in the htmlvalidator.com server) is significantly slower than a good SSD.Storage Drives
For a "temp drive", I am using a Western Digital 640GB black drive with a 128GB partition as the "T" drive. Because SSD's can wear out and frequent compiling and development of CSE HTML Validator
creates lots of temp files and writing to disk, I like to use a real HD for this to take some of the wear off the expensive SSD. I don't think this affects performance much, especially with advanced caching of files. Even without doing this the SSD would probably last until well after it becomes obsolete, but I still like the idea of reducing the wear on it when easily possible... and it's nice to have a "T" drive to only store temporary stuff.
For the main storage drive, I use a 1TB Western Digital black drive (model WD1001FALS-75J7B0).
For a backup drive, I use a Western Digital 1TB green drive (model WD10EADS-00M2B0). The contents of the 1TB black drive is copied to the 1TB green drive for backup. The 00M2B0 is the newer two platter version of this drive that has higher data densities and only two platters. It's faster and cooler than the previous 3 platter version.DVD Reader/Writer
Just a plain ol' "Samsung Internal Half Height DVD-W Supermulti SATA 22X Lightscribe (Black)" purchased from Amazon.com for about $31. I have no need to read or write Blu-ray discs.Other Components
I'm also using some components I previously had, like a "Logitech Illuminated Ultrathin Keyboard with Backlighting", a Logitech G5 laser mouse, and Microsoft LifeCam 5000. In addition I had some handy eSATA and USB drive docks. I highly recommend these drive docks for techies. I'm also using the same monitors as I did with my old system.Software
Moving to a new computer can be very time consuming, and most of that time (assuming there are no hardware problems that you need to solve first) is the installation and configuration of software and drivers (and fixing problems). Here is some software that I am using on my new build:
* Windows 7 Ultimate (x64) to handle 12GB of RAM
* Microsoft Security Essentials
* Microsoft Office 2007
* Embarcadero RAD Studio 2009
* Lots of programming components
* UltraMon - great multiple monitor tool but unfortunately has some Windows 7 issues
* Firefox 3.5
* Thunderbird 3.0 for newgroups
* Direct Access 2.5 by Nagarsoft to cut down on typing - very handy
* FinePrint 6 - great printing utility
* ACDSee 2009 for image browsing
* Photoshop Elements 8 for image & graphic editing
* SecureCRT 6.5 and SecureFX 6.5 for secure access to servers
* Macrium Reflect 4.2 backup software - I now recommend this over Acronis True Image
* EmEditor 9 text editor - available in a 64-bit version
* FolderClone PRO for frequently backing up folders
* Spyder3PRO monitor calibration software - I consider this a "necessity" when using multiple monitors when they are different models. This makes the whites look the same and the colors better (especially on my "low end" Acer monitors as it really makes them look better). If you don't use color profiles, then the whites on the monitors can be very noticeably different.
* Foxit Reader 3.1 (I like and trust this better than the bloated Adobe Reader)
* CPU-Z & SpeedFan
* TopStyle 4
* VisualRoute 2009
* TrueCrypt 6.3
* WordWeb Pro 6
* Cheetah DVD burner (non-bloated burning software)
* PerformanceTest 7.0, x64 version, by Passmark software to test performance
* & more
I used MozBackup to backup and restore my Firefox and Thunderbird settings and OutBack Plus 7 to transfer my Outlook 2007 settings and data files. MozBackup worked well (including transferring multiple Firefox profiles) but OutBack Plus did not seem to transfer everything - I had to reenter my account passwords and it seems my rules weren't transferred. Also, OutBack Plus did not transfer my Firefox settings correctly even though it is suppose to do that, so that's when I discovered MozBackup.Overclocking the Intel Core i7 920
I was easily able to overclock the i7 920 by changing BCLK (the host frequency) to 166MHz (up from 133MHz) and enabling turbo mode. I also enabled SpeedStep which reduces the CPU multiplier from 20 or 21 to 12 when it's not doing much. I also set the BIOS for the RAM I was using - changing the voltage to 1.65 and the timings to 7-7-7-20 for running it near 1333MHz. I left the CPU voltage on "AUTO". I think this does a decent job of regulating the voltage. According to CPU-Z, it drops to just below 1V when SpeedStep reduces the CPU to around 2GHz but jumps to around 1.25V when under full load.In the Near Future
I plan to upgrade the video cards to "power efficient" dual ATI Radeon 5770's. This could change, however, depending on nVidia's upcoming DirectX 11 cards. With 1GB of DDR5 RAM, these cards should be more than adequate for my current and future needs. Going with the 5800 series would be overkill.
I also plan to purchase an ioSafe drive for external backup, probably 1.5TB or 2TB. These drives are fireproof and waterproof.Photos
Click on an image to see it original size. These photos were taken with a Canon 7D.
The Intel X25-M SSD gives a huge boost in performance over hard drives. Even a VelociRaptor hard drive is significantly slower. For this build, I bought the 160GB 2nd generation (G2) drive with TRIM support (had to upgrade the firmware to get TRIM support).
These are some photos of the EVGA X58 motherboard - model 132-BL-E758-TR:
The motherboard installed with the Scythe MUGEN-2 CPU cooler. You can also see the Corsair 750W power supply and two sticks of DDR3 that I installed BEFORE installing the CPU cooler (remember you can click on the image to see it original-size):
Here you can see the huge CPU cooler, all 6 DDR3 sticks (12GB total), and a nylon tie in the upper left of the photo that I used to help support the CPU cooler to try to take some stress off the motherboard. The fan on the Scythe MUGEN-2 CPU cooler can be mounted on any side of the heat sink, but I really had only one choice where it would fit and blow air in the proper direction. The CPU fan is suppose to blow air into the heat sink:
Here's a photo of the whole thing with the sides removed. Only one video card is installed right now. Here you can see the drive bays.
Below is a photo of the large side-panel fan that contributes to the fantastic airflow of the Cooler Master HAF 932 full tower case:
Below you can see the front of the case:
Below are the dual, fanless (silent), and low-profile ASUS EAH4350 512MB DDR2 video cards (which I plan to upgrade in 2010). These are inexpensive cards but can still due a decent job running my four monitors (in 2D, not 3D). I did have an issue this morning with blank video on the monitors hooked up to the HDMI port - but hopefully I can get this resolved.
Below is a look at the back of the case:
Below is the male HDMI to male DVI adapter I thought I could use to connect two of my DVI monitors because the video cards each have one DVI connector and one HDMI connector, but the adapter had pins that prevented this from working. Fortunately I found some other cables and adapters to use:
And here is the new CSE HTML Validator
development computer "at home" under a table:
Here is what the Task Manager looks like with the i7 920 in Windows 7. The i7 920 has four cores, each with hyperthreading, so Windows treats it like an 8 core machine and shows 8 processors:Update 2009-12-22
I've began development work with the new system and I must say it is extremely responsive. Any further improvements would have little benefit because the system is so fast already.
I did have a problem with one of the cores having constantly high CPU usage. You can see this in the Task Manager screenshot, where the 2nd core from the right is rather high. It was this way constantly, even after a fresh boot. Using Task Manager, I could not find any process that was using CPU - even after showing the processes for all users. I did a search on the Internet and located this thread:http://www.tomshardware.com/forum/25233 ... high-usage
From the information in that thread, I was able to disable the "High Definition Audio Controllers" in the "System devices" that were causing the problem. These devices were "attached" to the ATI cards I was using, probably due to the HDMI audio capability. I can only suspect this is poor driver programming. After disabling these, I now see very little CPU usage across all 8 CPUs/cores.Update 2010-01-06
I've upgraded the video cards to dual ATI Sapphire Radeon HD 5770 1GB GDDR5 cards. I connected the CrossFire cable but then Windows 7 would only detect one of the four connected monitors. Removing the CrossFire cable let it detect all four. Since I don't need CrossFire, it's not an issue (but I wonder about this limitation). I noticed that the 3D effects are much smoother, including just moving windows around. Very nice.
I chose the ATI 5770 series because I thought it was a good bang for the buck. The 5800 series was overkill for my needs. I like the capability of each card to run three monitors (even though I am only using four monitors right now) as well as DirectX 11 capability (even though I currently have no use for it). I especially like the significant improvements in power efficiency that ATI has made in the 5000 series.
Unfortunately, the CPU usage issue came back but I disabled the relevant ""High Definition Audio Controllers"" drivers again and CPU usage looks good again. They should fix this issue.
I consider this upgrade to "complete" the new system! Below is a photo of the two ATI Radeon 5770 cards installed in the system.WEI (Windows Experience Index) Scores
I realized I did not post WEI scores. Below are the scores for the system before the video card upgrade. Windows 7 scores go up to 7.9.
Memory (RAM): 7.6
Graphics (Aero): 3.7
Gaming graphics: 5.7
Primary hard disk: 7.8Base score: 3.7
Below are the scores after the video card upgrade:
Memory (RAM): 7.6
Graphics (Aero): 7.4
Gaming graphics: 7.4
Primary hard disk: 7.8Base score: 7.4