Multicore cpu impact on game engine engineering?

BRiT

(>• •)>⌐■-■ (⌐■-■)
Moderator
Legend
Supporter
EDIT: Wasn't sure which was the proper place to talk about this was, originally I posted this over in the Hardware forums, but I think it more readily applies to the software forum [ http://www.beyond3d.com/forum/viewtopic.php?t=12256 ]. Sorry for the cross-posting.

With today's announcement of Intel moving to dual-core cpus earlier than expected, how will this impact game development? Here's some of my meandering thoughts and questions on it.

Does anyone know at what speed a Pentium-M need to run at to be competative with a 4Ghz+ Pentium-4? I'd hope the first dual-core cpu produced would have a single-core (for those single-threaded applications) capable of besting a 4Ghz+ Pentium-4. Otherwise all games will run slower on Intel's new cpus.

Irregardless of overall performance benefits when running multiple applications, this will have a drastic impact on all software developers. They will need to design their games to be multi-core/smp friendly to gain any sort of benefit from the new cpus. And even then, I have doubts on the performance increases/benefits allowed by multithreaded engines.
 
Most companies that have software that would benefit from dual cores already have it coded into their applications. So there isn't a whole lot that they would need to change. A dual core chip would act just like a dual CPU system for any software/performance benefits. The performance boost will come more from running two things at once than it will one app really fast.

Also keep in mind even at a minimum you have 4-5 processes running on your system most of which have many threads within them. So you could have all the background apps running on one part of the core while your game runs on the other for example.

As for taking benefit of it in many applications it can be difficult. To use both simultaneously you need a part of the code capable of being ran in parallel. For instance if you want to add all numbers between 0 and 100 one thread could to 0-50 and the other could do 51-100. If you were adding an unknown set of numbers this would be hard to do because there are no good places to break the code down. It's really only beneficial in encoding/decoding apps and anything that has to do with crunching numbers that a single app can see a boost from dual core/dual cpu.
 
The kind of cache in desktop processors is extreme luxury for the tasks a game engine performs ... and that sentence from THG is nonsensical.
 
I thought cache misses(or prediction failures or something like that) were why you need larger caches...
 
increasing cache size without increasing associativity can cause higher cache misses from my understanding, though hardly enough to offset the positive gains from the larger on die cache.
 
Back
Top