WhiteSites Blog

Most Software still does not Utilize Multicore Chips

Posted on Dec 14, 2008 by Paul White

After 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. 

  Multi-Core Programming
Increasing Performance through Software Multithreading
by Shameem Akhter and Jason Roberts
Access purchased book content
Sign up to receive news about this book
Sample Chapter
Download Excerpt: Error Diffusion
Download Excerpt: Memory-Related Bottlenecks
Table of Contents

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.

Permalink
4621 Visitors
4621 Views

Discussion

No Comments have been submitted
name
Email Needed to confirm comment, but not made public.
Website
 
 
When you Post your Comment, you'll be sent a confirmation link. Once you click this link your thoughts will be made public.. Posts that are considered spam will be deleted, Please keep your thoughts and links relavent to this Article