Even when we put a regular processor
under 100% load, we're never fully utilizing 100% of the execution units. With a
HyperThreading enabled processor those spare execution units can used towards
computing other things now.
As you saw from the previous slides from last
years Intel Developer Forum, the single Superscalar processor is busy computing information however
about half the processor remains unused.
In the
Multiprocessing portion of the demonstration we see a dual CPU system working on
two separate threads, however again about 50% of both CPU's remain unutilized.
In the lone HyperThreading enabled processor, both threads are simultaneously being
computed and the CPU usage efficiency has gone up
from around 50% to over 90%!
The last example illustrated that dual
HyperThreading enabled processors can naturally work on four independent threads at the same time.
Again CPU efficiency is around 90%.
While this sounds all very well and good, it's also about the
most ideal situation ever so let's get back to the real world.
In those examples there is a of overlapping when computing
threads.
For the execution units that have been "overlapped", twice as
much work is required now, so the end result is not necessarily any faster than a
regular superscalar processor that worked on the same information separately. If you were
to run two pieces of software that are completely different, and use different
execution units, your system performance should get a noticeable
boost!
The operating system will also play a key
role in how well HyperThreading works. The OS assigns operations
to the independent logical processors, and so if it's determined
that one of the logical CPU's is to remain idle, the OS will issue a HALT
command to the free logical processor thus devoting all of the other system
resources to the working logical processor.
Please understand this is an extremely simplified
explanation on how HyperThreading works. For more detailed information,
you can read through these sections from from Intel's website: HyperThreading and Xeon processors , eBusiness Xeon and desktop HyperThreading .
pcstats test system specs |
|
computer hardware:
|
server test system |
client system #3 |
client system #2 |
processor: |
dual xeon 2.0 ghz |
pentium 3 800eb |
pentium 4 2.8 |
clock
speed: |
20 x 100 mhz = 2.0 ghz |
6 x 133 mhz = 800 mhz |
21 x 133 mhz = 2.8 ghz |
motherboards: |
tyan s2722 |
asus cuv4x-e |
msi 648 max |
chipset: |
e7500 |
via 694x |
sis648 |
videocard: |
ati rage xl |
nvidia geforce ddr |
msi g4ti4600-td |
memory: |
2x 512mb registered samsung pc2100
|
512mb apacer pc133 |
256mb corsair xms3500 |
hard
drive: |
2x 40gb maxtor d740x |
40gb maxtor
diamondmax+ |
20gb maxtor
diamondmax+ |
cdrom: |
notebook cd-rom |
lg 40x cd-rom |
nec 52x cd-rom |
floppy: |
panasonic 1.44mb floppy drive |
panasonic 1.44mb floppy drive |
panasonic 1.44mb floppy drive |
heatsink: |
appro custom heatsinks |
retail intel hsf |
avc sunflower |
powersupply: |
appro 350w custom psu |
sparkle 300w |
vantec 470w stealth psu |
benchmarks: |
webmark 2001 netbench 7.0 webbench 7.0 sisoft
sandra |
|
|
software
setup: |
windows 2000 server + sp2 intel inf
4.04.1012 windows 2000 default driver |
windows 2000 pro + sp3 via 4in1
4.39v detonator 40.72 |
windows 2000 pro + sp2 intel inf
4.04.1012 detonator 40.72 |