Thursday, April 15, 2010

Lil on Hyperthreading

 

http://www.taranfx.com/hyper-threading-cpu

http://linux.sys-con.com/node/33885

http://www.cyberciti.biz/faq/linux-disable-hyper-threading-for-pentium-4-server-grub-boot-loader/

 

Threading Algorithms

1.Time-slicing

¨A processor switches between threads in fixed time intervals.

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

2.Switch-on-event

¨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

image

 

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.

Disadvantages:

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