190 likes | 734 Views
Hyper-Threading. Neil Chakrabarty William May. To Be Tackled. Review of Threading Algorithms Hyper-Threading Concepts Hyper-Threading Architecture Advantages/Disadvantages Applications. Threading Algorithms. Time-slicing A processor switches between threads in fixed time intervals.
E N D
Hyper-Threading Neil Chakrabarty William May
To Be Tackled • Review of Threading Algorithms • Hyper-Threading Concepts • Hyper-Threading Architecture • Advantages/Disadvantages • Applications
Threading Algorithms • Time-slicing • A processor switches between threads in fixed time intervals. • High expenses, especially if one of the processes is in the wait state. • 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
Threading Algorithms (cont.) • Multiprocessing • Distribute the load over many processors • Adds extra cost • Simultaneous multi-threading • Multiple threads execute on a single processor without switching. • Basis of Intel’s Hyper-Threading technology.
Hyper-Threading Concept • At each point of time only a part of processor resources is used for execution of the program code. • Unused resources can also be loaded, for example, with parallel execution of another thread/application. • Extremely useful in desktop and server applications where many threads are used.
Hyper-Threading Architecture • First used in Intel Xeon MP processor • Makes a single physical processor appear as multiple logical processors. • Each logical processor has a copy of architecture state. • Logical processors share a single set of physical execution resources
Hyper-Threading Architecture • Operating systems and user programs can schedule processes or threads to logical processors as if they were in a multiprocessing system with physical processors. • From an architecture perspective we have to worry about the logical processors using shared resources. • Caches, execution units, branch predictors, control logic, and buses.
Advantages • Extra architecture only adds about 5% to the total die area. • No performance loss if only one thread is active. Increased performance with multiple threads • Better resource utilization.
Disadvantages • 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
Applications • Video Watermark Detection • Two stages • Video Decoding • Image-domain watermark detection • Video Processing • 3 stages • Reading Video information • Processing Video information • Writing Video information
Video Processing • Most time is spent in processing. • Divide the video processing into threads • 4 Threads in this example • Have to worry about waiting until all processing threads are done before writing back the data out.
To Be Tackled • Review of Threads • Hyper-Threading Concepts • Hyper-Threading Architecture • Advantages/Disadvantages • Applications
References • Intel Technology Journal. Volume 6 Issue 1. February 14, 2002 • Intel Hyper-Threading Technology Review • www.digit-life.com/articles/pentium4xeonhyperthreading/ • HyperThreading Threads Its Way into Application • http://www.tomshardware.com/cpu/20021227/ • Introduction to Multithreading, Superthreading and Hyperthreading • http://www.arstechnica.com/paedia/h/hyperthreading/hyperthreading-1.html