I’ve heard a few comments recently about it not being worth buying multi-core processors because it’s impossible to harness all of the processing power and I have to say that is a pile of stuff and nonsense (putting it politely).
Well, it is nonsense if the operating system can recognise multiple processors (and Windows NT derivatives have had multi-processor support for as long as I can remember) but it also has a lot to do with the software in use. If everything is single threaded (it shouldn’t be these days), then the operating system scheduler can’t spread the threads out and make the most of it’s processing capabilities.
Anyway, I’ve been maxxing out a 2.2GHz Core2Duo-based notebook PC for the last couple of days with no difficulties whatsoever. My basic workload is Outlook 2007, Office Communicator 2007, Internet Explorer (probably a few windows, each with a couple of dozen tabs open) and the usual bunch of processes running in the background (anti-virus, automatic updates, etc.). Yesterday, I added three virtual machines to that mix, running on a USB2-attached hard drive (which, unlike a Firewire drive, also requires a big chunk of processing) as well as TechSmith SnagIt, as I was testing and documenting a design that I was working on and that did slow my system down a little (the first time there has been any significant paging on this system, which runs 64-bit Windows Server 2008 and has 4GB of RAM).
Then, today, I was compressing video using Camtasia Studio 5 (another TechSmith product) and, despite having closed all other running applications besides a couple of Explorer windows, it was certainly making full use of my system as the screenshots below show. Watch the CPU utilisation as I start to render my final video output:
and after the task was completed, when CPU activity dropped to a more normal level:
Of course, a lot of this would have been offloaded to the GPU if I had a decent graphics card (this PC has an Intel GMA965 controller onboard) but I think this proves that multiple processor cores can be fully utilised without too much effort…