Hyperthreading - on or off?

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
antic604

09 Mar 2018

Normally, one would think having this ON is good, since you're using your CPU to its full potential, spreading the workload wide, etc. Right?

However:
- splitting of clocks and allocation of jobs across 'weaker' threads (and management of job queues, interlocks, etc.) is a job in itself, so there's a tangible processing overhead, which means that sum of throughput of twice as many threads is always smaller compared to the sum of throughput of real hardware cores working at full clock and with less job scheduling,
- by reducing the capacity of a single thread to process jobs, it becomes much more likely to hit a bottleneck with a notoriously serial jobs like digital signal processing,
- I did some testing in Reason 10 (the setting is exposed in options) and - surprisingly enough - my CPU was showing 10-15pp less utilisation, which was enough to ensure glitch-less playback,

I suspect this might be less of an issue for projects that only replay many tracks of simple audio clips with few mixing inserts on top of each channel and few mastering plugins on the Master, because that lends itself well to parallel processing.

But I think it can make a huge difference in complex, modular setups like Reason (or Bitwig, or Live) is encouraging, where CPU has to "wait" for signals coming from other tracks, busses, nested effects, cross-track sidechaining and signal routing, etc. You can have 4 tracks in your project, but due to internal interconnections and dependencies it might be a single, serial job for the CPU. In such cases, having many "weaker" threads with no space left to add one more big-sized job (because it can't be split to different jobs) is inferior to fewer, much faster physical cores where such bottleneck is less likely.

I actually tried to make some theoretical examples (in Excel :)) to find cases where hyperthreading is beneficial, but failed. And this one clearly shows why fewer logical cores is better:

Image

Now add to that, that with more cores - due to scheduling overhead - it might not be possible to *effectively* get the same processing power (so, 2 cores would effectively run at maybe 7.95GHz each, 4 cores at 3.9GHz each, etc.) so we would start hearing the glitches even sooner.

This results in a confusion I see quite often on FB or here: why is my DSP full, when CPU monitor shows 50% utilisation. That's exactly because none of the "idle" threads is able to accommodate yet another track/plugin in full, whereas it would be more likely that a "full" core would, because - simplifying - it would have double the processing headroom.

--------------

Does that mean multi-core CPUs is a hoax? No, because there are physical and thermal limits to clocks at which they can run, so it's better to have 2 cores at 3.5GHz each, than 1 core maxed out at 6GHz. So that setting should be left ON, as it always helps.

So is hyperthreading a hoax, then? Well, here I can't really see the benefits other than marketing ones - a 4 logical cores CPU definitely *sounds* more powerful than dual physical core CPU, even if it's the same exact silicon. For now, I'm keeping hyperthreading OFF.

---------------

Your thoughts & experiences?

User avatar
miscend
Posts: 1955
Joined: 09 Feb 2015

09 Mar 2018

I’m no programmer but I don’t think it would be that difficult to look at a project file and then pre-calculate all the allocation jobs for the hyperthreading.

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

09 Mar 2018

miscend wrote:
09 Mar 2018
I’m no programmer but I don’t think it would be that difficult to look at a project file and then pre-calculate all the allocation jobs for the hyperthreading.
Unless you have to account for the user pressing MIDI keys and expecting an immediate output :)

User avatar
Loque
Moderator
Posts: 11176
Joined: 28 Dec 2015

09 Mar 2018

miscend wrote:
09 Mar 2018
I’m no programmer but I don’t think it would be that difficult to look at a project file and then pre-calculate all the allocation jobs for the hyperthreading.
This is like: "I see an airplane and it must be easy to make iron fly"
Reason12, Win10

User avatar
demt
Posts: 1357
Joined: 16 Sep 2016
Contact:

09 Mar 2018

ON, the 2 the max theory of man computer interface demands all systems are go
Reason 12 ,gear4 music sdp3 stage piano .nektar gxp 88,behringer umc1800 .line6 spider4 30
hear scince reason 2.5

antic604

09 Mar 2018

Loque wrote:
09 Mar 2018
miscend wrote:
09 Mar 2018
I’m no programmer but I don’t think it would be that difficult to look at a project file and then pre-calculate all the allocation jobs for the hyperthreading.
This is like: "I see an airplane and it must be easy to make iron fly"
LOL :D

antic604

09 Mar 2018

demt wrote:
09 Mar 2018
ON, the 2 the max theory of man computer interface demands all systems are go
But have you actually TESTED it? As I said, logically it seems a no brainer to have it ON, but the more I think about it, the more I'm convinced it's just a marketing ploy to present CPUs as more powerful than they really are to uninformed consumers.

I see no benefit, unless magically you could split a single physical core into two more powerful logical cores.

JRJulius
Posts: 26
Joined: 17 Jan 2018

09 Mar 2018

