My Next Killer Development PC (Two Years After Today)

by Jon Davis 14. July 2007 19:15

So at the office, I already got a new machine, with the following killer PC config: 

  • 1 30" Dell 3007WPF LCD monitor. Yes, 30 inches. Yes, it's ridiculously huge, with a resolution roughly double that of a 1080p HDTV. But yes, I manage to use every square inch of it. Yes, I'm spoiled; my 20-inch 4:3 LCD monitor at home almost feels cramped. (Almost!)
  • 1 20" Samsung LCD monitor. My second monitor, I adopted it as it was left over from someone getting an upgrade. How very nice of them.
  • A really nice tower case that I don't know the name of the manufacturer of, but it looks kind of like this Antec, only it's much nicer.
  • An Athlon 6000+ X2 dual-core CPU. The fastest non-Opteron, non-FX dual-core from AMD. Also runs the hottest.
  • 4GB 800MHz DDR2 RAM. RAM these days can be ~1300MHz, but I'm not complaining.
  • A Quadro video card. Personally, I would have preferred to go with a souped-up GeForce. The Quadro's are just super cheap and crappy GPU video cards, marketed to the "Workstation" crowd rather than the gamer crowd. What the difference is, I am not sure, but they are twice as expensive and half as capable as a modern GeForce card.
  • An MSI K9N SLI motherboard. Nah, we're not using SLI. Just makes for a decent motherboard.
  • Four (4) 10000-RPM SATA Western Digital Raptor hard drives (fastest affordable drives on the planet), in a RAID 1+0 array config.
  • Windows Vista 64-bit, running in a VMWare Workstation 6 virtual machine, on a Windows Server 2003 host. VMWare Workstation 6 lets me manage hard drive snapshot trees, and yes, it supports dual-monitor displays. Vista running in VMWare on this machine rates my machine is in the 4.5 to 5.8 range (max is 5.9) for all components except for the Display (which measures at 1.0 because of the display virtualization bridge) and one other measure, I don't remember which (memory I think).
  • A 750GB Seagate hard drive, added by me, for my virtual machines and extra files.

At home, I have three computers. 

  • A two-year-old Media Center / home archive / e-mail workstation / development play toy. It was fast in its day but compared to my new office computer it's pretty slow now, with
    • an Athlon 3000+ single-core CPU,
    • 2GB RAM,
    • a RAID 0 hard drive config using two 300GB 7200 RPM drives, and
    • an added drive or two, altogether between all drives about 1TB of hard disk capacity.
  • A half-year-old music & gaming workstation with
    • a dual-core Intel CPU
    • 2GB RAM
    • 2 10000-RPM SATA WD Raptor drives on a RAID 0 (striping / performance) array
    • 1 400GB archive drive
    • an nVidia GeForce 7950 GT video card (the second or third fastest and baddest nVidia consumer video card for DirectX 9)
    • a 20" 4:3 LCD monitor, and
    • a 19" wide-screen monitor. 

It's running Vista 32-bit. I originally pieced it together to do music production, but lacking inspiration now it's being used to play games and to tinker with games programming. I also use it for Remote Desktop from my living room, and for blog posts (like this one).

  • A cheap Acer laptop I bought at Wal-Mart with
    • an AMD Turion x64 CPU.
    • I added RAM (upgraded from 1GB to 2GB) and
    • replaced the dog slow 120GB 5400 RPM hard drive with a 100GB 7200 RPM drive.

It's running Windows Vista 32-bit. The 'O' key fell off and even though I have a repair ticket / RMA number for it, I still haven't sent it back for repair (procrastination). I rarely use it because of that stupid 'O' key and because I have at least one desktop PC nearby with access to anything I really need.

Today I started poking around and asking myself, with my PCs being so almost ridiculously souped up, where are things still choking, and what should I plan for my next killer development PC?

