Hyper - : Threading Technology
Hyper - : Threading Technology
Hyper - : Threading Technology
Group 1:James
Juan
Mustaali
Raghu
Sumanth
Introduction-a Few Buzzwords
Process
Context
Thread
Context switches - fooling the processes
Single Threaded CPU
Number of empty
execution slots also gets
doubled !!!!
Super Threading
Year 1997, Digital Equipment Corporation (DEC) along with the group from University of
Washington was working on a project but in 1997 Intel licensed the patents for this
technology and hired most of the guys who were working on the project as part of a large
legal settlement between these companies
Year 2003, Hyper threading makes it way to the Desktop Processor, Intel® Pentium® 4
Implementing Hyper-threading
Replicated
Register renaming logic, instruction pointer, ITLB, return stack predictor,
Partitioned
Re-order buffers,load/store buffer, various queues :scheduling queue,uop queue
Shared
Caches:Trace Cache, L1,L2,L3, Micro-Architectural registers , Execution Units
Replicated Resources
Necessary in order to maintain two fully independent contexts on each logical processor.
The most obvious of these is the instruction pointer (IP), which is the pointer that helps the
processor keep track of its place in the instruction stream by pointing to the next
instruction to be fetched.
In order to run more than one process on the CPU, you need as many IPs as there are
instruction streams keep track of. Or, equivalently, you could say that you need one IP for
each logical processor.
Similarly, the Xeon has two register allocation tables (RATs), each of which handles the
mapping of one logical processor's eight architectural integer registers and eight
architectural floating-point registers onto a shared pool of 128 GPRs (general purpose
registers) and 128 FPRs (floating-point registers). So the RAT is a replicated resource that
manages a shared resource (the microarchitectural register file).
Partitioned Resources
But seems to have a little trouble with a multi thread applications and some single threaded
applications at the same time. It seems that the Hyper threaded CPU cannot reach its full
potential if one of the applications in the multitasking scenario is multi threaded and tries
to keep both logical CPUs to itself.
Conclusions
It is quite remarkable how almost every single threaded benchmark still got a
small performance boost from Hyper Threading, between 1 and 5%. This shows
that Hyper Threading has matured as it almost never decreased performance, as
it did in the first hyper threaded Xeons.
Most multi-tasking scenarios were measurably faster with Hyper Threading on.
Hyper Threading is a very smart way to improve CPU performance. But is it
more responsive? In some situations yes. Applications tend to load a bit faster
and performance of the foreground task tends to suffer a bit.
Don't expect Hyper Threading to enable you to run two intensive tasks on your
pc. Hyper Threading can enable you to perform relatively light tasks in
background (like playing MP3s) while running games or other CPU intensive
tasks, however.
Conclusions contd…
The people who will gain the most from Hyper Threading are those who
like to run some typical multithreaded applications on their desktop, not
the multi-tasking people.
With Hyper Threading you get the fast gaming and single threaded
performance of a typical desktop CPU, and at the same time, you get a
Dual CPU system that is as fast as a lower clocked dual system.
Bibliography
http://www.pcworld.com/news/article/0,aid,107492,00.asp
http://www6.tomshardware.com/cpu/200203131/dual-06.html
http://arstechnica.com/paedia/h/hyperthreading/hyperthreading-1.html
http://www.slcentral.com/articles/01/6/multithreading/page11.php
http://www.2cpu.com/Hardware/ht_analysis/hyperthreading.doc
http://www.2cpu.com/Hardware/ht_analysis/3.html
http://www.pcworld.com/news/article/0,aid,107492,00.asp
http://www6.tomshardware.com/cpu/20021202/hyperthreading-01.html
http://www6.tomshardware.com/game/20021228/index.html
http://www.aceshardware.com/read.jsp?id=50000320