Please register or login. There are 0 registered and 477 anonymous users currently online. Current bandwidth usage: 326.30 kbit/s December 16 - 10:57pm EST 
Hardware Analysis
      
Forums Product Prices
  Contents 
 
 

  Latest Topics 
 

More >>
 

    
 
 

  Hyper-Threading On The Desktop 
  Nov 14, 2002, 02:00am EST 
 

SMT and SMP


By: Sander Sassen

Stating that previous, conventional CPUs do not offer true-multitasking abilities might sound like a bold statement, especially since Windows is all about multitasking. In essence conventional CPUs use various techniques to mimic multitasking behavior or shuffle instructions around and so does the Operating System. Modern CPUs for example, use out-of-order execution, OOE, which enables the CPU to make maximum use of processor resources.

An OOE processor combines multiple instruction sequences, meant to be executed in a specific order and reschedules them so that they can be executed with the highest efficiency. After execution they’re arranged back into their original order and the results are then written to main memory or are available for the next instruction sequence. To the user this process is transparent, only the CPU knows in what order the instructions were actually executed.

Dual Xeon SMP Configuration


Fig 2. A typical SMP configuration featuring two Intel Xeon processors that feature Hyper-Threading.

Something similar actually happens when running Windows. To the user it appears that multiple programs are running at the same time, but in reality there’s only one program active at any given instant. A conventional single-threaded CPU can only execute one of these programs at a time and thus the Operating System mimics multitasking behavior by giving each program a piece of the available processor time and then rapidly alternating between the pieces. What you change when you give a certain program ‘Above Normal’ priority in the taskmanager is simply giving it more execution time.

With SMT, Simultaneous Multi Threading, and SMP, Symmetric Multi Processing, we have two ways of going beyond the limitations of a conventional single-threaded processor. SMP is simply the addition of another single-threaded processor and results in a configuration being able to execute two threads simultaneously; SMT is the presence of another logical processor within the same physical processor and again the ability to execute two threads simultaneously.

From that perspective it would mean that SMP and SMT are somewhat comparable and that Hyper-Threading is an alternative to SMP. Unfortunately this is not entirely accurate, although Hyper-Threading tackles a lot of the multitasking hurdles and does offer true-multitasking support there’s more going on in the processor’ core that needs attention.



1. Introduction
2. SMT and SMP
3. Scheduling and Caching
4. Proformance or Performance
5. Hardware and Software
6. Benchmarks
7. Benchmarks: Multitasking
8. Benchmarks: Multitasking Cont.
9. Summary
10. Appendix

Discuss This Article (4 Comments) - If you have any questions, comments or suggestions about the article and/or its contents please leave your comments here and we'll do our best to address any concerns.


Rate This Product - If you have first hand experience with this product and would like to share your experience with others please leave your comments here.

 

    
 
 

  Related Articles 
 
 

  Newsletter 
 
A weekly newsletter featuring an editorial and a roundup of the latest articles, news and other interesting topics.

Please enter your email address below and click Subscribe.