Intel Recommends Developers Plan for Massive Multi-Core Processing
Intel's Anwar Ghuloum describes how developers have been listening to Intel's announcements that they are increasingly heading towards multi-core processors in the future. At this point, they suggest that developers program for as many cores as possible, even if it is more cores than are currently in shipping products.
Ultimately, the advice Ill offer is that these developers should start thinking about tens, hundreds, and thousands of cores now in their algorithmic development and deployment pipeline. This starts at a pretty early stage of development; usually, the basic logic of the application should be influenced because it drives the asymptotic parallelism behaviors.
Multi-core processing has been an ongoing trend in modern processors. Each "core" acts independently from the others and can essentially be considered its own individual processor. All shipping Macs are now at least dual-core, while the high-end Mac Pro ships with 8 cores across two 4-core processors. Intel's forthcoming Nehalem processor will introduce up to 8 cores per processor. If combined into a dual-processor configuration, we could see a 16-core Mac Pro in the near future.
While each core acts independently of the others, a dual core processor is not necessarily twice as fast as a single core processor due to inefficiencies in splitting up tasks. In recognizing this trend towards multi-cores, Apple has announced that a major feature (Grand Central) of the next version of Mac OS X (Snow Leopard) will specifically focus on optimizing for multi-core processing.