Intel Recommends Developers Plan for Massive Multi-Core Processing
Intel's research blog recently discussed the direction that developers should plan for in the coming years.
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.
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.
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.
Top Rated Comments
(View all)47 months ago
I hope that programmers begin to do this. Is there a theoretical limit on how many cores there can be?
47 months ago
I'll worry about it when software has the ability to keep up with a Core 2 Duo, let alone 4-6-8 or 16 core. Until the software is developed, it's just a waste buying multi core processors
47 months ago
"the basic idea…program for as many cores as possible, even if it is more cores than are currently in shipping products. "
Apple has this in mind. It looks like Grand Central, and also OpenCL should helpfully take some of the weight off developers' shoulders regarding optimally using multiple cores and multiple processors...
The great thing is, that you can buy multi-core systems now, and then get a performance boost when Snow Leopard comes out next year.
Nehalem chips due soon will surely be being set up by Apple to be in line with getting a decent performance boost from Snow Leopard. Improving performance on a Core 2 Duo is easy. A dual socket Nehalem with 8 cores each? That's what Snow Leopard seems to be aiming squarely at (and it doesn't stop there - seeing as it's more about multiple cores, than using more than 2 sockets currently).
In terms of theoretical limits - Intel already has protypes with 100s of cores on.
Apple has this in mind. It looks like Grand Central, and also OpenCL should helpfully take some of the weight off developers' shoulders regarding optimally using multiple cores and multiple processors...
The great thing is, that you can buy multi-core systems now, and then get a performance boost when Snow Leopard comes out next year.
Nehalem chips due soon will surely be being set up by Apple to be in line with getting a decent performance boost from Snow Leopard. Improving performance on a Core 2 Duo is easy. A dual socket Nehalem with 8 cores each? That's what Snow Leopard seems to be aiming squarely at (and it doesn't stop there - seeing as it's more about multiple cores, than using more than 2 sockets currently).
In terms of theoretical limits - Intel already has protypes with 100s of cores on.
47 months ago
I love my MacPro 8 core system. It just SCREAMS! BUT, many many many tasks are single threaded so it's "technically" only as fast as a single core. Even with this being true the benefit of having the multi-core system is I can still do many HEAVY single threaded apps all at the same time without it affecting performance of each individual task.
So while encoding footage to different formats i can still use final cut pro, motion, dvd studio pro, safari, etc.... all at full speed while my box is cranking away at several intense tasks.
BUT with all that said, I would love to have more apps more multi-threaded oriented. It will need a different way of thought. When encoding footage, lots of formats depend on a previous frame to know what to base the current frame on. So in those situations it'll have to break the footage into equal blocks divisible by the "keyframe" numbers. So that way each processor can be assigned a sequence range of frames to encode and then piece it all together in the end. There would be too much stalling involved if you were to try to chain all the processors to work together on the same subset of frames.
Anyway, I'm very excited about apple working on "Grand Central". This will be essential to the future of computing.
So while encoding footage to different formats i can still use final cut pro, motion, dvd studio pro, safari, etc.... all at full speed while my box is cranking away at several intense tasks.
BUT with all that said, I would love to have more apps more multi-threaded oriented. It will need a different way of thought. When encoding footage, lots of formats depend on a previous frame to know what to base the current frame on. So in those situations it'll have to break the footage into equal blocks divisible by the "keyframe" numbers. So that way each processor can be assigned a sequence range of frames to encode and then piece it all together in the end. There would be too much stalling involved if you were to try to chain all the processors to work together on the same subset of frames.
Anyway, I'm very excited about apple working on "Grand Central". This will be essential to the future of computing.
47 months ago
I hope that programmers begin to do this. Is there a theoretical limit on how many cores there can be?
From the sound of it, there could be a lot more than the existing max 8! :eek: This is gonna be interesting. However, could more cores mean that Moore's Law is seeing the beginning of the end?
47 months ago
It is just incredible to think about what is going to be in production when I am in the market for a new computer in 2010. Wow.
[ Read All Comments ]

Analytics firm Chitika today released a report showing that by its metrics iOS has now surpassed OS X in overall web traffic share in the United States. Chitika's methodology involves an analysis...
One of the most frequent reasons for an iPhone to go on a trip to the Apple Store's Genius Bar is because of water damage. Typically, a water damaged iPhone can be replaced for a flat $199...
TheVerge's Joshua Topolsky summarizes the iPad 3 casing findings reported earlier today, but also adds his own sources regarding some details of the iPad 3.
Image from RepairLabs
As...
Last July, Apple discontinued the white MacBook from its consumer lineup, pushing consumers toward the company's popular MacBook Air line or the 13-inch MacBook Pro. The company didn't kill...
Popular iPhone Twitter client Tweetbot has finally arrived on the iPad, with a user interface instantly familiar to any current Tweetbot user. Designed for the Twitter power-user, Tweetbot packs a...