Multiprocessor Systems: The Other Benefitby Anand Lal Shimpi on January 25, 1999 8:22 PM EST
- Posted in
With two processors crunching away at the data resting peacefully on your hard drive and in your memory, as AnandTech already addressed with the first Multiprocessor installment (see Multiprocessor Systems: The More the Merrier?), the question was raised, are the only benefactors from this technology those that run the most complex CAD/Drafting applications? Or those that render 20MB images or put together multi-million line files of seemingly endless code? Absolutely not, by limiting the benchmark tests from the original article to high-end applications that were specifically written for multiprocessor systems we are blatantly ignoring the other benefit multiprocessor systems offer us all, increased multitasking performance.
Windows 9x Users are out of Luck
Every time Microsoft is ready to release a new version of their operating system you hear a number of buzzwords surrounding the release, one of the most frequently used being productivity, and more specifically "increased productivity." The switch to Windows 95 brought all Windows users the ability to truly multitask, albeit a feature Linux users had been taking for granted for quite some time prior to that release, for most users, it was a noticeable jump in the levels of efficiency their computer was capable of achieving. Instead of having to wait for one process to complete before starting a new one, such as copying a directory full of files from one drive to another while waiting to use Microsoft Word or Corel WordPerfect, you could now copy the files and run your applications at the same time. Wow, what an accomplishment, who would've thought that it would've taken the larger portion of the PC industry this long to come up with such a theoretically simply solution?
Operating System efficiency arguments aside, the bottom line was that with Windows 95, the ability to multitask was brought down to the level of the home user. Sort of like the feeling you get when you are introduced to a new, lazy-inducing product that you can't seem to let go of, multitasking became a way of life for quite a few users that had previously never thought about the topic. All of the sudden users were running out of memory to keep their 3 internet browsers, 2 office suites, and development software running at once, and the addiction grew to much more than a simple increase in "productivity" rather it became a way of computing life. The essential problem with this demand for multitasking performance, at-least under Windows 9x, was the fact that Windows 9x was fundamentally limited by its uni-processor support, making the only way to increase performance being an upgrade to a faster processor or more memory. Unfortunately the overall performance increase seen by an upgrade from a Pentium II 266 to a 400 for example isn't all that great in comparison to the theoretical performance increase in multitasking scenarios adding a second processor would give you.
This means that Windows 9x users are out of luck once again with the highest attainable performance from a system, leaving the ideal test bed to be Windows NT. As AnandTech continues the ongoing coverage of Multiprocessor Systems the concentration of the benchmarks will remain to be Windows NT, however in future articles you can expect benchmarks under Solaris and Linux to illustrate operating platform differences between identical multiprocessor configurations.
You have two things to do, at two different places, at the same time. Physically impossible, correct? Correct. This was the issue AnandTech addressed in the original article, and comparatively speaking, the way a computer can address the aforementioned dilemma would be by adding a second processor to handle the second task. Logically speaking, it makes perfect sense, however as you might be able to expect, it doesn't work out as smoothly as everyone would like it to.
A processor is probably one of the most unintelligent creations known to man, only able to tell whether a number is a 1 or a 0, the success of the desktop processor is due to its ability to make millions of those comparisons per second. That's basic computer science in its simplest form, but what happens when you add a second of the most unintelligent creations known to man to the equation? Two processors cannot reach a "compromise" between themselves as to decide which processor is to handle what operations, and therefore a significant percentage of the processing power shared between the two processors is lost in the distribution of tasks, a fault of both the operating system and the architecture of the multiprocessor system as well.
The processors communicate between themselves at the same speed the memory subsystem communicates with the chipset and at the same speed that the processor communicate with the chipset, this frequency is commonly referred to as the Front Side Bus or FSB for short. The general rule of thumb here is that the faster the processors can communicate with each other, the faster the overall performance of the system will be, however as you will soon find out, there is a limitation to how far this "rule" will guide you with multiprocessor systems, under Windows NT at least.
The greatest difficulty faced when attempting to truly show multitasking performance differences between single and multiprocessor systems under Windows NT was naturally the formulation of the benchmarks. Since there is no predefined set of benchmarks that truly test the multitasking capabilities of a multiprocessor system, AnandTech was left to devise a custom, in-house, set of benchmarks that can easily be reproduced by anyone with access to a few readily available utilities. Before dabbling into the testing methods, let's address a few items that have changed since the original article.