Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Hyper Threading and Dual-Core

Status
Not open for further replies.

jonnyknowsbest

Technical User
Joined
Feb 3, 2004
Messages
163
Location
GB
I am aware that for software to take advantage of dual-core processing, it needs to be programmed to make use of multiple processors.

Is this also the case for Hyper Threading Technology?
 
Yes.


Carlsberg don't run I.T departments, but if they did they'd probably be more fun.
 
We've also had issues with Hyperthreading causing problems with some applications on our servers, especially on multiprocessor servers.

Stu..

Only the truly stupid believe they know everything.
Stu.. 2004
 
Hyperthreading and Dual-core processing do have the same concept in mind - "divide and conquer". However, keep in mind that dual-core takes hyperthreading to a new level. Instead of dividing one CPU for processing multiple threads, you now have two cores sharing the load.

It is true that if you benchmarked one application on your PC, it would not run any faster on a dual-core than it would on a single-core unless the program was written specifically to take advantage of an SMP environment (if it does, the difference will be slight). However, if you benchmarked your system running "multiple" apps that hog the CPU, you would likely notice a big difference, regardless of how the programs were written. Windows can treat each application as a separate thread, allowing more to be processed at one time.

Think of dropping a rock down a long pipe versus dropping a bundle of rocks down a well. The difference isn't speed of each individual rock, but instead the ability to drop more at once...

~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
It's worth noting that it's not so much a case of writing it to utilize multiple processors as it is a case of writing it to create multiple threads. The thread scheduler in the OS will assign the threads to CPUs (or execution units in the case of hyperthreading) as they are available. So the more highly threaded the application is, the better it can take advantage of hyperthreading or multiple CPUs/cores.

Pretty much all modern operating systems (and especially those that support multitasking) support multithreading. Even if all of your applications are single-threaded, running more than one at a time means that you have multiple threads running and can therefore take advantage of hyperthreading/SMP/dual cores to some extent. The key determining factor to how much of a performance increase you will see is how CPU intensive those threads actually are. Applications that launch multiple threads will obviously make more effective use of hyperthreading or SMP, but running multiple applications simultaneously will also get a boost.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top