Surprisingly, it's the same stuff as it always was, less the monitor size at this point.

  • Display.
    I do NOT need anymore monitor at the office! Stop! Enough! 30 inches is enough!! Thank you!!!

    But I did notice, gosh, 20 inches on 3:4 ratio (which is much bigger than 20 inches wide-screen; vertically, 20-inches 3:4 is the same as a 24-inch widescreen) really feels average now. I am so spoiled. Yet, think about this... we used to be happy with 640x480, and 800x600 used to be really big. Back then, 17" monitors were HUGE, reserved for the really talented high-end graphics designers at high-end multimedia or television workplaces.

    But today, SQL Server Management Studio and Visual Studio 2005 feel rediculously crammed in a tiny space on a 20" monitor. This is because of all the little tool windows that are scattered all over these IDEs, along with pages of source code one must wade through. Big displays are no longer a necessity for graphics artists, they have become a necessity for productive developers as well.

    I've noticed also that maintaining equal resolution and dimensions / ratio between two displays on a dual-monitor setup will enable some interesting functionality in software. One important one is it enables Windows Vista's Remote Desktop (which I use all the time) to support dual monitors. I like that idea.

    I've got a 20-inch LCD and a 19-inch LCD on my fastest home computer right now. The 20-incher cost me $450 used, and with its casing it's a massive, thick beast; they've really slimmed down the LCD screens in the past couple years. I have also always noticed how dark the display is. Now, two and a half years later, the same monitor can be had on eBay for about $250.

    So after 2008, for my home environment, I'd like to get rid of the 19-inch and 20-inch CRTs (the former of the two I bought ten years ago, and the latter of the two I got for free when my employer threw it in the trash) that are with my old archiver PC, and move my current 19 and 20-inch LCD screens there, then set myself up with two 24-inch widescreen LCD displays for my home gaming & development PC.
  • Hard drive space.
    Hard drive space is getting cheap these days, thanks to perpendicular hard disk technology. Believe me, having 1 TB of hard disk space is very nice, but it upgrades from the previous office workstation of, literally, 60GB, and "back then" (a month or two ago) my boss kept reassuring me, "Nah, you have tons of hard disk space, just delete some Windows Update uninstaller files." My boss is the coolest boss on the planet, making my job the best job I've ever had, but sometimes I scratch my head and wonder if he's still living in the 90's.
    The 750GB drive I bought for my office development PC was bought by me as an emergency band-aid to resolve a problem: I was hosting a virtual machine on which I had my entire workstation and all of the software tools I use.
    Unfortunately, the 750GB I added for my VMs is making me suffer; my Vista OS running in a VM is much slower now, because it is on a 7200 RPM drive rather than the RAID 1+0 array of 10000 RPM Western Digital Raptors. I might need to rebuild the VM to use two virtual drives, and have the virtual system drive running on the physical RAID array.

    I eat software for breakfast (sometimes literally) and don't like to apologize to anyone for being liberal with hard drive space. I've found that it is a far greater blow to productivity to constantly limit myself for hard drive space consumption and to scour my hard drive for things to delete than to simply install what I need and apologize later, or never.

    By the end of 2008, I expect 7200RPM 2.5TB hard drives to be available in the $350-500 range. I want one of these. 
  • Hard drive speed.
    At the office, I insisted on a RAID 1+0 config while the others on the team were preparing to go RAID 1 plus a simple, cheap, high-capacity "swap drive" for project files. But RAID 1 is slow; reads are about as fast as no RAID, and writes are slower because of the redundancy. Whereas, with RAID 0 (striping) both reads and writes are 50% faster because the drives themselves are always the bottleneck and the controller simply toggles between drives while interfacing with the motherboard at its native speed. Combine the two RAID options and you get redundancy and performance combined.

    I'm a heavy software user. I don't like waiting for the system to boot. I don't like waiting for apps to load. I don't like waiting for data to be written or updated, where I'm actually doing work. And the fastest drive should be where the swap file is; hard drives are 1/100th the speed of RAM, so minimizing that impact when virtual RAM kicks in should be a huge priority.

    The biggest slow-downs I've ever had on a PC was with doing anything with it. I say that tongue-in-cheek, but it's true; the only time I haven't been annoyed by how slow my PC is while hard disks were being accessed is when I'm accessing old documents, human-consumable media files (MP3s, etc), or installer files from an archive drive. This is why I keep a huge archive drive, but I only use it for archived files. I like a big, fast C: system drive because I have a lot of program files and developer tools.

    And games? At home, I keep all my games on my RAID 0 drive array. Why? Well when you get back from waiting five minutes for Battlefield 2 to finish loading, come back and ask me that question again. Media assets that are loaded up at once in order to make something usable are very serious candidates for moving to the fastest drive(s).

    I do keep some regularly-accessed files on my archive drive, namely those files that, when used, are specifically timed for [relatively] slow use--that is, files that are consumed by a human being. These would be documentation files (HTML files, Word docs, PDFs) and media files (MP3s, MPEGs, WMAs, WMVs).

    The Western Digital Raptor SATA drives, running at 10000 RPM, and comparable in performance to 15000 RPM SCSI drives, are truly fantastic drives; however, I am using them all over the place now, and they set a bar for expectation. It's frustrating to me, though, that they are only 150GB in capacity. I already said I need space.

    SanDisk has been promoting their new solid-state (Flash-RAM) drives, now running at 60GB in size. 60GB is the size of the hard disk I was using at the office before the recent killer workstation update; it's plenty for a basic development workstation, yet blazing fast.

    I'm still not sure about hybrid hard drives. We haven't seen how the price/performance/capacity ratios will end up looking like. But I am certainly curious.

    So, by the end of 2008, I expect Western Digital Raptor (10000 RPM SATA) drives to be available in the 300GB capacity range, and fast solid state drives to be available in the 150GB capacity range. I want altogether either 500+ GB Raptors in a striping RAID array alongside 1TB 7200 RPM archive space, or else a single 150GB solid state drive alongside 1TB of RAID 0 space @ 7200 RPM. I don't care about RAID 1 at all because Windows Vista has an automatic backup feature, and I am using VMWare Workstation for my productivity environment anyway. (Virtual machines are easily backed up.) But if a rendundant RAID array is mandated by my employer, just double the fast drives, please. (Heh. "Just.")
  • RAM.
    4GB sounds like a lot, but it's not. Here's the deal.
    • I am virtualizing my desktop workstation environment.
      • I have Windows Vista x64 hosted in a VM. Within it, I have allocated approx 2.2 GB of RAM (and between Office, Visual Studio 2005, VS 2008, Internet Explorer, Firefox, Photoshop, and more, all being open at once, I use almost all of the allocated RAM).
      • I host that alongside a Fedora 7 virtual machine where I am trying to a) keep myself knowledgeable of Linux, b) learn LAMP (Linux, Apache, mySQL, and PHP) development, c) familiarize myself with Mono development, d) get to know the CMS software (Krang) that originated by the company I work for, all so that I can e) be proficiently flexible enough to better-integrate Krang with our .NET system, or add tie-ins to LAMP features. The Fedora 7 VM is a complete workstation VM and uses about 1GB of RAM.
    • I host SQL Server in both the host and the Vista VM environment. To do the Fedora VM, though, I have to keep the host SQL Server shut down.
    • I play occasional 3D game, such as Half-Life 2. To do this, I have to stop the SQL Server service and suspend or shutdown the VMs, because, combined, they eat up all 4GB of my available RAM.

