Who Needs Two Processors?
The real question isn’t who needs two processors, it’s “who needs four?” Everyone will benefit from dual core processors, even gamers.
The benefits of having multiple processors for non-gaming apps such as media and content creation are obvious. Digital photography programs such as Photoshop, Capture One DSLR, Bibble, and Noise Ninja are all written to take advantage of multiple CPUs. The same is true with scientific computing applications such as LS-DYNA, and most video NLE and compositing software also are multi-processor capable. After all, it is these kinds of software applications that have driven the market for high-end systems in the past.
However, a fair question is what multiple processors can offer for the rest of us who may simply play games and do “normal computer stuff.” Well one of the benefits of today’s modern operating system is that it’s all multithreaded. So, while doubling performance in a single application using a second CPU requires dedicated software support, improving your overall system performance with additional CPUs when running multiple applications simultaneously happens automatically. The classic best-case-scenario marketing examples are things like encoding a MP3 or DVD in the background while playing games. However, the benefits of multiple processors are still present in the day-to-day experience. As any owner of a dual processor can confirm, Windows itself is just a little bit faster since there’s always a “free” CPU ready to deal with your user input and clicks. Is it a sign of bloated software that you need dual processors to get the maximum responsiveness in a GUI? Probably, but if you need to run Windows XP, the point about efficiency is moot – dual CPUs are still faster.
What about Games?
The traditional teaching has always been that games don’t benefit from multiple processors. There are a number of reasons for this “was true but not for long” statement. One of the main reasons was that until Windows 2000, dual-processor systems required Windows NT, which could not support DirectX gaming. Not only that, since historically motherboards requiring dual processors were engineered for mission-critical stability, they often required slower, but more reliable registered ECC RAM resulting in poorer performance. Third, games have traditionally been single-threaded applications where the second CPU offered no performance advantage on benchmarks. Finally, the original Sound Blaster Live, the standard gaming sound card when dual CPUs first became affordable, had very unstable drivers in SMP setups.
Under traditional benchmark settings, reviewers use a clean install with minimal applications. This helps us produce the most consistent numbers for evaluating different hardware and maximizes the performance of a single CPU system. However, in real-life, when you’re playing a game, your CPU still needs to spend time managing memory, the swap file, while keeping your real-time anti-virus file scanner and firewall active. Everyone claims to run a clean system, but how many of us have been dropped out of a LAN game because we received an instant message? How many of you have a torrent downloading in the background while you game?
Production systems (i.e. PCs with lots of stuff installed on it) can benefit more from multiple processors than the numbers from a clean benchmark might suggest. Even the most fervent marketing manager wouldn't claim that dual processors are an ideal match for current games, but to say that there is no advantage would be a mistake. With equal clockspeeds, I'd still take the dual processor over the single processor. Of course, clockspeeds aren't always equal and so for now, a single-core Athlon FX with a higher-clock speed will still outperform a slower dual-core Opteron for games.
I said that dual processors being bad for games a long time ago was true, but not for long. Why is that so? Well a few reasons. Whereas Windows NT and, to a lesser extent, 2000 weren’t the best platforms for gaming, Windows XP Professional supports two physical CPUs just fine. Corsair produces a ultra-low latency CAS 2-3-2-6 registered DDR module for anyone looking for the absolute pinnacle of registered ECC DDR, and from the chipset standpoint, whereas dual processor chipsets used to come from the CPU manufacturer of the likes of ServerWorks, NVIDIA is now in the market, producing chipsets such as the nForce Professional that offer the same multimedia and graphics capabilities as flagship consumer motherboards including dual x16 PCI Express slots for SLI gaming.
The other reason why multi-core will make a difference in the future is that the games of tomorrow are going to be multi-threaded and multi-core capable. We can thank Microsoft and Sony for that.
With the next-generation Xbox and PlayStation 3, software developers around the world will begin to adopt programming styles and approaches that take advantage of multi-core programming. In fact, this was part of the PlayStation 2 development strength/frustration. Ask any multiplatform game developer what he thinks of the PS2 development environment and he’ll complain about poor documentation and poor integration between the vector units and CPU and GPU. The PlayStation 2’s non-traditional parallel architecture means that extra work is required. However, consider games like Metal Gear Solid 3 or Gran Turismo 4 and you can see where strengths of going with parallelism lie. It’s easier to make faster hardware. The Game Developer Conference where the PlayStation 2 launched was also the same conference where NVIDIA had their TNT2 on display.
In the next year, more and more games will be developed with multi-core CPUs in mind. Initially it’ll be the console world that benefits, but this will crossover into the PC world very quickly, and in a few years, it will be the single-threaded games that will be the odd products out. I’d bet that it’d also be this time when dual core desktop CPUs become affordable.