I tested the x64 editions of Windows XP SP2, Windows Vista SP1, and the Windows 7 public beta on dual-core and quad-core systems (see the article, "The generation gap: Windows on multicore") by running ten instances each of a database workload, a MAPI message store workflow workload, and a Windows Media Player workload simultaneously. To draw performance comparisons, I measured the time taken to complete each instance of the database and MAPI workflow transaction loops. The Windows Media Player workload was used only to place additional stress on the systems.
The test suite I used, DMS Clarity Studio, makes it easy to configure and execute packages of diverse workloads. Because it's designed to launch and control these workloads in parallel -- and provides an option to create multiple instances of each workload to further increase the complexity of the simulation -- Studio makes it easy to push today's dual-core and quad-core systems to their limits, something I did for this project by involving three of Studio's bundled workload objects: ADO Stress, MAPI Stress, and WMP Stress.
ADO Stress is a platform- and provider-neutral database workload object that uses the ActiveX Data Objects libraries to run transactions against any ADO/OLE-DB accessible data store. For the purposes of this project, I configured ADO Stress to access a locally installed instance of SQL Server 2008 Developer Edition. Using the various options in the ADO Stress dialog, I configured the workload to access SQL Server using the SQL Native Client driver and to use ADO transaction support if available. I set the workload to execute continuously, with a one second delay loop, and to create 10 concurrent instances of itself (each instance being a discrete process) when the test package launched.
MAPI Stress is a platform- and provider-neutral workflow workload object that uses the Collaboration Data Objects (CDO) libraries to run transactions against any MAPI/CDO accessible message store. For the purposes of this project, I used a locally hosted copy of a Microsoft Outlook Mailbox (PST) file. I configured MAPI Stress to generate the maximum number of message objects (approximately 25MB of mixed e-mail and attachment data) per transaction and to execute continuously, with a one second delay loop. As with ADO Stress, I configured the workload to create 10 concurrent instances of itself at package launch.
WMP Stress is a platform- and provider-neutral multimedia player object that uses the Windows Media Player interfaces to play back any media content supported by the currently configured Windows Media environment. For the purposes of this project, I selected a single media file -- the welcome2.asf file from an earlier generation Windows Media Services platform -- and then configured the workload to play the clip continuously, with a one second delay loop. Here again, I configured the workload to create 10 concurrent instances of itself at package launch.
If you've been paying attention, you've probably realized that the above scenario represents a massive workload of mixed database, workflow, and media playback tasks -- 30 concurrent processes in all, generating a whopping 430 concurrent execution threads. (See the 30-way workload in action on XP.) I repeated this scenario across all three Windows operating systems installed in a triple-boot configuration on both dual-core and quad-core test beds (a Dell OptiPlex 745 with Core 2 Duo E6700, 4GB RAM, and 10K RPM SATA disk and an HP EliteBook 8730w with Core 2 Extreme Q9300, 8GB RAM, and 7200 RPM SATA disk, respectively).