So Your Processor has Multiple Cores -- Now What?

So Your Processor has Multiple Cores -- Now What?

It is nearly impossible today buy servers or desktops that do not have processors with multiple cores.

The use of several cores has gone from an important innovation to a universal feature in two years' time. (Technically, non-x86 processors had multiple cores before this time frame, but the concept was not mainstream until the x86 vendors -- Intel and AMD -- picked it up.) As a result of this ubiquity, sites that are buying new servers need to begin considering the effect of multiple cores.

Before starting in, here's a quick refresher. A core comprises most of what used to be a single processor. When semiconductor vendors wanted to put multiple processors on a single chip, they took the basic processor and trimmed a few features that made no sense to duplicate, and called what was left a "core." In fact, it was the principal or core portion of a processor.

The vendors then placed multiple cores (either two or four) on a single chip, which was now referred to as a multicore processor. The primary motivation for this design was the inability to continue ramping up the performance of a processor: Each increment in speed required significant increments in power, such that the processor would soon melt if a new approach was not devised. As a result, vendors took slower cores that required much less power and bundled them on a single chip. The result was twice as much throughput, albeit at slower speeds, with minor increases in power consumption.

On servers, where the software is designed to take advantage of multiple processing units, this approach provided distinctly better performance. But not nearly the 2:1 advantage that dual cores might suggest. The first reason is that each core ran slower than its counterpart on a single-core processor; and secondly, the two cores shared the same access to system memory (the so-called, memory bus). This meant that one core could be forced to wait for data while the other core was loading its own data. Nonetheless, despite these obstacles the dual-core chip provided more performance overall per unit of power consumed for server applications.

Desktops and client devices were (and still remain) a world apart, however. Much of desktop software is not multithreaded. Hence, most desktop products make use of only one core.

The result is that for desktop systems, multicore was not a big performance boost. In fact, in some cases it represented a performance loss because the one executing core ran more slowly. Where the platform ran two applications simultaneously, there was an overall increase in performance even though each application would still run more slowly.

Needless to say, this hardly charmed desktop users. Over the past two years, however, the cores have been revved several times and now provide better performance than their single-core predecessors. As a result, new desktop machines today do consume less power and provide more performance than their forebears. This is good news and should mean that no hesitation should exist about plunging into multicore systems. But it does not address the fact that many cores lie fallow on desktop machines.

This state of affairs might suggest that buying dual-core chips is quite sufficient and that quad-core (that is, four cores) processors are not needed. The math, however, is a bit more complex.

The real answer? It depends. For desktops for knowledge workers, the dual-core solution is plenty. It provides more power than previous generations, and it will certainly suffice for the next few years (based on a standard desktop time-line of three years).

However, for power users and for workstations, the situation is not so clear. The more advanced the system, the greater the likelihood its applications are threaded. Even if not, those are the first applications that are likely to be updated to take advantage of multiple cores.

Nowhere is this clearer than in the traditional workstation market, where dual quad-core processors (so, a total of eight cores) are now the norm. When considering high-end desktops, it becomes clear that the premium for quad-core vs. dual-core is not huge; moreover, it's shrinking daily. So, quad-core chips will frequently be a good choice.

However, the right way to make the decision is to examine the software complement and find out whether the key applications are capable of taking advantage of multiple cores. If not, check on upcoming releases. If so, favor quad cores; otherwise dual cores will suffice.

Curiously, if you choose quad core, Intel is currently your only option. AMD shipped a few quad-core chips in September and then ran into a glitch that halted further production. AMD's quad-core processors are expected to start shipping again, this time in large quantities, in February.

The bottom line is that multiple cores are now universal, so you have no choice but to buy them when upgrading x86-based servers and desktops. However, on desktops, you should expect only incremental performance improvement over late models of Pentium 4 processors.

And until desktop software is rewritten to make use of the multiple cores, the performance boosts of successive generations of desktop chips will be of a similar modest scale. High-end desktops will see the greatest jump, and so the more cores (quad vs. dual), the better.

The nice thing is that in all cases, the performance per unit of power is vastly better; and the power consumption in absolute terms is almost always better as well.

Andrew Binstock's blog on software and technical matters can be found at http://binstock.blogspot.com.
Topics: