Most Software still does not Utilize Multicore Chips
Posted on Dec 14, 2008 by
Paul WhiteAfter building my new computer with the intel core i7. I was expecting huge performance gains. After all I was going from a Pentium 4 2.6 hyperthreaded with 256K cache, to a core i7 2.6 with 4 cores each hyperthreaded and 8MB of
shared L3 cache along with 256K L2 cache on each core. Even though the new system definately blows away my old system, it still fails to utilize all that power.
A couple of guys ( from intel I think ) have written a book on how to program software for multiple cores and hyperthreading.
|
Increasing Performance through Software Multithreading
by Shameem Akhter and Jason Roberts |
|
Back when hyperthreading was first utilized on chips. Its intention was to create two que lines of work to be done. If you ran multiple programs you would see a huge performance gain because of this. But the hyperthreading didn't give you any performance gain when just running a single program. The same goes for the Multicore chips. They are great at handling multiple tasks, but they still don't give you much more power for single applications. Programs have to be written to utilize multicore chips. Software used in CAD and 3D rendering have utilized multiple cores for decades. As without the power of multicores it would take years for a single CPU to process the workload.
I recently installed Adobe CS4. At first glance it appears that Adobe Media Encoder does take advantage of multiple cores. However when encoding a WMV to a FLV, I was dissappointed to see that only about 40% of my CPU was utilized. In my mind if Adobe CS4 was truely using all my processing power, I should see 100% CPU utilization. As this is what I used to get with my older P4 system.
This makes alot of sense why the core i7 ASUS
motherboards were built around support for overclocking. The only way you can really get the performance out of your new system is to overclock it. I have heard of guys overclocking their system from 2.6 Ghz to over 4 Ghz, and still being able to cool it on air. Until software developers start writing software to support parrelel processing, the only way to get more speed out of your system would be to overclock it. This is something I am considering.
Something to keep in mind is I am running a 32 bit version of
Windows XP. So I am only getting access to 3 of the 6 GB of ram I have installed. Vista, as much of a resource hog it is, might give me better performance as it was designed to run on system with larger amounts of RAM to play with. Not sure if Vista would also utilize my CPU more. I have refused upgrading to
Windows Vista, but I may be an early adopter of
windows 7 due to some of the rumored performance enhancements.
Discussion
No Comments have been submitted