Intel's Crystal Ball Calls for More Cores in Future Processors, Tells Developers to Get Ready
Posted 07/02/08 at 02:49:47 PM | by Paul Lilly
Let's set aside Crysis, heavy encoding, and the few other specialized tasks capable of making a high end rig writher in agony. For everything else, we're at a point where the software needs to catch up with the hardware, and that hasn't always been the case. Remember when your anti-virus program would kick in, preventing you from being able to open a Word document or perform other mundane tasks with any sense of urgency? Neither Intel's brute-force, gazillion stage pipeline nor AMD's Rainman approach to efficiency were enough to get over the performance hump, and it took the advent of mulitple core processors to blow the doors open to multitasking.
Now that dual- and quad-core processors are mainstream parts, the roles have been reversed. There exists only a handful of programs developed to intelligently utilize additional cores, and even less that take advantage of the additional computing power effectively. Toss benchmarking by the wayside and you probably won't be able to discern between a dual-core E8200 (2.66GHz) system and one equipped with a quad-core Q9450 (2.66GHz). For that to change, developers must learn how to program for not only today's hardware. but tomorrow's too.
Lest there be any doubt what the future will bring, Intel is warning developers that they need to "start thinking about tens, hundreds, and thousands of cores now in their algorithmic development and deployment pipeline." In other words, multiple cores are the wave of the future and the company has no plans of changing direction after Dunnington, its upcoming 6-core processor.
Image Credit: TechReport
but seriously ...
Submitted by usp211816 on Sun, 2008-07-06 05:42
"What we have here is a failure to allocate."A core is a core is a core at this point. It’s not like my quad core has a GPU core a CPU core a Cell Processor and an Encryption accelerator. As awesome as that would be it just doesn’t exist.Back in the stoned age when new processors had new commands every generation programs relied on something to translate for them it was a little thing we called an Operating System. The initial function of an operating system was to allow communication between programs and hardware. Somewhere along the line OS’s Evolved into massive slow moving monsters that got in the way and people started programming around them.I think that the multi-core processor needs to get off its high horse and realize it’s just a piece of hardware. The OS should determine number of cores, track usage, and allocate threads to the least used core. Last I looked my windows not only recognizes how many cores the computer has but tracks usage as well. Several interfaces to manually assign affinity already exist. There’s not really any reason a piece of middleware or eventually the OS itself cant automate this process.
Programmers should have seen this one coming and realized when processor went to 2 and then 4 cores that manually coding for multi-cores was going to be an issue and they were going to have to adapt and find a way to identify number of cores and allocate accordingly. Much like any other advance… Lead, Follow or Get out of the way.
if all else fails...
hmmmm...
Submitted by Wildebeast on Thu, 2008-07-03 01:52
I'm not a programmer or an EE, so maybe I'm just dreaming here...
Wouldn't it be cool though, to have some magical (and highly complex) piece of software, which alots CPU cycles + RAM + hard drive access??
I mean in a way that you could tell your computer to use 1 or 2 cores (and maybe which specific ones) for your music program and IM/chat, the other 498 for Crysis, and prevent the Crysis processes from being inhibited by extra load(s) in the other two? Maybe if you're 10 years from now, you can also run Folding or something on another 300 cores.
I don't know that I'm talking about any software that's currently available. It just seems like someone should be thinking that way, eventually. To me, that's the point of the last paragraph.
You've had the power to do that all along....
Submitted by Talcum X on Thu, 2008-07-03 05:45
If you have 4 cores (or 40) you can set the affinity of each app (proccess) to run on a dif. core. Enjoy.
***********
Every morning is the dawn of a new error.
You know if they were
Submitted by deadBird on Wed, 2008-07-02 20:58
You know if Intel/AMD were smart enough, they'd remove such a requirement to utilize multiple cores. Expecting developers to yield to Intel's whims is never going to work out. Proc makers should find a way to remove this limitation.
I can't see how for realtime
Submitted by AndyYankee17 on Wed, 2008-07-02 14:50
I can't see how for realtime processing (games) this can be efficient. valve has already stated that it is inefficent to write code for more than 3 cores, and even with 3 cores you end up with 2 cores @ 100% and 1 @ 20%. however, for nonrealtime this could be amazing, imagine rendering in adobe primier or maya, encoding video and music. and if I'm not mistaken, don't GPUs have roughly a couple hundred "cores"?
I know the Folding crowd
Submitted by Satchboy on Wed, 2008-07-02 14:49
I know the Folding crowd would love a 500 core CPU. Farm in a box anyone? :)
I, for one, look forward to
Submitted by TheMurph on Wed, 2008-07-02 12:57
I, for one, look forward to the five-hundred-core Dream Machine. I plan to play 30 games at once.
maybe then you'll be fine
Submitted by norman on Wed, 2008-07-02 21:21
maybe then you'll be fine with two 30" monitors
-- Norm
Sounds dreamy! And think of
Submitted by One4yu2c on Wed, 2008-07-02 13:05
Sounds dreamy! And think of all the lolcats a five-hundred-core rig could process.
1 NEW COMMENT(S) | 29 TOTAL COMMENTS
2 NEW COMMENT(S) | 25 TOTAL COMMENTS









