Original Link: https://www.anandtech.com/show/236
Multiprocessor Systems: The Other Benefit
by Anand Lal Shimpi on January 25, 1999 8:22 PM EST- Posted in
- CPUs
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.
The Challenge
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.
Standard Applications Receive a Boost too
The concentration of the original article was to prove that applications specifically written for multiprocessor systems (multithreaded applications) would be necessary for a dramatic performance increase to be seen in benchmarks. While that is essentially true, there is still a small, albeit measurable, performance increase having a second processor adds to the performance of regular applications under Windows NT.
Windows NT treats each process as a separate thread, and since that is nothing more than multithreading (while un-optimized), multiprocessor systems will receive a little kick up in performance over their lonely single processor counterparts. As you can tell by the following performance chart, there is an average of a 3% increase in overall performance when upgrading from a single processor to a dual processor configuration under Windows NT when using applications that weren't specifically optimized nor intended for multiprocessor use.
The price of a second processor is simply too much to be justified by a measly 3% performance increase, so the justification must come in some other area, however it doesn't hurt to know the performance benefits a second processor will give you in general usage situations.
128MB+ RAM: No Longer a Consideration
If you recall, from the original article, the sweet spot for the amount of RAM in the AnandTech test system seemed to be in the 256MB - 384MB memory range with the Pentium II. The increase from 128MB to 256MB was much more dramatic in the particular applications AnandTech chose to use in the tests than in the multitasking tests AnandTech conducted more recently. Why? Simply because, high-end applications demand more memory. When rendering a 20MB TIFF file in Photoshop, your system is definitely going to require a larger amount of memory than a system simply copying files while editing HTML in a graphical editor.
AnandTech's tests show that the performance of multiprocessor systems (as well as single processor systems) approaches a high level of diminishing returns after adding 64MB of RAM on top of a base 64MB configuration. Basically stating that over 128MB of RAM for a normal usage system under Windows NT is overkill. Currently, the only time more than 128MB of RAM would be beneficial is if you're really going to take advantage of it by rendering large image files, running a server, and other such tasks, however not for your normal home/office/gaming PC running Windows NT.
The difference between 64MB and 128MB of RAM is definitely a noticeable one however, and an upgrade to 128MB for a NT workstation is definitely a well invested sum of money from a performance perspective.
In summary, high-end workstations will want around 256MB of RAM, with 384MB of RAM being the high-end of the spectrum (512MB+ should be reserved for servers), however for the lower end of the dual processor spectrum, 128MB of RAM will suffice, with anything more just adding to cost and hardly (if at all) adding to performance.
Stability: Another Reason to make the upgrade
In the tests AnandTech conducted, it became more than obvious that an overly stressed single processor system had a greater tendency to crash than a similarly stressed dual processor system. The explanation behind it is simple, the greater stress a single processor is under, the greater the chance that the system will "mess-up" somewhere along the line. It's comparable to the excuse we all use when overwhelmed with work and a single task gets neglected, upon confrontation the excuse is usually something along the lines of an "explanation" of our busy schedule. The same can be applied to a multiprocessor system, if the weight an overly stressed single processor would carry is evenly spread out among two separate processors, the chances of an error occurring are somewhat smaller than if it were the other way around.
Of course, the quality of the motherboard, components, and even the amount of RAM (disk swapping as well) come into effect, however adding a second processor does have its benefits seen in more areas than just performance.
The Test
Setting up the AnandTech test bed, the Epox Dual Processor BXB-S Intel 440BX based motherboard was used as the heart for the Dual and Single 266/400MHz systems. A single 128MB Mosel Vitalic Memory Man SDRAM DIMM was installed in the first memory bank, and the rest of the configuration was as follows:
- 9GB IBM Ultrastar Ultra Wide SCSI-3 HDD
- Matrox Millennium G200 (16MB) AGP Video Card
- Microsoft Windows NT Workstation 4.0 with Service Pack 4 Installed
- The latest device drivers as of January 23, 1999 were installed
- All tests were run at 1024 x 768 x 16-bit color at a 75Hz refresh rate
The software benchmark suites involved MP3 decompression (incredibly CPU intensive) using Winamp 2.09, with the WAV Mapper set as the output device (decompressing the MP3 files to disk) while running Business and High End Winstone 99 tests simultaneously. The size of the MP3 files decompressed amounted to 1.85GB on a separate partition of the test system's hard disk, and the entire decompression did not complete before the end of the Winstone tests as to simulate a true, stressed, multitasking environment.
Conclusion
As you can see, the performance of single processor systems under multitasking environments is much lower than that of dual processor systems under the same conditions, which is to be expected. The interesting points to notice are that the difference between a dual Pentium II 266 and a single Pentium II 400 in general multitasking performance benchmarks still favors the single Pentium II 400 due to its sheer advantage in processing power over the dual 266. While that may not apply to high-end applications, it does apply to this scenario illustrated by AnandTech for the other type of multiprocessor user.
Giving users more than just a faster way to render huge image files or calculate the dimensions of a skyscraper, multiprocessor systems do allow for incredible multitasking capabilities, unfortunately they aren't great enough to justify slapping in 2 slower processors in favor of one faster unit; unless of course you happen to be doing some high-end work on the side.
The big question seems to be, will adding a second processor speed up tasks such as parallel port accesses (i.e. Parallel Port ZIP drives, etc ) and floppy disk accesses? The answer is unfortunately no. Demanding I/O tasks such as those mentioned need to be offloaded onto another processor other than your main processor subsystem, luckily Intel did happen to create an embedded processor that would handle just that, it's name and it's function in the next update to the Multiprocessor System series on AnandTech.