Intel Hyper-threading -- pointless on the desktop?

  • Thread starter Thread starter Steve Sutton
  • Start date Start date
S

Steve Sutton

I've been testing the new P4 2.9GHz desktop with Hyperthreading (HT). (It's
on an ASUS P4P800 motherboard.) I've surfed an endless list of gushing HT
reviews on the 'Net. But my tests don't jive. Hope I'm doing something
wrong.

It started when I noticed that a CPU-intensive compile under HT took about
1/3 the time as on a 450 MHz PIII -- I would have expected something closer
to 1/6. So I ran some tests. I build a small script that ran a "for" loop a
large number of times -- no I/O, just CPU-intensivity.

Under Hyperthreading, running this as the only active process (i.e., thread)
on the machine took 14 seconds start-to-finish. Running two such concurrent
jobs took 17 seconds. So far it sounds like HT is nicely on the job,
finishing closer to the 14 secs I'd expect with a dual-processor than the 28
secs I would predict from single, non-HT processor. Nice. Well...not quite.

When I turn off HT, the two concurrent jobs now finish in 18 secs. Wait. Can
this be? Check it again.Yep. Barely a 6% improvement under HT. What about
the single-thread case: 9 secs! (Close to the 6-fold improvement I would
expect over the older 450MHz PIII.) The comparable HT value of 14 was almost
50% slower!

It would appear that HT gives me a 6% improvement on concurrent threads at a
50% penalty for a solo thread! While some of the activities on my desktop
computer are concurrent, most are not. Overall, I think I'm better off
without HT.

Has anybody else looked into this?
 
Applications must be written to use HT and the task and
application determines how much is done in HT mode.


| I've been testing the new P4 2.9GHz desktop with
Hyperthreading (HT). (It's
| on an ASUS P4P800 motherboard.) I've surfed an endless
list of gushing HT
| reviews on the 'Net. But my tests don't jive. Hope I'm
doing something
| wrong.
|
| It started when I noticed that a CPU-intensive compile
under HT took about
| 1/3 the time as on a 450 MHz PIII -- I would have expected
something closer
| to 1/6. So I ran some tests. I build a small script that
ran a "for" loop a
| large number of times -- no I/O, just CPU-intensivity.
|
| Under Hyperthreading, running this as the only active
process (i.e., thread)
| on the machine took 14 seconds start-to-finish. Running
two such concurrent
| jobs took 17 seconds. So far it sounds like HT is nicely
on the job,
| finishing closer to the 14 secs I'd expect with a
dual-processor than the 28
| secs I would predict from single, non-HT processor. Nice.
Well...not quite.
|
| When I turn off HT, the two concurrent jobs now finish in
18 secs. Wait. Can
| this be? Check it again.Yep. Barely a 6% improvement under
HT. What about
| the single-thread case: 9 secs! (Close to the 6-fold
improvement I would
| expect over the older 450MHz PIII.) The comparable HT
value of 14 was almost
| 50% slower!
|
| It would appear that HT gives me a 6% improvement on
concurrent threads at a
| 50% penalty for a solo thread! While some of the
activities on my desktop
| computer are concurrent, most are not. Overall, I think
I'm better off
| without HT.
|
| Has anybody else looked into this?
|
|
 
Thanks, Jim. That would explain a lot. I take your comment to mean "there's

no point in enabling HT (e.g., from the BIOS) unless you're running an

HT-specific app." Can I assume from your comments that even if HT is OFF in

the BIOS, an HT-aware app can enable it for its own use? This leads to the

operationl question: Is it better to turn if off by default in the BIOS and

let HT apps enable it, or by turning it off in the BIOS do I preclude such

apps from enabling it?

Cheers.
 
It must be enabled in the BIOS and the application must be
able to use HT. There is little benefit to turning it off.

As time passes, more programs will be recompiled to use HT.
For now, PhotoShop and a few others are it.