I don’t have the background to know what I’m talking about, but I was always under the impression that hyperthreading is beneficial in rendering/export functions but doesn't serve much purpose when you are actually using the program. Hence why i7 and better processors tend to be marketed to video editors, graphic designers, programmers (for compiling), etc. I usually kept hyperthreading disabled; I enabled multi-core support on Ableton Live but honestly never felt a change. As you said, DSP is very linear.

I’m using a dual-core i5 now and haven’t noticed a significant decrease in CPU overhead compared to my old quad-core i7, which certainly supports your theory.

User avatar
EnochLight
Moderator
Posts: 8405
Joined: 17 Jan 2015
Location: Imladris

09 Mar 2018

antic604 wrote:
09 Mar 2018
Normally, one would think having this ON is good, since you're using your CPU to its full potential, spreading the workload wide, etc. Right?
Whether having Hyperthreading on in Reason is a benefit for your machine depends on a lot of different factors. Most importantly, it does NOT benefit small projects with just a few devices/tracks. You're more likely to find improvements when running large projects, when devices are spread across mixer channels. One or 2 large Combinators will perform worse with HT on in Reason, due to the way Reason handles spreading CPU load over device chains. Have 10, 20 or more Combinators, each on their own mix channel, and you may find HT to offer better performance.

Additionally, some hardware configs just play nicer with HT on with Reason, whereas some don't. So basically: YMMV.

Props have publicly stated in the past (when 9.5 first launched) that performance will be improved with VST at some point, so maybe this will change eventually. But for now, it is what it is.
Win 10 | Ableton Live 11 Suite |  Reason 12 | i7 3770k @ 3.5 Ghz | 16 GB RAM | RME Babyface Pro | Akai MPC Live 2 & Akai Force | Roland System 8, MX1, TB3 | Dreadbox Typhon | Korg Minilogue XD

User avatar
TritoneAddiction
Competition Winner
Posts: 4219
Joined: 29 Aug 2015
Location: Sweden

09 Mar 2018

The projects I've tried it on has always worked better with hyperthreading turned off. So now I always just leave it off.

avasopht
Competition Winner
Posts: 3932
Joined: 16 Jan 2015

10 Mar 2018

Your mileage may vary.

You can see anything from a 10% increase to a 10% decrease in performance depending on your CPU. Best thing to do is to test both settings.

bigguy1
Posts: 130
Joined: 28 Sep 2018

28 Sep 2018

Sorry to post in a threat so old like this but I want to share my findings of yesterday.

I use Reason (10.2) and my CPU is a 3rd generation i7 (4 cores with hyperthreading). I have one project where I use Omnisphere and one or two other VSTis and my CPU load was at limit. Playing the song always crashed and I was told that my computer was too slow :-(
The whole time I thought: "Props are gonna improve VSTi performance anyway. So I ca't do anything and have to wait." and I worked around the problem. Yesterday I turned off hyperthreading and my CPU went down from about 85% about 35%. That not even half!!!
I'll have to test some more projects but it seems that on my machine turning off hyperthreading is a boost times 2.5 when using VSTi.

User avatar
Biolumin3sc3nt
Posts: 662
Joined: 16 Jan 2015

28 Sep 2018

Hyperthreading off on my late 2015/ 27 inch/ 4.0 iMac. Big difference in performance regardless of OSX version. Of course I still use Reason in low resolution mode as well. Looking forward to what the next release holds for us Retina Mac Users

User avatar
DinoJ
Posts: 72
Joined: 22 Jan 2015
Location: UK

28 Sep 2018

bigguy1 just wanted to add in case you were wondering this is not even down to it being an older generation i7 as I just had a similar issue with Hyperthreading enabled and 10.2 update.

Just upgraded my PC, got an Intel 8086K set an OC to boost all cores to 5Ghz instead of a single core like this chip behaves by default. So bear in mind this is a Hexcore chip boosting to 5Ghz on all cores. Reinstalled Windows 10 and Reason from scratch. Open up Reason, throw Europa in rack to test everything working, hit a few keys on midi keybaord heard crackles and observed the DSP nearly blew the lid off the top of its meter, for a second was like wow this was a worthwhile upgrade!

Then remembered it was a totally clean install and that option will have re-enabled and that it best to turn this option off, did so and tried again, DSP bar did not move.

Glad you figured this out on your own though, it is totally counter intuitive behavior to what you would expect but it does make a huge difference to turn off Hyperthreading.

bigguy1
Posts: 130
Joined: 28 Sep 2018

28 Sep 2018

Thanx DinoJ. I have already been looking for a new machine. I am really glad, that I found this option :-)
I am wondering why Hyperthreading is turned on by default?

seqoi
Posts: 417
Joined: 12 Aug 2017

30 Sep 2018

We posted results back when VST is introduced. Nothing changed with 10.2 but they are working on it.,

