Multiple Core Processors: Is More Always Better?

VIA QuadCore E-Series Processor

VIA Gallery/CC BY 2.0/Flickr

 

Multiple-core processors have been available in personal computers since the late 1990s. Multi-core designs addressed the problem that processors hit the ceiling of their physical limitations in terms of their clock speeds and how effectively they could be cooled and still maintain accuracy. By moving to extra cores on the single processor chip, manufacturers avoided problems with the clock speeds by effectively multiplying the amount of data that could be handled by the CPU.

When they originally were released, it was just two cores in a single CPU but now there are options for four, six and even 10 or more. In addition to this adding cores, Intel's Hyper-Threading technology virtually doubles the cores that the operating system sees.

Having two cores in a single processor has always had tangible benefits thanks to the multitasking nature of modern operating systems. After all, you may be browsing the web or typing a report while an anti-virus program runs in the background. The real question for many people may be if having more than two is really beneficial and if so, how many?

Threading

A thread is simply a single stream of data from a program passing through the processor on the computer. Each application generates its own one or many threads depending upon how it is running. With multitasking, a single-core processor can only handle a single thread at a time, so the system rapidly switches between the threads to process the data in a seemingly concurrent manner.

The benefit of having multiple cores is that the system can handle more than one thread. Each core can handle a separate stream of data. This architecture greatly increases the performance of a system that is running concurrent applications. Since servers tend to run many concurrent applications at a given time, the technology was originally developed for the enterprise customer — but as personal computers got more complex and multitasking increased, they too benefited from having extra cores.

Software Dependency

While the concept of multiple-core processors sounds appealing, there is a major caveat to this technology. In order for the true benefits of the multiple processors to be seen, the software that is running on the computer must be written to support multithreading. Without the software supporting such a feature, threads will be primarily run through a single core thus degrading the efficiency. After all, if it can only run on a single core in a quad-core processor, it may actually be faster to run it on a dual-core processor with higher base clock speeds.

All of the major current operating systems support multithreading capability. But the multithreading must also be written into the application software. The support for multithreading in consumer software has improved over the years but for many simple programs, multithreading support is still not implemented due to the complexity of the software build. For example, a mail program or web browser is not likely to see huge benefits to multithreading as much as a graphics or video editing program would, where the computer processes complex calculations.

A good example to explain this tendency is to look at a typical computer game. Most games require some form of rendering engine to display what is happening in the game. In addition, some sort of artificial intelligence controls events and characters in the game. With a single core, both of these must function by switching between the two. This approach is not efficient. If the system had multiple processors, the rendering and AI could each run on a separate core — an ideal situation for a multiple-core processor.

Is 4 > 2?

Going beyond two cores presents some conceptual challenge, given that the answer for any given computer buyer depends upon the software he or she typically uses. For example, many games still offer little performance difference between two and four cores. There are essentially no games that see tangible benefits from beyond four processor cores.

On the other hand, a video encoding program that transcodes video will likely see huge benefits as individual frame rendering can be passed to different cores and then collated into a single stream by the software. Thus having eight cores will be even more beneficial than having four.

Clock Speeds

The higher the clock speed, the faster the processor. Clock speeds become more nebulous when you consider speeds relative to multiple cores because processors crunch multiple data threads thanks to the extra cores but each of those cores will be running at lower speeds because of the thermal restrictions.

For example, a dual-core processor may support base clock speeds of 3.5 GHz for each processor while a quad-core processor may only run at 3.0GHz. Just looking at a single core on each of them, the dual-core processor will be able to about 14 percent faster than on the quad-core. Thus, if you have a program that is only single threaded, the dual-core processor is actually more efficient. Then again, if your software can use all four processors, then the quad-core processor will actually be about 70 percent faster than that dual-core processor.

Conclusions

For the most part, having a higher core count processor is generally better if your software and typical use cases support it. For the most part, a dual-core or quad-core processor will be more than enough power for a basic computer user. The majority of consumers will see no tangible benefits from going beyond four processor cores as there is so little non-specialized software that can take advantage of it. The only people who should consider such high-core-count processors are those who perform complex tasks such as desktop video editing or complicated science and math programs.

Check out our How Fast of a PC Do I Need? article to get a better idea of what type of processor to best matches your computing needs.