| Thanks, Jim. That would explain a lot. I take your comment
to mean "there's
|
| no point in enabling HT (e.g., from the BIOS) unless
you're running an
|
| HT-specific app." Can I assume from your comments that
even if HT is OFF in
|
| the BIOS, an HT-aware app can enable it for its own use?
This leads to the
|
| operationl question: Is it better to turn if off by
default in the BIOS and
|
| let HT apps enable it, or by turning it off in the BIOS do
I preclude such
|
| apps from enabling it?
|
| Cheers.
|
in message
| | > Applications must be written to use HT and the task and
| > application determines how much is done in HT mode.
| >
| >
message
| > | > | I've been testing the new P4 2.9GHz desktop with
| > Hyperthreading (HT). (It's
| > | on an ASUS P4P800 motherboard.) I've surfed an endless
| > list of gushing HT
| > | reviews on the 'Net. But my tests don't jive. Hope I'm
| > doing something
| > | wrong.
| > |
| > | It started when I noticed that a CPU-intensive compile
| > under HT took about
| > | 1/3 the time as on a 450 MHz PIII -- I would have
expected
| > something closer
| > | to 1/6. So I ran some tests. I build a small script
that
| > ran a "for" loop a
| > | large number of times -- no I/O, just CPU-intensivity.
| > |
| > | Under Hyperthreading, running this as the only active
| > process (i.e., thread)
| > | on the machine took 14 seconds start-to-finish.
Running
| > two such concurrent
| > | jobs took 17 seconds. So far it sounds like HT is
nicely
| > on the job,
| > | finishing closer to the 14 secs I'd expect with a
| > dual-processor than the 28
| > | secs I would predict from single, non-HT processor.
Nice.
| > Well...not quite.
| > |
| > | When I turn off HT, the two concurrent jobs now finish
in
| > 18 secs. Wait. Can
| > | this be? Check it again.Yep. Barely a 6% improvement
under
| > HT. What about
| > | the single-thread case: 9 secs! (Close to the 6-fold
| > improvement I would
| > | expect over the older 450MHz PIII.) The comparable HT
| > value of 14 was almost
| > | 50% slower!
| > |
| > | It would appear that HT gives me a 6% improvement on
| > concurrent threads at a
| > | 50% penalty for a solo thread! While some of the
| > activities on my desktop
| > | computer are concurrent, most are not. Overall, I
think
| > I'm better off
| > | without HT.
| > |
| > | Has anybody else looked into this?
| > |
| > |
| >
| >
|
|
 
I have a HT processor. I can tell you that the difference in
overall performance between using HT and a Multiprocessor
HAL and disabling it and using the ACPI Hal is around 2%.
Some gaming/tweaking sites will recommend that you turn
it off and use the ACPI HAL, but I don't recommend users
disable HT'ing.
 
Steve said:
Thanks, Jim. That would explain a lot. I take your comment to mean "there's

no point in enabling HT (e.g., from the BIOS) unless you're running an

HT-specific app."


There could be if you were running two entirely independent programs, so
each could run independent of the other in its own virtual processor.
But that is not really a common case. Other than that you should be
able to run normal 'desktop' tasks while a cpu intensive process runs
flat out in the other VP - but the benefit of that may not be very
apparent as such processes normally run at low priority anyway

And if you are running two that both have fairly heavy IO use (As two
compiles using work file might well be) you are still going to have all
that IO to handle - with disk seeks potentially fighting, which might
explain some of your results
 
R.McCarthy
you wrote :"I have a HT processor. I can tell you that the difference i
overall performance between using HT and a Multiprocesso
HAL and disabling it and using the ACPI Hal is around 2%
Some gaming/tweaking sites will recommend that you tur
it off and use the ACPI HAL, but I don't recommend user
disable HT'ing.

I am wrestingling with this issue so I want to ask about your response cited above
1) regardless of how you installed XP, are you suggesting that a HT enabled system NEEDs or demands a MP HAL and therefore installs on during the XP setup process?
2.) Are you suggesting that disabling HT in the bios in a HT enabled systme will cause windows to simply change the MP HAL to ACPI HAL on the next start up
Please advise. I'd be very interested in your experience. please look.... higgs_field at bell south(one word) .net Thanks...
 
1. Yes, If HT is enabled in BIOS before XP installs, then
it will load the Multiprocessor HAL. However, if you
subsequently disable HT in BIOS the XP HAL will
still function but without the Hyperthreading. TaskMgr
will only display the single processor states.

So essentially, both BIOS HT must be enabled and
the MP HAL must be in place for HT to work.

2. No, once a HAL is in place changing BIOS settings
will not cause the Computer driver (HAL) to be
automatically changed out. You can downstep from
Multiprocessor to ACPI HAL by changing the driver.
But this only works one-way. You can't change an
ACPI HAL back to Multiprocessor without doing a
"Repair" install of XP. (At least I've never tried to
switch the driver from ACPI back to an MP)

