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

  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 

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.