Message boards :
Number crunching :
Hyperthreading not working?
Message board moderation
Author | Message |
---|---|
Send message Joined: 12 Mar 09 Posts: 3 Credit: 319,056 RAC: 0 ![]() ![]() |
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 :( |
Send message Joined: 8 May 10 Posts: 576 Credit: 15,979,383 RAC: 0 ![]() ![]() |
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. |
Send message Joined: 12 Mar 09 Posts: 3 Credit: 319,056 RAC: 0 ![]() ![]() |
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. |
![]() Send message Joined: 20 Sep 08 Posts: 1391 Credit: 203,563,566 RAC: 0 ![]() ![]() |
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 |
Send message Joined: 12 Mar 09 Posts: 3 Credit: 319,056 RAC: 0 ![]() ![]() |
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. |
![]() ![]() Send message Joined: 10 Nov 07 Posts: 28 Credit: 2,549,231 RAC: 0 ![]() ![]() |
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. |
![]() Send message Joined: 20 Sep 08 Posts: 1391 Credit: 203,563,566 RAC: 0 ![]() ![]() |
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 |
![]() ![]() Send message Joined: 9 Feb 09 Posts: 166 Credit: 27,520,813 RAC: 0 ![]() ![]() |
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 |
©2024 Astroinformatics Group