Please register or login. There are 0 registered and 1156 anonymous users currently online. Current bandwidth usage: 326.30 kbit/s December 11 - 06:28am EST 
Hardware Analysis
      
Forums Product Prices
  Contents 
 
 

  Latest Topics 
 

More >>
 

    
 
 

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

Scheduling and Caching


By: Sander Sassen

Shared resources are the central spindle around which Hyper-Threading revolves; the whole concept is based on making efficient use of processor time and thereby wringing each and every last bit of performance from it. The more resources can be shared the more efficient Hyper-Threading becomes, as less processor time is wasted waiting for instructions to execute. However whilst shared resources are Hyper-Threading’ greatest strength and guarantee optimal efficiency they can also be it’s greatest weakness.

Pentium 4 Die


Fig 3. The 0.13-micron Pentium 4 die, notice the large area reserved for the 512KB cache.

Many of the processor resources inside the Hyper-Threading processor are not SMT aware, which means that they cannot distinguish whether a thread is being executed by the first or the second logical processor. For example to the execution unit a sequence of instructions is just data, no information is given about to what thread or logical processor this information belongs to and it is just executed as is. So a problem can arise when one thread claims a shared resource, for example the floating point unit, which the second thread also needs, and as a result the second thread will stall until the first one is completed.

There’s unfortunately no easy way around this as the Hyper-Threading implementation uses a lot of shared resources that are not SMT aware and thus cannot prevent these problems from occurring. Maybe a future generation of SMT processors will have SMT aware shared resources and thus can better schedule execution among them. This would be especially beneficial for the shared cache subsystem as that takes the biggest penalty when two threads are accessing different parts of the cache memory and the threads keep flushing the data in and out, quickly saturating the cache bandwidth and putting the brakes on the performance.



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.