Hanselminutes Podcast 74 - Jeff Atwood overclocks the Ultimate PC
My seventy-fourth podcast is up. Back in show #69 folks had some very valid questions and comments about whether a developer machine is just a fast PC. Is a gaming machine also a good developer PC? What about RAID. Rather than trying to learn all this myself, we had Jeff Atwood on the show and asked him.
- Download: MP3 Full Show
- ACTION: Please vote for us on Podcast Alley! Digg us at Digg Podcasts!
If you have trouble downloading, or your download is slow, do try the torrent with µtorrent or another BitTorrent Downloader.
Do also remember the complete archives are always up and they have PDF Transcripts, a little known feature that show up a few weeks after each show.
Telerik is our sponsor for this show.
Check out their UI Suite of controls for ASP.NET. It's very hardcore stuff. One of the things I appreciate about Telerik is their commitment to completeness. For example, they have a page about their Right-to-Left support while some vendors have zero support, or don't bother testing. They also are committed to XHTML compliance and publish their roadmap. It's nice when your controls vendor is very transparent.
As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)
Enjoy. Who knows what'll happen in the next show?
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
I have never listened to the Hanselminutes Podcast, but after this one, I'm hooked. Thanks!
Still, we need to hear metrics or at least benchmarks Scott. Why do you need so much power on a dev PC? In 2004 I installed a Raptor HD to an XP1500 based system and it blew me away. Since then I've had several mobo/CPU/memory upgrades and never noticed much boost in performance related to dev work. The latest systems are Core Duo @ work and A64 4000+ @ home, work gave everyone a Raptor after my nagging and with the fast hard disk I see no performance difference between home, work and my old work machine (P4 + I added a Raptor & some fast memory).
So, why did I recently buy a single core A64 4000+ people will ask? Well the cheap mobo has a built in DVI + optical SP-DIF ports and a single processor plays 1080p material perfectly. In time more s/w will utilize multi-cores, but in time those processors will be $60 too - for years I've lived a year or two behind the cutting edge, sold old parts on eBay and spent very little on hardware compared to peers.
Please keep up the podcasting Scott, I particularly love the interviews.
As far as needing more dev power? If you're running some database server, a couple copies of your favorite dev environment, a webserver, your favorite mail client, a couple web browsers, some remote desktops, plus whatever utilities out there you're partial to using and you're going to run out of room fast. Start adding some virtual pc's to the mix and you're going to be hard up for resources.
In addition to the case I also added hard drives to mirror the 200gb C: (os/programs) and 250gb D: (data) drives. I'm using the built in RAID feature of my MSI motherboard and so far it is working great. I had to use the built in motherboard raid because Acronis True Image, which I use for drive imaging, does NOT support Microsoft Dynamic Disks. I emailed Acronis about this issue and they said only their enterprise edition ($999) supports dynamic disks not the home version ($59). I've used Acronis for years and the latest home edition is nice but I'm very disappointed that they are not supporting the full features of XP Pro like dynamic disks.
In the podcast there were several discussions about what is the difference between a gamer pc and development pc. I think the main difference is mirrored drives. Restoring your home game machine drive from last night's backup isn't that big of a deal. Doing the same for your development machine IS a big deal plus mirroring your drives is cheap.
MB/CPU: MSI K8N Neo Platinum with Athlon 64 3000+ (2ghz)
RAM: 2Gb Ram (DDR400)
C: os/programs 200gb 7,200 (no page cache) <-- will upgrade to two 10,000 rpm raptors next month
D: data 250gb 7,200 (page cache)
3.5" with memory card slots
Case: Antec 180B (they shipped me a 182 :-)
PSU: ThermalTake W0116RU 750w modular
OS: XP Pro (not switching to Vista until I have dual core or better)
(3) 20" Samsung 204B LCD's (these are 4:3 aspect ratio not 16:9. 4:3 works better for me)
nVidia 6800 GT & nVidia FX 5700 LE video cards
Network Backup: 1.4tb ReadyNas NV+ (using four 500gb drives)
I will upgrade my motherboard/cpu and main drives in the next month or as soon as I can invent a good excuse to use on my business partners ;-)
BTW- Great podcast! I hope you will do a few more on hardware.
Buying a quad-core today which may seem like "too much" may be adequate in a year and out of date in two. I'm feeling this even moreso with Orcas coming out in the future. So if it me building/buying the new computer (which I am), I'm going to buy as much computer as possible so that it performs as newer, more resource intensive applications are release.
First, I agree that RAID 0 (striping) is a bad idea. Why double your failure risk while not increasing the performance much (or at all) over that of a high-speed Raptor or similar drive? And second, I actually disagree with Carl that mirroring the system drive is important.
My opinion is that RAID 0 and RAID 1, while popular among amateur enthusiasts a decade ago, have outlived their usefulness. The best way to go is to use a very small but fast drive for the system (such as one of the original, lower-capacity Raptors), then build a RAID 5 or RAID 6 for your user data. 7,200 RPM 300 GB drives are the sweet spot right now in my opinion; I was able to buy four of them for under three hundred--at $60 a pop from Fry's, no rebates or anything. With a RAID 5, four 300 GB drives = 900 GB usable storage, and it's fully redundant. Just mount the RAID as drive D, and use that to store all your user files. Better still, make that box your fileserver and store everyone's files there (I don't know about you, but 900 GB is a bit much for me to fill up on my own).
Sorry for the rant, but given the amount of research you and Jeff appear to have put into this, I was surprised that you would have completely neglected what I consider to be the number one most important part of a computer system: making sure your data are safe!
Personnally I have been using the MS 6000 desktop and the "soft touch" keys are awesome :) Tried the di-novo bluetooth but sent it back due to shocking lag on the keyboard and mouse.
For using monitors of different sizes side by side, there's Synergy: http://synergy2.sourceforge.net/
It allows you to calibrate the sizes of the monitors to physically match each other in terms of length of side and position so that you don't get the jump when you switch monitors. I've used it and it works pretty well. The Interface use to calibrate it isn't that great, but you only have to do this once.
Like you, I hate wasting time. I feel like I’m spending my life waiting for computers. If my computer takes more than 10 seconds to do anything, I’ll want to fill that time doing something else and often loose focus on the task at hand, which is not very productive for development.
When you compare the bandwidth of processor/memory vs. harddisk, there is a HUGE discrepancy. Your CPU could circle the globe in the time it takes your harddrive to get to the corner store (or so it seems). So if you find yourself waiting for your computer, chances are the harddrive light is blinking away. So on a limited budget; it makes sense to focus your resources on improving this bottleneck.
I would buy the cheapest CPU possible in the newest technology (65nm core 2 duo) and spend the rest of my budget on as many raptors that I could afford and run them in RAID 0 or 5 depending on how many I could afford.
When you look at the benchmarks from Tom’s hardware raid scaling charts, they actually scale quite well. They use 320GB 7200rpm drives in this review, so using raptors should be considerably faster.
And while I agree that redundancy is critical for production systems, for home PCs having a smart backup strategy can have you working on your tier 2 system (the kid’s computer) with little or no lost work.
And if I had a wife like Richard Campbell’s wife, I would probably do dual 4 gig RAM drives in a RAID setup for the system disk. Imagine booting up Windows in 3 seconds!
btw, YOUR SHOW ROCKS!!!
Imagine it actually not making that much difference in the real world, because that's what actually happens.. read the benchmarks and weep:
I am sympathetic to the backup argument for RAID5, but that's a *lot* of complexity to absorb in a system configuration. And there are many, many ways to back up. I'd rather back up online, personally-- what if your house burns down? What if you're on-site with a client and you need access to backup files from your house? It's a lot more logical for the backup to be in the cloud than on a local disk.
Furthermore, RAID 0 and other "speed up the disk" approaches deliver very limited performance returns, not even remotely enough to justify the massive amount of added complexity and rebuild risk (vs. simple, single drives). Again, read the benchmarks and weep:
But you probably saw that coming. If the RAMdisk results weren't that impressive (effectively INFINITELY fast), there's no way physical disk results could be better.
This content hasn't changed much, but is still relevant if you are evaluating the switch.
The windows boot time claim was actually made by Richard Campbell on one of the DNR shows. I forget if he said 2 or 3 seconds. I just remember thinking “Holy Cow! That’s what I want!” Give him a smack for me if you find out he lied ;)
It would be interesting to be able to compare system builds to see which wastes less of a typical developer’s time, like installing windows, windows updates, Office, Office updates, SQL 2005, SP2, VS 2005 and all of the other utilities that we need and use. Is it just me or does everyone feel like they totally wasted a perfectly good day? If we can shave a few hours out of that time, that’s hours of my life that I would love to have back.
It would also be interesting to find out the true risk involved when using RAID 0. There is a mathematical formula which can be used to calculate the MTBF of the RAID series. Then calculate the probability of failure within the first 2 or 3 years of typical use. I could have done this when I was younger and more mathematically inclined. Perhaps someone could chime in and provide the formulas?
I hate wasted time. When I’m waiting for my computer, I’m waiting for the hard drive. If I can calculate more hours saved than lost due to a possible failure, I’d do it.
Regarding the reference to my comment in the show, what I was trying to say is that you can get a Quad CPU now but I am not sure if XP and VS 2005 will benefit much from multiple CPU cores. I didn't suggest that it was a waste of money to get such CPU now if you're running XP. I am pretty sure at some point in the future, you will be putting more demanding software and which will more efficiently use extra CPU for desktop apps.. like Vista. More desktop apps wil show up which are aware of multicore CPU's.
Comment to Carl Franklin: I use a Logitech mouse and I installed its mouse driver to use the programmable buttons. Logitech is a reputable big company. I am certain their driver is not malware. I am sure it's not going to pop up an ad or send spam while using the mouse :)
Two dev monitors is really a minimum, I'm currently working on 4 and don't think I would appreciate less than 3. For those devs working on only one, I've been there. However, the cost of a good 22" monitor is like $300-400, and setting up even two 19" is about $400. Working on less just doesn't make any sense.
The same goes for ergo keyboards and mice (and fricken wrist rests). I've been complaining since 2000 that this is not standard operating hardware. I can't believe that any company would ask somebody to type on a computer for 8 hours/day and not automatically offer wrist rests, same for reception and hands-free sets. Companies should be on this proactively as the cost of one CTS lawsuit far outweighs 100 sets of ergo-mice and rests.
I actually feel that it's worthwhile working the boss on these points. It may take some patience (next fiscal budget), but just mention that this stuff is important for both productivity and health/safety. If the answer is "we can't afford it", then brush up your resume and start looking. Two monitors and an ergo keyboard cost $600 (or significantly less), if they're cutting these corners, it's unlikely that your next pay-raise is going to be very good.
As to the Quad-core and RAID etc. Jeff is pretty much right on. Screen real-estate is really important and so is responsiveness. After you've installed your 20GB of developer-ware, the smallest Raptors will satisfy your space needs, so it's probably worth focusing on speed over size.
The other use for Quad core and lots of RAM (not mentioned) is Virtual PC. VPC is a very useful tool, but usually comes with the downside of bogging down your machine. Having 4 cores, means that you can "effectively" hand one off and not lose your own processing power. Much the same goes if you're running local copies of SQL Server or IIS (solo/prototype projects). You're now able to run at regular speed and just let the "extra" cores handle these services.
Comments are closed.
First, at least one spare drive is important for fast recovery and to maintain data integrity. Any raid (1+) can survive the loss of one drive, few raid implementations can survive the loss of two drives.
Second, raid can provide a measure of data integrity through fault tolerance, but it should never take the place of a backup.