Hyperthreading is application dependant, I believe Office &
several other programs make use of it. In my case I did a
PCPitstop benchmark with & without HT and the total score
did not vary but a few points (~1500).
I'm not sure to what extent XP makes use of HT if any at
all.
 
To R. McCarty
Hope you are still out there..
Regarding your last reply, I understand both your responses in 1. and 2
Let me inquire further if I may

First, Intel advises that IF a HT compatible system is HT enabled, the Task Manager | Performance tab will show (2) CPU performance graphs. Second, the Device Manager | View by Type and/or Connection will show two CPUs
Do you concur with the above statements
Is HT like have a multi processor setup
How come the XP doesn't recognize it for what it is, a single processor running concurrent tasks because of HT

Second, MS KB Q-309283 states the following
" Windows XP and Windows Server 2003 Device Manager list all the supported HAL options in a list when you click Update Driver. Unsupported options are not available. Microsoft Windows 2000 Device Manager permits you to select any HAL type. If you select an incorrect HAL, you may not be able to start Windows 2000, or you may have other issues

When you install the following HALs on a Windows XP-based or Windows Server 2003-based computer, the following device manager HAL options appear
"Standard PC", Non-ACPI PIC HAL (Hal.dll
Standard P

"MPS Uniprocessor PC", Non-ACPI APIC UP HAL (Halapic.dll
Standard P
MPS Uniprocesso
MPS Multiprocesso

"MPS Multiprocessor PC", Non-ACPI APIC MP HAL (Halmps.dll
Standard P
MPS Multiprocesso

"Advanced Configuration and Power Interface (ACPI) PC", ACPI PIC HAL (Halacpi.dll
Standard P
Advanced Configuration and Power Interface (ACPI) P

"ACPI Uniprocessor PC", ACPI APIC UP HAL (Halaacpi.dll
Standard P
Advanced Configuration and Power Interface (ACPI) P
ACPI Uniprocesso
ACPI Multiprocesso

"ACPI Multiprocessor PC", ACPI APIC MP HAL (Halmacpi.dll
Standard P
Advanced Configuration and Power Interface (ACPI) P
ACPI Multiprocesso
MPS Multiprocesso

*Note: Microsoft does not support running a HAL other than the HAL that Windows Setup would normally install on the computer."

I have NOT found that Windows XP list(s) all or any of the supported HAL options in a list when you simply click Update Driver in Device Manager.

MY ISSUE(s) IS
1.) My Device manager lists an AC&PI PC under "Computer" in | Devices by typ
2) The driver listed for my AC&PI PC is 'hal.dll' . Per the MS specs above the AC&PI listing driver should be Halacpi.dll
3.) My Device Manager lists 2-CPU'
4.) My Task manager only provides a performance graph for one CPU. I checked the view tab. CPUs are NOT combined..

So, looks like I have a mess that if I want to fix is going to require a new install...:
Question. I know if BIOS HT is enabled during install, XP Should choose the correct HAL
IN this case, would you say the correct HAL is "ACPI Uniprocessor PC" or "ACPI Multiprocessor PC
Should I trust XP to make the right choice or force a HAL during setup...

thanks for your help in advance. this conversation as taken a bit closer already..
user
p.marti
atlanta,ga
 
Yes, those statements are technically correct. HT is a multiprocessor
setup. The critical difference is only applications & code written to
take advantage see the "Speed Improvements". A true multiprocessor
system will see an overall speed improvement. (multiple Xeon's running
on a Server style motherboard).
A correct HT instance of Windows XP would have the computer
driver defined as "ACPI Multiprocessor PC".

You can do a Repair install of XP & when the Press F6 for drivers
message appears press F5. The install will stop and present a dialog
box for you to select the HAL you want to use. Be sure to select a
"Repair" install. At completion the HAL you chose will be installed.
However, all Service Packs and Windows Updates will need to be
re-applied. (Unless you have Slipstreamed your install media).
 
To: R.McCarty
thanks once again
I will attempt to repair. I have not slipstreamed my install media, but I will after this fix
After I choose F5 to force the HAL, I trust I will be again given the opportunity to F6 to load my Raid Driver
Lastely, will I need to reinstall my INTEL INF immediately after the repair of my XP w/SP1 is complete

thanks so much for your patience and help
pm
 
I believe you can press both F5 & F6 during the prompt and
install will pause at each dialog option box.

Re-installing the Intel INF 5.1.1102 couldn't hurt. Also,
reinstall DirectX-9b before you reload your video driver.
(Recommended category of Windows Update).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top