¨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
¨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.
- ¨Threads are non-deterministic and involve extra design
- ¨Threads have increased overhead
- Shared resource conflicts