They say you can never be too young, or too rich. Or too handsome or too beautiful. And in the case of Intel-architecture PCs, it also seems that you can never have too many cores. With both the industry leader and its archrival, AMD, ratcheting up the core count, the future of personal computing will be experienced in parallel -- parallel processing, that is. The days of cranking up the clock speed to keep the pipeline flowing are gone. These days, it's all about width: How many instructions can you execute per clock cycle simultaneously?
Going hand in hand with the multicore push has been the evolution of desktop Windows to support these new chips. Today's dominant flavors -- Windows XP, Windows Vista, and soon Windows 7 -- all support Symmetrical Multiprocessing (SMP) out of the box, a trait they inherited thanks to their Windows NT (New Technology) lineage. However, experience has shown that multiprocessing across discrete CPUs is not the same thing as multiprocessing across integrated cores within the same CPU.
[ Is it Windows 7, or Windows Vista R2? See "Windows 7 unmasked." Read the great Windows 7 debate. Is Windows 7 necessary? See "Death match: Windows Vista versus XP." Monitor the performance of your Windows systems with Windows Sentinel. ]
As a result, current-generation software products incorporate additional optimizations to allow them to perform at their best in the low-latency, shared-cache world of multicore. This includes Windows Vista, which shipped at the beginning of the multicore transition, and Windows 7, of course, but not Windows XP. All of which begs the question: How much of an impact does this additional multicore tuning have on real-world OS performance and scalability? And what, if anything, do you gain or lose by sticking with Windows XP versus migrating to one of Microsoft's more modern versions?
In order to test the limits of Windows multicore support, I constructed a comprehensive, multiprocess workload test package using the ADO (database), MAPI (workflow), and WMP (media playback) Stress objects from the DMS Clarity Studio; see "How I tested" for the details. I then executed the package across representative dual- and quad-core systems in an effort to document the scalability, the execution efficiency, and the raw performance of the workloads when running against each of the available Windows incarnations.
What I found may surprise you. Not only does Microsoft have a firm grasp of multicore tuning, but its scalability story promises to keep getting better with time. In other words, Windows Vista and Windows 7 are poised to reap ever greater performance benefits as Intel and AMD extend the number of cores in future editions of their processors.