I would like to be able to do all these things WITHOUT having to suspend ANYTHING. In fact, ever since I switched to 64-bit computing, I have been asking, what's the deal? Why are we still toying with "shock and awe" over gigabytes of RAM?

4GB DIMMs are already in the sub-$500 range. By the end of 2008, I expect 8GB DIMMs to be in the sub-$500 range (currently they are ~$1,250, and yes they do exist). I'll take four of them (32GB), thanks, or at least four 4GB DIMMs (16GB), running at at least 1300MHz.

  • CPU.
    Seriously, I'm very comfortable with the performance of my system right now. But earlier today, I was setting up a couple Linux VMs on my AMD Athlon 3000+ home archive PC, and was noticing how it was taking me at least twice as long to set it up as it took me at the office. In fact, at the office, I never once got impatient. Setup was very comfortably fast. But now I was sitting back, thinking, sheesh, this is slow. Now, if I was doing this about two years ago, and hadn't worked on my killer office workstation doing the same thing on an Athlon 6000+ machine, I would not have been complaining. I'd be thinking, ahh, this is comfortably fast. But now, I think it is only adequate. Not fast.

    So in all seriousness, where are we heading? I expect by the end of 2008 I'll think my office workstation is only adequate, not fast.

    Quad-core CPUs are already in the sub-$400 range. By the end of 2008, I expect quad core CPUs to be the standard workstation CPU, and eight-core CPUs to be available for high-end workstations. I'll take one of those eight-core CPUs, thanks.

So, here's what a dream custom-built 2009 gaming and development workstation will look like, for around $5,000 or so I expect, whether a new killer home PC or perhaps the next tech refresh at the office, in mid-2009:

  • An eight-core CPU with decent clock speeds of at least 2.4 GHz
  • 1TB in a RAID 0 array of WD Raptors (at home) or 500GB in a RAID 0+1 array (at work) or 150GB solid state in a RAID 1 array, plus a 7200 RPM internal SATA 2.5 TB archive drive
  • 16GB 1300MHz RAM
  • A complete 512-bit DirectX 10 card with 1GB VRAM
  • Two 24-inch widescreen monitors; or, 30-inch LCD monitor (same as my current office workstation), but maybe in a dual pair of equal size (that's 60 inches?) rather than with a companion 20-incher
  • Running ..
    • Windows Server 2008 (64-bit)
    • Visual Studio 2008
    • SQL Server 2008
    • .. in a VMWare Workstation VM, hosted in Windows Vista x64,
    • .. or in a Virtual PC VM (taking advantage of whatever rumored hypervisor support is supposedly coming in Windows Server 2008 ??)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Computers and Internet | Software Development

Add comment

(Will show your Gravatar icon)  

  Country flag

  • Comment
  • Preview


Powered by BlogEngine.NET
Theme by Mads Kristensen

About the author

Jon Davis (aka "stimpy77") has been a programmer, developer, and consultant for web and Windows software solutions professionally since 1997, with experience ranging from OS and hardware support to DHTML programming to IIS/ASP web apps to Java network programming to Visual Basic applications to C# desktop apps.
Software in all forms is also his sole hobby, whether playing PC games or tinkering with programming them. "I was playing Defender on the Commodore 64," he reminisces, "when I decided at the age of 12 or so that I want to be a computer programmer when I grow up."

Jon was previously employed as a senior .NET developer at a very well-known Internet services company whom you're more likely than not to have directly done business with. However, this blog and all of have no affiliation with, and are not representative of, his former employer in any way.

Contact Me 

Tag cloud


<<  May 2021  >>

View posts in large calendar