With the prices of Athlon MP processors and motherboards falling to a level
that many users can afford, suddenly multiprocessor computers are becoming a
realistic option on the desktop. But just because you can afford it, does not necessarily
mean it is the right option to choose. Here are a few reasons why they might or might not be the best option for you, although please do not take everything I say as the absolute truth.
Multiprocessor systems are mainly used for setups which perform a lot of threaded
work, i.e. perform two functions simultaneously.
Below are two instances in which a Dual-CPU platform would be an advantage:-
- Encoding an MP3 while playing a game
- Rendering a large animation
Now I will go onto explain exactly why it is faster. Firstly, example (1).
Now Dual-CPU platform is more efficient at doing two things at the same time,
so, in example (1), the encoding of the mp3 would almost be unaffected by you
playing your game on the dual-CPU system, whereas on a single CPU platform,
obviously either the game will be running slower, or the encoding will take
longer, or maybe both (depends on how you set your CPU priorities). Typically,
most programs are not threaded in there design. A good example of a typically
non-threaded application is a game.
Looking now at example (2) shows a program which is more than likely going
to be threaded, and support a dual-CPU design. Now, with ignorance to the previous
example, when running a program such as 3D Studio Max or Maya, you are only
running one instance of the program. So why, you may ask, is it so much faster
with a Dual-CPU system? Well, its because some programs actually have threading
coded into them, or their basic design is of such a nature that it would by
default take advantage. An animation rendering program is a good example of
a threaded program because when rendering a large animation, the system will
render one frame at any given time, when it has completed that frame, it will
move onto frame 2 for instance. The advantage of a Dual-CPU
is that the threaded program would allow the system to render two frames
simultaneously. So the system is not actually rendering the frames
faster, its just doing twice the workload in the same timeframe, so it appears
to be going faster.
Now with these 2 examples, I have displayed that having a dual-CPU system can
be very advantageous, with running either a threaded program, or running several
non-threaded programs. Now I will demonstrate the disadvantages with 2 more
examples:-
- Running the Unreal Tournament 2003 benchmark
- Running a CPU arithmetic benchmark
Because games, typically, are not threaded in there design, running a benchmark
such as that in example (1) on for instance, a dual-Athlon MP system, lets say
2 x 1900+ MPs for example purposes, would actually yield lower
scores than say an Athlon XP 2200+ because the game does not support threading
in its design. And this will likely remain true for the future in terms of games,
its more advantageous to have one very fast CPU than two slightly slower CPUs
due to the way the graphics card interfaces with the CPU (remember these days
most games use Transform and Lighting, which actually reduces CPU load, so whatever
'work' you do send to the CPU, you want it to be done as fast as possible).
Looking at the second example brings the same conclusion. Although we know,
as shown in the first 2 examples, that the 2 CPUs can handle more work in any
given time, because the workload is not spread across both CPUs in the test,
they yield lower scores than that of a faster single CPU based system.
Now, running two iterations of each benchmark, would then, obviously propel
the dual-CPU system in front once again, for example running two instances of
the UT2003 benchmark simultaneously, would warrant significantly better results,
as your in effect giving the other CPU 'something to do'.
This explanation is only in very basic terms, and some of the points could
be actually argued (is the mp3 program threaded?), but for the sake of explanation,
I will ignore those points.
Now the question you need to ask before purchasing the setup is:
Q. Is there ever any occasion where my computer would benefit significantly
from having a Dual-CPU design?
A. If the answer to this is yes, and you are for instance an Animator,
then by all means, go for the dual CPU setup. If, however, you are mainly a
gamer, and do not typically do much encoding and whatnot, it would be in my
opinion, much more beneficial for you to buy a faster, single CPU based system
as for games it would be significantly faster.