Welcome to MilkyWay@home

Hyperthreading not working?


Advanced search

Message boards : Number crunching : Hyperthreading not working?
Message board moderation

To post messages, you must log in.

AuthorMessage
TheTross

Send message
Joined: 12 Mar 09
Posts: 3
Credit: 319,056
RAC: 0
100 thousand credit badge13 year member badge
Message 41313 - Posted: 7 Aug 2010, 14:37:21 UTC

Hi folks, first time posting so please be kind to me :)

I've decided to get an old P4 system of mine crunching part-time again. It used to have a 2.4GHz non-hyperthreaded CPU in it, but I've very recently replaced that with a 3GHz hyperthreaded one and, ensuring that hyperthreading is enabled, ran Milkyway on it. However, running two Milkyway tasks simultaneously causes each task to take around 14-15 hours to complete, when compared to approximately 5 and a half hours for one on the 2.4GHz chip. Disabling hyperthreading allows tasks to complete much quicker on the 3GHz chip; it's currently looking like taking <5 hours per task.

This is obviously not right but am stumped as to why it's doing this. Have I missed something glaringly obvious or could I have bought a defective CPU?

Rig's specs:

Abit BH7
Skt 478 P4 3.06GHz 533FSB, HT enabled
512MB RAM
XP Professional SP3

For the record, I didn't reinstall the OS after installing the new CPU. Hyperthreading is definitely enabled as Task Manager shows two graphs for CPU usage history and running two Milkway tasks causes each thread to use 50% of the CPU. Lastly, I don't think the CPU's throttling as CPUz shows the correct clock speed when running flat out and the correct clock speed is reported within the task's details.

Thanks for any help you can provide with this! I know it's all old technology but I can't afford a proper upgrade at the minute :(
ID: 41313 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Matt Arsenault
Volunteer moderator
Project developer
Project tester
Project scientist

Send message
Joined: 8 May 10
Posts: 576
Credit: 15,979,383
RAC: 0
10 million credit badge12 year member badge
Message 41314 - Posted: 7 Aug 2010, 14:54:55 UTC - in response to Message 41313.  
Last modified: 7 Aug 2010, 14:58:29 UTC


This is obviously not right but am stumped as to why it's doing this. Have I missed something glaringly obvious or could I have bought a defective CPU?


No, this sounds about right. To begin with, the hyperthreading on the Pentium 4 isn't that great. It went away for a while, but has returned in a better form with new Core i7 processors.
Whether hyperthreading helps or not is very application dependent. Hyperthreading just sort of jams a second thread down the pipeline behind a second one using certain duplicated processor features. In this case, you end up with 2 milkyway processes contending for the same resources, most importantly, the CPU's cache. The Pentium 4's cache isn't that big, and you have 2 processes fighting over it both trying to use the CPU at the same time. Each one will have to do more loads/stores to system memory and will be much slower. Just one milkyway process running with the full cache available would probably be faster. Math intensive stuff often has high cache utilization. Newer hyperthreaded processors are better off with much larger caches than the Pentium 4 has, among other things.

For the record, I didn't reinstall the OS after installing the new CPU.

This shouldn't matter.
ID: 41314 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
TheTross

Send message
Joined: 12 Mar 09
Posts: 3
Credit: 319,056
RAC: 0
100 thousand credit badge13 year member badge
Message 41315 - Posted: 7 Aug 2010, 15:14:31 UTC

Thanks for the explanation Matt. I was just that surprised to see how slow it was at completing tasks with HT on that I assumed there was something going on. To be truthful I've only ever previously owned one other HT-enabled chip, which performed much better than this one - though to be fair it was a Prescott and it only ever ran SETI so I can't compare it to this one with regards to MW. Slightly disappointing, but any upgrade's a good upgrade I suppose.
ID: 41315 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Chris S
Avatar

Send message
Joined: 20 Sep 08
Posts: 1391
Credit: 203,560,157
RAC: 0
200 million credit badge14 year member badge
Message 41321 - Posted: 7 Aug 2010, 20:18:38 UTC

Just an observation here. I note that you are running a socket 478 processor at 533MHz FSB. I run P4 3GHz and 3.2GHz chips using HT but they are socket 775 at 800FSB. I have found that I get about an extra 25% performance in terms of credit per hour with HT running.

If say a hpothetical workunit takes 1 hour without HT then each one will take roughly 50% more ie 1.5 hours with HT. But you are doing two at a time therefore you achieve more in a given time.

Don't drink water, that's the stuff that rusts pipes
ID: 41321 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
TheTross

Send message
Joined: 12 Mar 09
Posts: 3
Credit: 319,056
RAC: 0
100 thousand credit badge13 year member badge
Message 41322 - Posted: 7 Aug 2010, 22:09:26 UTC - in response to Message 41321.  

If say a hpothetical workunit takes 1 hour without HT then each one will take roughly 50% more ie 1.5 hours with HT. But you are doing two at a time therefore you achieve more in a given time.


That's exactly what I was expecting to happen, but the issue with this computer is that one task running on its own takes about four and a half hours to complete, whereas two tasks running simultaneously require somewhere in the region of 14-15 hours for both to be processed. In other words, with hyperthreading disabled the rig can do two tasks in nine hours, but with hyperthreading enabled it would take roughly five to six hours longer for the same number of tasks. That's what's confusing me, but if Matt is correct in saying that the early implementations of hyperthreading were hopeless then it looks like this is normal behaviour.
ID: 41322 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ProfileDaveSun
Avatar

Send message
Joined: 10 Nov 07
Posts: 28
Credit: 2,549,231
RAC: 0
2 million credit badge15 year member badge
Message 41327 - Posted: 8 Aug 2010, 3:32:26 UTC - in response to Message 41315.  

There is something going on. According to the specs of your CPU it has 0 Cache. Hyperthreading on a zero cache CPU is very memory intensive and you have a slow speed FSB.
ID: 41327 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Chris S
Avatar

Send message
Joined: 20 Sep 08
Posts: 1391
Credit: 203,560,157
RAC: 0
200 million credit badge14 year member badge
Message 41363 - Posted: 10 Aug 2010, 12:36:32 UTC

Also you are only showing 1 processor when it should be 2. I think your chip is duff and not running HT properly.
Don't drink water, that's the stuff that rusts pipes
ID: 41363 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
ProfileuBronan
Avatar

Send message
Joined: 9 Feb 09
Posts: 166
Credit: 27,520,813
RAC: 0
20 million credit badge13 year member badge
Message 41398 - Posted: 11 Aug 2010, 11:32:32 UTC
Last modified: 11 Aug 2010, 11:34:37 UTC

Again people who own a intel with hyperthreading ... you have 4 cores not 8
The only thing what hyperthreading does is make the operating system think you have 4 extra cores so it enable some work to do on 8 threads instead of 4.
So for low cpu intensive tasks this is fun and handy but for MW which eats all it can get it simply suxx.
It does not make you have 4 real extra cores > period <
Its new, its relative fast... my new bicycle
ID: 41398 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote

Message boards : Number crunching : Hyperthreading not working?

©2022 Astroinformatics Group