One of my PCs is a bit of a Frankenstein, having gone throughcountless small upgrades over the years.
A video card here. Some memory modules there. A replacementprimary harddrive here (thank you g4u).A supplementary hard drive there. Half a dozen different CD andthen DVD and then Dual-Layer DVD burners.
Every now and then it’d see a larger upgrade that mandated amotherboard replacement alongside a new CPU. Often that wouldrequire new memory modules as well. Maybe even a new power supplyas connection standards changed.
Motherboard replacements have always been the most disruptive,and it’s been interesting to watch as each has negated the needfor some add-in or other. First the USB+firewire board gotpunted, having been replaced by onboard functionality. Then thenetwork card. Then the Soundblaster card. The only true add-incard usually needed nowadays is the video card, and I’msure it’s only amatter of time before the on-board video reaches acredible level of performance, eliminating even that.
I’ve pursued this piecemeal approach toupgrading primarily because it minimized the softwaredisruption in my life, usually requiring just a quick module swap,some driver updates, and it’s up and running again. I actuallyenjoy the modular, hybrid-PC pursuit, individually scoping out andreplacing components with the best bang-per-dollar option availableat the time. It’s a bit of a hobby.
[Clearly I’m not alone: A local “Tiger Direct” store openedrecently in my town, featuring a huge floorspace stocked withesoteric power supplies, mod cases, and other components for DIYbuilders. I’m surprized that the demand is still there, havingthought that the self-builder was an endangered species]
I’ve been negligent, however. Over the past while thisPC had seen little attention. Running on an extremely datedAthlon XP 1800+ (overclocked to equal a 2200+), with a “measly” 1GBof DDR1 RAM and a dated collection of complimentary components, ithad fallen so far behind the times that it has dropped far off thecurrent CPU charts. While it served its casual gaming task well(the video card is quite contemporary, and given that few games areconstrained by the CPU, it held its own), and admirably providedthe network storage for photos and videos, its anemic standingswere a bit embarrassing. Sure, it didn’t need to be decentgiven the various home and business laptops — powerful, modernunits that saw most of my computing activity — but Ifelt like I was letting it down.
So following up the entry from acouple of weeks ago, I finally got around to ordering a new CPUand motherboard on Tuesday, ordering a retail boxed Intel Core2 Quad Q6600 2.4Ghz processor from Direct Canada for theextraordinarily low price of $279.99 CAD. I’d beendirected to their site from a search-engine yielded link to”Shopbot.ca”, so I was a bit wary placing my order with thisunfamiliar provider, but at 1pm the next day the box arrived at mydoor, amazingly delivered less than 24 hours after I ordered,coming from a shop 3000km away. I’m very satisfied with theprice and speed. (I received no considerations for that comment,and know nothing about the shop beyond the fact that they sold me akiller piece of hardware at a great price, delivering it veryquickly. Your mileage may vary.)
In the end I discovered that some new memory modules would be inorder to fully yield the speed (going with 2GB to correlate withthe oft claimed speed advantage that often flies in completecontradiction to actual memory usage metering). Oh, and a new caseas it might make the whole process a little easier.
In the end, the only legacy pieces that made the migration tothe “upgraded” box are the hard drives, and the video card.
Minutes later the full-retail copy of Windows was running theright drivers, and after a quick re-activation it was stormingalong.
I booted up.
In a word (and a punctuation) –Wow!
What a tremendous amount of computational power on thecheap. Day to day activity really feels no different than it didbefore — browsing is the same fast browsing that it was before,and given that I don’t try to use Excel as a warehousing database,Office seems the same as well. Battlefield 2 plays the same giventhat I have the same video card, albeit now with absolutely zerostutters or hiccups as other threads demanding timeslices aregenerally satisfied by one of the other cores.
For the things that actually keep me waiting — encoding a homevideo from the MiniDV, or building firefox from CVS, as I doregularly — the improvement is enormous. Not only arethese operations massively sped up by the four cores available tothem, better still I can configure them to only use one, two, orthree threads of parallel executions (via the -j build option forFirefox, for instance), constraining them as a coarse fix for thedeficiencies of the Windows scheduler. I can now run a full Firefox3 build in just 12 minutes with full parallelism, or run it (orother demanding applications) with little or no impact in theusability and functionality of this PC for other tasks.
Parallel Building Firefox
Full Build Times on Quad Core Processor
(Bars represent time. Shorter=better)
The build continued to speed up withmore possible parallel operations, albeit with a decreased rate ofreturn, with the fastest test build occuring in just over 12minutes with the highest option tested: -j12. Having moreparallel operations than cores can yield benefits when it increasesthe time utilization of a saturated resource, which in this casewas the hard drive. At this point the cores were left twiddlingtheir thumbs waiting for the storage to catch up.
Limiting the build process to twocores via the process CPU affinity had it CPU starved beyond -j2,yielding no benefit via more parallelism.
You can find a stackedgraph detailing core processor usage for the above -j4 run(on 4 cores) at http://www.yafla.com/dforbes/images/Firefox_build_j4_4core.png.You can also lookat a chart of building Firefox using the -j4 option, but settingthe processor affinity to only allow the build access to twocores.
Not only is the build performance fantastic, but better still Ican throttle it back to only run at most two parallel operations(-j2), getting a build in a still impressive 17 minutes whileleaving two cores completely available for other tasks, likebrowsing the web with full responsiveness. I can even launchBattlefield 2, and remarkably it plays flawlessly…despite thefact that a full-scale, parallel build is going on in thebackground.
(Sidenote: Threads can still be left stalled, stranded waitingfor a shared resource like the limited memory bandwidth and I/Opaths, for instance. In the sample above my build was on a secondharddrive — a configuration that I recommend for all power users– and clearly the other shared resources didn’t impact the game toa perceivable degree)
What a revolution in computer usage. What a discount-pricedcomputational powerhouse.