Symmetric Multi Processing or SMP isn't something typically associated with the computer gaming hobby. In business, SMP is used to speed up laborious data analysis and such, often with four or more parallel processors working together to complete the task quadruple-quick, but at home SMP has always been viewed as expensive and pointless. The question is whether or not this is all about to change. With the recent price drops seen in the CPU market, processors can be had for an all-time low, and SMP has been viewed as a possible winner for heavy computer users. For instance, current estimates suggest an AMD SMP motherboard will launch at this year's Computex in a couple of months' time, and with Athlons and Durons at unbelievably low prices, many will have to give the technology serious thought. In the here and the now, Intel processors are the only SMP-capable consumer CPUs. The Pentium III specifically, and that's where we're going to focus for today, since low-end Celeron 300s and Pentium IIs aren't going to push many frames together or alone. Current operating systems that support SMP are Windows 2000 and the many flavours of Linux. Exploring the latter would be very time-consuming and somewhat irrelevant for the majority of gamers, so we'll focus on Windows. Curiously, Windows Millenium shipped with SMP disabled, much to the annoyance of hobbyists. That said, its big brother is at such a stage that performance is almost in its favour in a lot of gaming benchmarks, so it's no great shakes.
First off we ought to explain how SMP works. The basic idea is, as you might expect, to share tasks between two CPUs running on the same system. The goal is to increase the amount of work that gets done for each cycle, but it's not quite as simple as handing instructions out like you're dealing cards. Processors are allocated tasks by the operating system, so the implementation of SMP at Microsoft's end is very important. Since the CPUs share main system memory, you can't simply run twice the amount of programs as you could with one CPU and expect them all to operate as though they were running on separate systems. Any given program is only allowed a certain amount of memory, just as you would expect, and allocation is down to the operating system. Many other factors in the computer setup can also tie things up. The short and the sweet of it is thus: it's not the same as buying a processor twice the speed of your current one. As this article is about to illustrate, it's far from it. The motherboard we used to perform our tests is the recent ABit VP6. Using a VIA chipset and with four DIMM slots, AGP, 5 PCI slots and onboard IDE RAID, it's one hell of a package, but just how useful is it to gamers? In order to find out, we coupled it with a pair of PIII 700E processors, running at 933MHz thanks to the overclocking features of the VP6, and conducted some tests. The results compare the board with one CPU to the board with two CPUs. With a single processor the VP6 functions very much as though it were a normal Pentium III system. Graphics were handled by the GeForce 3 to eliminate that as a bottleneck and the system had a healthy 256Mb of RAM to play with.
Quake III actually has the ability to take advantage of SMP, although it's the only game we know of that can. By using a simple console command you can instruct the game to share processes out to both CPUs.
The results are… pitiful. A few frames per second in the dual CPU setup's favour on both occasions, with no obvious bottleneck in the system. How about a quick run through 3D Mark then? Well we tried this, and the results were nigh on identical. Even closer than the Quake III results, leading us to conclude that SMP is either unsupported or that 3D Mark only uses one thread. The FAQ on the subject at MadOnion.com confirmed our suspicions. So does 3D Mark support SMP, it asks? "Yes and no. 3DMark benchmark mode runs in one thread only, and does not utilize both processors in the system. There are very few games that use multiprocessing due to the difficult nature of breaking down the graphics pipeline to two threads. The demo mode plays the music in it's own thread, and therefore probably uses the second processor if available."
So at this point you could quite rightly be wondering, just where does SMP have a use in the home? Well thanks to Windows 2000, you can actually assign various threads (programs) to individual CPUs. This is what many server operators choose to do with their multiprocessing systems. In practical terms this might allow gamers to do two things at once - perhaps rip some MP3s from a new CD whilst having a quick round of Counter-Strike, but in reality, many people have the time to deal with one thing at a time, and would rather have their whole system dedicated to the task of playing a game than just "half of it". Ultimately then, SMP is a bit of a non-starter for gamers. It's a chicken and egg situation - programmers see no need to optimise games for SMP when nobody will be able to take advantage of it, and games don't use SMP because there is barely anything to take advantage of, and what there is performs terribly. If you want a quick trick for a gaming system, buy a new Athlon 1.33GHz system - you end up spending less anyway!