If you are using Reason and RE only (NO VST) - then hyperthreading might actually yield performance boost.
If you are using VSTs then no - you need to turn off Hyperthreading because when you turn it on CPU increase by factor x2.

It's been reported here and on Gearslutz and even developers confirmed they are working on a fix which is in pipeline for end of this year.

User avatar
mcatalao
Competition Winner
Posts: 1826
Joined: 17 Jan 2015

30 Sep 2018

To this moment this is my idea. If you have mainly a synth based project it will benefit from HT. You will see an increase of dsp but you can load more synths.

If you're working on a mixed project (synths, audio tracks, a bunch of samplers) i haven't noticed a better performance, and sometimes it's even worse with HT.

So IMHO, just test it and see what is better for your system and type of projects.

keyguy13
Posts: 2
Joined: 16 May 2017

19 Nov 2018

I just upgraded from an i5 4590 to an i7 4790k. I use roland's sound cloud synths and with the i5 i could never get the System 8 synth to even play because of the cpu overhead. When I upgraded today, I tried system 8 and still had problems. I looked in the settings and saw hyperthreading was on. I turned it off. Now instead of 95% cpu utilization and no use of system 8, I have 30% utilization and it plays perfectly with no issues. I don't know about anyone else's systems but my old haswell setup works much better WITHOUT hyperthreading.

User avatar
Bonkhead
Posts: 335
Joined: 18 Jan 2015

29 Nov 2018

keyguy13 wrote:
19 Nov 2018
System 8 synth ....... I don't know about anyone else's systems but my old haswell setup works much better WITHOUT hyperthreading.
Same here. i7 3770 and system 8 vst synth worked much better with HT off.

User avatar
nscerri
Posts: 116
Joined: 01 Apr 2015
Location: Malta

08 Oct 2022

Just confirmed that I had the same issue with a powerful cpu i7-11800H. Turned Hyperthreading off and worked like a charm.

NostraDAWmus
Posts: 63
Joined: 26 Jul 2019

11 Oct 2022

keyguy13 wrote:
19 Nov 2018
I just upgraded from an i5 4590 to an i7 4790k.
... hyperthreading was on. I turned it off. Now instead of 95% cpu utilization ... I have 30% utilization ... my old haswell setup works much better WITHOUT hyperthreading.
Intel i7 4790K @4GHz stock speed in Win7 Pro 4U rackmount DAW and i7 mobile quad and also Haswell @2.5GHz in Win10 Pro Lenovo W540 workstation laptop.
Hyperthreading deactivated in BIOS is what makes both machines run best w/ any native VST stuff as also external realtime DSP hardware !
Hyperthreading is virtual cores, consequently has to be calculated by real cores which costs time and CPU cycles.
Hyperthreading makes a computer slower, not faster.
There are tasks which benefit from Hyperthreading but for sure realtime audio and MIDI doesn´t !

:-)

P

User avatar
EnochLight
Moderator
Posts: 8405
Joined: 17 Jan 2015
Location: Imladris

11 Oct 2022

Update to the latest 12.2.9 version that just came out today - there are massive improvements to audio thread handling. Probably don't even need to worry about HT at this point.
Win 10 | Ableton Live 11 Suite |  Reason 12 | i7 3770k @ 3.5 Ghz | 16 GB RAM | RME Babyface Pro | Akai MPC Live 2 & Akai Force | Roland System 8, MX1, TB3 | Dreadbox Typhon | Korg Minilogue XD

User avatar
selig
RE Developer
Posts: 11685
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

11 Oct 2022

EnochLight wrote:
11 Oct 2022
Update to the latest 12.2.9 version that just came out today - there are massive improvements to audio thread handling. Probably don't even need to worry about HT at this point.
Actually, the setting has now been removed, so you absolutely don't need to worry about HT at this point!
Selig Audio, LLC

User avatar
EnochLight
Moderator
Posts: 8405
Joined: 17 Jan 2015
Location: Imladris

11 Oct 2022

selig wrote:
11 Oct 2022
Actually, the setting has now been removed, so you absolutely don't need to worry about HT at this point!

Weird - it's still an option for me - it's just under the Max Audio Threads setting now:

Win_HT.jpg
Win_HT.jpg (100.95 KiB) Viewed 1820 times
Win 10 | Ableton Live 11 Suite |  Reason 12 | i7 3770k @ 3.5 Ghz | 16 GB RAM | RME Babyface Pro | Akai MPC Live 2 & Akai Force | Roland System 8, MX1, TB3 | Dreadbox Typhon | Korg Minilogue XD

User avatar
Pepin
Posts: 450
Joined: 16 Jan 2015

11 Oct 2022

EnochLight wrote:
11 Oct 2022
Weird - it's still an option for me - it's just under the Max Audio Threads setting now:
It's an M1 vs Intel thing:
https://help.reasonstudios.com/hc/en-us ... 7406117266

Post Reply
  • Information