Hyperthreading VS Not

Message boards : Number crunching : Hyperthreading VS Not
Message board moderation

To post messages, you must log in.

AuthorMessage
Profile Valerie Chilton
Volunteer tester
Avatar

Send message
Joined: 14 Jan 08
Posts: 53
Credit: 20,682,710
RAC: 0
United States
Message 1452368 - Posted: 10 Dec 2013, 15:57:45 UTC

Hi Y'all,

Is hyper threading a good thing for crunching, I mean other than how cool it is to see 24 or more cores
I'm sure this has been hashed over many times before, I do seem to remember something from years ago but for the life of me I cant remember what the consensus was.


Val

And after the spanking comes...



Ni !
ID: 1452368 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1452413 - Posted: 10 Dec 2013, 20:51:47 UTC

Different systems seems to have differing results. On my i7-860's and dual Xeon E5645 I have HT enabled running 8 and 24 tasks at once.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1452413 · Report as offensive
Profile Wiggo
Avatar

Send message
Joined: 24 Jan 00
Posts: 34744
Credit: 261,360,520
RAC: 489
Australia
Message 1452427 - Posted: 10 Dec 2013, 21:33:31 UTC

If you are just doing CPU work then leave it on, but if you are feeding a high end or multiple GPU/s some here have found that turning it off actually improves production (maybe a few of those will post their experiences).

Cheers.
ID: 1452427 · Report as offensive
Profile petri33
Volunteer tester

Send message
Joined: 6 Jun 02
Posts: 1668
Credit: 623,086,772
RAC: 156
Finland
Message 1452462 - Posted: 10 Dec 2013, 22:31:40 UTC - in response to Message 1452368.  

On my 6/12 core machine I have HT on but I have set BOINC to use 50% of the processors. This way I run 6 CPU apps with full AVX/SSE/FPU resources and I have 6 virtual cores with integer and logical units doubled in silicon to feed the 2 GPUs both running three at a time.
To overcome Heisenbergs:
"You can't always get what you want / but if you try sometimes you just might find / you get what you need." -- Rolling Stones
ID: 1452462 · Report as offensive
Profile ausymark

Send message
Joined: 9 Aug 99
Posts: 95
Credit: 10,175,128
RAC: 0
Australia
Message 1452611 - Posted: 11 Dec 2013, 5:36:36 UTC - in response to Message 1452368.  

I leave Hyperthreading on, but, I set seti up to run on 50% of the processors - and hence use the actual number of real cores. This also leaves half the hyperthreads available to handle normal computing tastks so the system is fluid and responsive.

If i am running a GPU (Graphical Processing Unit - Video Card/Processor) I free up an actual CPU core to feed each GPU. Any loss of processing power on that CPU core is made up for by the superior procesing power of the GPU. Doing it this way also ensures your system does not bog itself down from user and/or server based tasks.

Just my 2c worth. :)
ID: 1452611 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1452789 - Posted: 11 Dec 2013, 15:36:06 UTC

If you are doing AP task as well you may wish to make use of an app_config.xml to limit the max number of them going at once. As I found 24 AP at once on my machine bogged it down to the point it was interfering with its main duties. For that system a max of 18 at once seems to be OK.
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1452789 · Report as offensive
Profile Valerie Chilton
Volunteer tester
Avatar

Send message
Joined: 14 Jan 08
Posts: 53
Credit: 20,682,710
RAC: 0
United States
Message 1452803 - Posted: 11 Dec 2013, 16:41:52 UTC

Thank y'all for the replies!

Normally I don't pay attention to what jobs are sent my rigs, I assume I get a fair share of the AP's.
I also as a rule leave some percentage of my processors available to service the GPU's as well as to do whatever windows thinks it needs tho I'm not sure if I have the percentage right and if it makes a difference if hyper threading is turned off.

I don't suppose there is a general rule of thumb on how many cores to be left to do the cuda servicing as different cards would have different needs depending on their speed etc.

I'm guessing I'll have to learn what all the task details mean and try to sort it from there when I have time.

Val

And after the spanking comes...



Ni !
ID: 1452803 · Report as offensive
archae86

Send message
Joined: 31 Aug 99
Posts: 909
Credit: 1,582,816
RAC: 0
United States
Message 1452914 - Posted: 11 Dec 2013, 19:15:33 UTC

In speaking of pure CPU work, with no overclocking, I think it has been extremely rare over the years to see credible reports of actual performance loss in the HT condition vs. HT disabled condition.

However the incremental power efficiency of the extra work accomplished by turning on hyperthreading may be rather poor.

Another effect, which I've not observed myself but for which both credible reports by competent users and some theoretical basis exists is that for those who overclock, the maximum overclock reachable with HT turned on may be materially less than with it off. This last is probably CPU design AND application dependent, and may well vary from sample to sample of a given CPU model as well. But for an overclocking user it may well sometimes lead to actual performance loss from HT.

All of this is much, much easier to sort out if you are executing tasks with highly reproducible computational requirements. Over at Einstein, and doubtless many other BOINC places, this is routinely expected. Here at SETI, the task to task variation may be enough to hide small effects for a very long time.

So if you want a good answer quickly, you may need to set up a "walled garden", running a standard set of previously downloaded tasks while disconnected from central command under one condition, noting the times (and power consumption, temperatures, ... if you care), then copying over the directory contents from a backed up copy and trying again with different conditions.

The problem of efficiently supporting GPU crunching puts a whole other twist on all this. Probably you can improve the way your host behaves to your personal goals by configuring CPU affinities using a tool such as Process Lasso, and restricting the CPU task count, but my personal track record in guessing the actual result of a given affinity assignment is so poor that I can only suggest you experiment and carefully measure your results if you pursue that path.

Measure, measure, measure, surprises abound.
ID: 1452914 · Report as offensive

Message boards : Number crunching : Hyperthreading VS Not


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.