Thursday, April 15, 2010

Lil on Hyperthreading


Threading Algorithms


¨A processor switches between threads in fixed time intervals.

¨High expenses, especially if one of the processes is in the wait state.


¨Task switching in case of long pauses

¨Waiting for data coming from a relatively slow source, CPU resources are given to other processes

3. Multiprocessing

¨Distribute the load over many processors

¨Adds extra cost

4. Simultaneous multi-threading

* Multiple threads execute on a single processor without switching.

* Basis of Intel’s Hyper-Threading technology

Concept of Hyper threading



i. At each point of time only a part of processor resources is used for execution of the program code.

ii. Unused resources can also be loaded, for example, with parallel execution of another thread/application.

iii. Extremely useful in desktop and server applications where many threads are used.


To take advantage of hyper-threading performance, serial execution can not be used.

  1. ¨Threads are non-deterministic and involve extra design
  2. ¨Threads have increased overhead
  3. Shared resource conflicts

No comments:

Post a Comment