Introduction

I know that right away many of you are probably wondering what SMP is. Well, otherwise known as Symmetrical Multi Processing, it is really nothing more than a difficult name for talking about 2 or more processors in a single system. The key problem with SMP is that it has historically been very expensive. After all, you'd first need a supporting motherboard (something that hasn't been that common really) and you'd also need at least 2 processors.

Well how times have changed. For easily under $500, a person can throw together an SMP system today. We have both Abit and Intel to thank for this one. Since Intel introduced the Celeron, we've had a very cheap and powerful CPU available. In truth, it is really on par with a Pentium II or III at similar clocks (unless SSE is used), but don't look for Intel to admit that one. The only problem is that Intel did not design the Celeron to support SMP- but that doesn't mean it can't, does it? Certainly not, and this is where Abit comes into play with their BP6.

The Pentium II, III and Xeon are the only processors which currently "officially" support SMP. The switch for SMP is located outside the chip itself. As you may know, the Pentium II and III chips are placed on a circuit board, along the cache memory, and its on this board that you'll find the SMP switch. Now, as the first Celerons were also placed on these boards, this switch was turned off by Intel. Since Intel has begun moving to the socket design, the switch has been moved onto the motherboard. So in the case of the Celeron supporting BP6, Abit has enabled this switch.


AMD

 

AMD has a lot of plans for SMP in the near future. A new version of the Athlon, Thunderbird, can be expected to include SMP support, though we currently don't have any motherboards that allow it. AMD is working on a chipset that will allow for dual CPUs and Tyan is (was? we've heard reports that they might no longer be as of late) working on a SMP motherboard. Additionally, both Hotrail and API are working on chipsets which are expected to support 4 and 8 CPUs. As for Thunderbird itself, we can expect it to initially have integrated L2 cache in the 1-2 MB range, though the actual maximum possible is 16 MB.

Now the interesting part of this comes into play. Just how is AMD doing SMP? Well as we'll see next, AMD is trying to one-up Intel. What AMD plans is to use the IDT bus, giving each CPU a separate connection to the chipset via the EV6 bus and each chipset gets a link to the memory. In the SMP chipset AMD is currently working on, we can expect support for DDR memory, a 266 MHz FSB (front-side bus), and AGP 4X Pro.

 

Intel

 

Intel's architecture is a good deal different than that of AMD's. On an Intel SMP board, you'll find that all of the CPUs used have a single connection to the chipset and from there to the memory. So this basically means that there is a lot of shared bandwidth. We aren't aware of Intel's plans for the future or if they plan on adding separate pipelines for each CPU. So we can only go on what we currently know.

Let's have a look at Intel's NX chipset: (Courtesy of Intel)



What do you need to use SMP?

 

So you want to run SMP now? Well the first thing you're going to need is an operating system which supports SMP. Windows 95/98 does not work, so you'll need either Windows NT, Linux, Unix, or BeOS. At work, I used to program in NT, so I used NT on a SMP system. Unfortunately, just because your OS supports SMP, that doesn't mean all your applications will take advantage of it. You also need an application which supports SMP, two common ones being 3D Studio Max and Quake III Arena.

What else?

The final key in running SMP is having an API with fully supported drivers that can take advantage of multiple processors. This means for Quake III Arena, OpenGL. And here we come across more problems with SMP. Let's take a look at the some 3D chipsets and which should work with SMP systems.

1. 3dfx Voodoo 2/3.
3dfx has still no official OpenGL compliant dll on the market. That means no ICD. The problem lies in what Microsoft sees as as ICD. 3dfx has, by nature, a full OpenGL ICD, but it is not recognized as one. Another issue could be that the V2/3 driver simply do not support SMP.

2. VideoLogic Neon 250.
The Neon 250 currently has no support for any operating system other than Windows 95/98. They are, however, promising to deliver Windows2000 drivers when the new OS is launched. The Neon 250 uses a GamingGL (QuakeGL).

3. NVIDIA TNT2/GeForce.
No problems here, full ICD and NT support. Everything does work.

5. S3 Savage3D/4 and Savage2000.
S3 has full ICD drivers, only performance is limited due to driver immaturity. Hopefully that will now change with Diamond under their wings and the power behind the Savage2000 and 2000+.

6. Matrox G400.
Has a full OpenGL ICD, as well as NT drivers.