Benefits of 2 CPUs

Not quite, but you’re right it’s not a 100% boost (linear scaling) in most cases. However, even Notepad is multithreaded, as are any reasonably complex Windows programs nowadays. More on that later. Where you are right is the Athlon MP. Due to a point to point bus and insufficient memory bandwidth, plus a junky cache system, an Athlon MP will never scale more than about 85% in optimal conditions, except for “embarassingly parallel” applications such as Distributed.net where the entire program can fit into cache. The Pentium III-S that I use, however, scale almost 98%. The UltraSPARC III/IV will scale from one to 72 CPUs with about 95% scaling. Trust me, if it didn’t scale well I wouldn’t be using two CPUs whenever I can justify them.

There are, however, a few cases where a second CPU can actually gain more than the 100% theoretical boost in CPU power because there is less thread switching. I have an application that works in this manner.

You’d be surprised how much programs are multithreaded now and how multithreaded they are becoming. Besides Windows itself which is highly multithreaded, even games use several compute intensive threads and dozens that are not compute intensive. More and more programs are becoming multithreaded aware and will multithread, and as applications get bigger this can lead to a more responsive applications. We are already seeing this on HT CPUs: under load, they feel more responsive than an Athlon 64 FX, even if it is far more powerful. So responsie time is much lowered in this way. In addition, Longhorn and Son of Longhorn will be using so much CPU time on their own that good multithreading and response time under load will become yet more critical. Remember, MS is talking about the biggest bump in system requirements since, well, ever; going from a P233/64 to a 1 GHz/256 minimum requirements.

Right now, I can have a runaway thread (say, IE) and still have an entire other CPU to give me good response time and allow me to kill the thread without bringing down the system. Yet another example of wider being better.

Besides that, quite a bit of time is spent switching threads, so a thremendous increase can be seen by making larger caches to avoid flushes and other techniques that will keep the processor pipe full when switching threads. HyperThreading is one of them. Intel’s dual core chips are another perfect example, where the CPU can move four threads across two physical execution units willy nilly, allowing a very compute intensive thread to effectively use its own execution unit and schedule much more effectively. Some other techniques are Register Windowing used by SPARC processors and others and a bunch of others that I won’t go into much detail in this on, but suffice it to say it’s happening now.


With 1 MB of cache, they should handle high load better than a pair of high end PIII’s (excepting PIII-S). Besides, the board will take up to a 900/2M PIII Xeon (handles server tasks about like my 1.4 PIII-S due to the 4x cache), so if I need the power later I can get it. Plus, it’ll take 2 GB of RAM and I will only have one installed. Right now though, PII Xeon is overkill. Heck, a single PPro would do the job fine of file serving, minimal web serving, mail serving and domain authentication, but I wanted the PCI-66 bus and didn’t want the 600 PIII CuMine MHz limitation of the L440GX.

The family servers are the next targets … those will probably get C440GX’s as well with one having the PII Xeon 450/512k’s I have and the other with a pair of PIII Xeon 900/2M, 700/1M or 700/2M for video compression. The PIII will also get a larger RAID array, perhaps 2 TB (6 400 MB disks).

I don’t disagree that for right now single threaded performance will rule, but it won’t for much longer. In fact, one of the systems I’ll be building in ~9 months will be a dual Opteron. However, I know that the pendelum will eventually swing back to Intel.

This has happened before. Remember when fill rate was king and nVidia ruled the world? Well, eventually nVidia moved towards geometry while ATi kept going on fill rate and started trouncing nVidia in performance, but it’s started swinging back towards nVidia as geometry becomes more important.

The difference is that Intel compared to AMD is much larger than nVidia compared to ATi. Intel is a one stop shop for everything integrated circuit, wheras AMD is flash memory and CPU/chipset only. nVidia is basically gaming only and although they make more products, they have very little market penetration, and ATi is a one stop graphics shop with very loyal (and rightfully so) niche markets of mobile and multimedia users. Plus, ATi makes their own boards.