Hyperthreading - on or off?
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:
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?
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:
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?
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
hear scince reason 2.5
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.
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.
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.
- EnochLight
- Moderator
- Posts: 8405
- Joined: 17 Jan 2015
- Location: Imladris
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
- TritoneAddiction
- Competition Winner
- Posts: 4219
- Joined: 29 Aug 2015
- Location: Sweden
The projects I've tried it on has always worked better with hyperthreading turned off. So now I always just leave it off.
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.
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.
- Biolumin3sc3nt
- Posts: 662
- Joined: 16 Jan 2015
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
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.
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.
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.
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.
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.
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.
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.
Just confirmed that I had the same issue with a powerful cpu i7-11800H. Turned Hyperthreading off and worked like a charm.
-
- Posts: 63
- Joined: 26 Jul 2019
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
- EnochLight
- Moderator
- Posts: 8405
- Joined: 17 Jan 2015
- Location: Imladris
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
Actually, the setting has now been removed, so you absolutely don't need to worry about HT at this point!EnochLight wrote: ↑11 Oct 2022Update 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.
Selig Audio, LLC
- EnochLight
- Moderator
- Posts: 8405
- Joined: 17 Jan 2015
- Location: Imladris
Weird - it's still an option for me - it's just under the Max Audio Threads setting now:
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
It's an M1 vs Intel thing:EnochLight wrote: ↑11 Oct 2022Weird - it's still an option for me - it's just under the Max Audio Threads setting now:
https://help.reasonstudios.com/hc/en-us ... 7406117266
-
- Information
-
Who is online
Users browsing this forum: StephenHutchinson and 23 guests