Helpful ReplyNew Rig: Can disabling Hyperthreading sometimes enhance SONAR performance?

Author
SvenArne
Max Output Level: -48 dBFS
  • Total Posts : 2719
  • Joined: 2007/01/31 12:51:29
  • Location: Trondheim, Norway
  • Status: offline
2014/03/02 09:16:20 (permalink)

New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance?

Hi forum!
 
I just built a new DAW rig around the Intel i7 4770k processor. While the performance gain (coming from a Q8200) has certainly blown me away (running sizeable mixing projects at 48 samples ASIO buffer), I still have to raise the buffer from time to time. 
 
This is my first i7 and I notice that much of the time, the first thread displays as much load as all of the other threads combined! Seems to me that by disabling HT, thread #1 would come in and take some of the load off thread #0, giving me more de facto CPU headroom!
 
Is this the way it would work in practice? Do any i7 (or the AMD equivalent) owners keep HT disabled for DAW use?
 
Sven 





#1
mettelus
Max Output Level: -22 dBFS
  • Total Posts : 5321
  • Joined: 2005/08/05 03:19:25
  • Location: Maryland, USA
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 10:17:02 (permalink)
Core 0 is the workhorse on all machines and much of the OS is working there too. Parking that core will most likely make your entire machine unstable.

Unless your machine is causing issues, just realize the core loading is there. Unfortunately everyone sees something and wants to tweak it.

ASUS ROG Maximus X Hero (Wi-Fi AC), i7-8700k, 16GB RAM, GTX-1070Ti, Win 10 Pro, Saffire PRO 24 DSP, A-300 PRO, plus numerous gadgets and gizmos that make or manipulate sound in some way.
#2
CJaysMusic
Max Output Level: 0 dBFS
  • Total Posts : 30423
  • Joined: 2006/10/28 01:51:41
  • Location: Miami - Fort Lauderdale - Davie
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 10:20:47 (permalink)
+1 to Mettelus and its also due to how the program, like Sonar was coded. Some programs will use each core more evenly than others. Its a crap shoot.
 
CJ

www.audio-mastering-mixing.com - A Professional Worldwide Audio Mixing & Mastering Studio, Providing Online And Attended Sessions. We also do TV commercials, Radio spots & spoken word books
Audio Blog
#3
arachnaut
Max Output Level: -67 dBFS
  • Total Posts : 1168
  • Joined: 2007/05/05 17:24:33
  • Location: Sunnyvale, CA USA
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 12:04:01 (permalink)
You don't mention your OS, but I have found Windows 8.1 to do a slightly better job of distributing the load to all cores.
 
In the configuration file there is a value I have set:
ThreadSchedulingPolicy 2
 
I don't remember if I set that deliberately or if it is the default, but there was some discussion about it a while ago.

- Jim Hurley -
SONAR Platinum - x64  - Windows 10 Pro 
ASUS P8P67 PRO Rev 3.0;  Core i7-2600K@4.4GHz; 16 GB G.SKILL Ripjaws X;
GeForce GT 740; Saffire Pro14 MixControl 3.7; Axiom 61
64-Bit audio, SR: 48kHz, ASIO 256 samples latency, Rec/Play I/O Buffers 512k, Total Round Trip Latency 13 ms, Pow-r 3 dither 
#4
SvenArne
Max Output Level: -48 dBFS
  • Total Posts : 2719
  • Joined: 2007/01/31 12:51:29
  • Location: Trondheim, Norway
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 12:38:29 (permalink)
Thanks for the replies!
 
mettelus
Core 0 is the workhorse on all machines and much of the OS is working there too. Parking that core will most likely make your entire machine unstable.



I don't quite understand this. Core Parking is something the OS does as part of its power management scheme, isn't it? I'm talking about simply turning HT off inside BIOS.
 
Seeing as this computer's main task is running SONAR and the program or the plugins I use do not seem to balance load across the threads very well, my question is whether I would be better off disabling HT entirely (effectively turning my 4770k into a 4670k)! 
 
arachnaut
You don't mention your OS, but I have found Windows 8.1 to do a slightly better job of distributing the load to all cores.

 
Still on W7. Is 8.1 noticably more efficient to you with regard to SONAR? If so, I might have a reason to upgrade
 
Sven





#5
arachnaut
Max Output Level: -67 dBFS
  • Total Posts : 1168
  • Joined: 2007/05/05 17:24:33
  • Location: Sunnyvale, CA USA
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 13:39:40 (permalink) ☄ Helpfulby SvenArne 2014/03/03 07:40:58
Here is an example of X3d playing 5 Kontakts and a loopback channel doing the recording.
An external tool (Fractal Tune Smithy) is generating the 5 channels of MIDI through Loopbe30.
Notice the CPU performance control in Sonar is very smooth and so is the Performance Monitor.
Open the image in a new tab to see it full-sized (1920x1080).
 


- Jim Hurley -
SONAR Platinum - x64  - Windows 10 Pro 
ASUS P8P67 PRO Rev 3.0;  Core i7-2600K@4.4GHz; 16 GB G.SKILL Ripjaws X;
GeForce GT 740; Saffire Pro14 MixControl 3.7; Axiom 61
64-Bit audio, SR: 48kHz, ASIO 256 samples latency, Rec/Play I/O Buffers 512k, Total Round Trip Latency 13 ms, Pow-r 3 dither 
#6
mettelus
Max Output Level: -22 dBFS
  • Total Posts : 5321
  • Joined: 2005/08/05 03:19:25
  • Location: Maryland, USA
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 17:34:44 (permalink) ☄ Helpfulby SvenArne 2014/03/03 07:40:55
I was on my phone earlier and it is a pain to find links on the darn thing. Here is another post on core usage in SONAR. SONAR is very good about core usage; the things that are not (that show up in SONAR's "CPU meters") are some plug-ins and background processes. Some plug-ins are written to only run Core 0, and there is no way around them. Another thing to check to prove to yourself is open your Windows Task Manager, click the "Performance" tab, and look at Core 0 with X3 closed and the system "idle." On my machine (Win7) it is heavily skewed to Core 0.
 
Another thing to check in the SONAR configuration (Advanced Mode: Preferences->Audio->Configuration File->ThreadSchedulingModel->2). It may already be set at 2, but that was the only one I ever changed manually (on X1), and carried it forward since.

ASUS ROG Maximus X Hero (Wi-Fi AC), i7-8700k, 16GB RAM, GTX-1070Ti, Win 10 Pro, Saffire PRO 24 DSP, A-300 PRO, plus numerous gadgets and gizmos that make or manipulate sound in some way.
#7
thomasabarnes
Max Output Level: -43 dBFS
  • Total Posts : 3234
  • Joined: 2003/11/11 03:19:17
  • Location: Milwaukee, WI USA
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/02 23:52:14 (permalink) ☄ Helpfulby Vastman 2014/03/03 00:57:37
I think you should keep hyperthreading enabled in the BIOS, but what you probably want to do are two things:
 
1) Disable core parking
2) Improve multi-core load balancing (A SONAR tweak)
 
Disabling core parking will mean none of your threads will sleep, but they all will be available to handle loads, and the SONAR tweak will more evenly allocate, to available cores, your SONAR project loads. Thread scheduling makes a considerable/significant difference/improvement, but one thread will always take a little bit more of the load than the others.
 
Below are guides for how to do those two things. The guides are excerpts taken from this thread. Since you are running Windows 7, you might find the complete tweak guide an interesting read: http://forum.cakewalk.com/The-Sonar-x64Windows-7-x64-Install-Tweaks-Compatibility-Thread-m1862515.aspx
 
"- Core Parking:  Is a new features in Windows 7 that may be very handy for laptop computers, but not very convenient for systems where high performance is needed at all times.  You can google it if you want to learn more about it.  But, to disable it, you'll need to do the following (skip this if you're not comfortable editing the Registry): 
  
Go to Regedit and find the following key (use the "Find..." command under "Edit" to make this easier): 
  
0cc5b647-c1df-4637-891a-dec35c318583 
  
Within this key, change the values called "Value Min" and "ValueMax" to 0.  You'll have to find the key a few times (press F3) and adjust the values each time.  The number of instances depends on the number of power profiles in your system.  When you're done, do a cold shutdown/power on. 
   
[Thanks to TomG and sky60234 for providing this awesome tweak]
"
 
"9- Sonar Tweaks: 
* Improved Multi-Core load balancing  [From Noel's SONAR 8.3 Log] 
  
Since all systems are not made equal we decided to make this new scheduling mode configurable. 
From the help file, the new aud.ini option to control this is: 
  
ThreadSchedulingModel=<0 - 2>  
Type Integer  
Default 1 
  
This variable goes in the [Wave] section and controls the interaction of the main audio thread and worker threads on multiprocessor systems when the Use Multiprocessing Engine option is enabled. Depending on the system, a particular model may result in less glitching and better overall performance. The values are as follows: 
  
............0 = Same as previous versions of SONAR. 
............1 = (default) Better thread balance. Model is more efficient and can provide cycles for other tasks. 
............2 = Additional worker thread is created. This may result in improvement with Quad processor systems or higher. Not recommended for Dual processor systems."
 
To change in SONAR X series, open Unified Preferences view, and under Audio>Configuration File (Advanced view), look on the right and find the section "ThreadSchedulingModel". Change the number to 1 or 2. Check which one works best for you.
 
Hope that helps.
post edited by thomasabarnes - 2014/03/03 01:32:12


"It's not a song till it touches your heart. It's not a song till it tears you apart!" Lyrics of Amy Grant.

SONAR Platinum X64 (jBridge), Windows 10 Pro 64-Bit, Core i7 990X Extreme Edition Processor 3.46 GHz 6 Cores, Gigabyte EX58-UD5, Crucial Ballistix 24GB 1333MHz DDR3 @1333 MHz, TASCAM UH-7000, Behringer X-Touch, EVGA GTX 980TI Superclocked 6GB, 1TB Samsung EVO 850 SSD, 150GB, 320GB, 1TB 7200rpm HDDs
#8
SvenArne
Max Output Level: -48 dBFS
  • Total Posts : 2719
  • Joined: 2007/01/31 12:51:29
  • Location: Trondheim, Norway
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/03 03:04:36 (permalink)
Thanks for your tips guys! 
 
ThreadSchedulingModel was indeed set to "1"! Upon first look it seems as though the change has woken the threads up somewhat. Thanks!
 
Regarding disabling Core Parking, it seems that this tweak is somewhat controversial around the web?





#9
bitflipper
01100010 01101001 01110100 01100110 01101100 01101
  • Total Posts : 26036
  • Joined: 2006/09/17 11:23:23
  • Location: Everett, WA USA
  • Status: offline
Re: New Rig: Can disabling Hyperthreading sometimes enhance SONAR performance? 2014/03/03 13:10:48 (permalink) ☄ Helpfulby mettelus 2014/03/03 15:03:04
Normally, threads are managed by the application, e.g. SONAR (which does a stellar job of it, btw). Every program starts out with a single main thread, but can spawn additional threads whenever it makes sense to do so. Hyperthreading is Intel's way of automatically getting multi-threaded performance from single-threaded programs. 
 
How well it's going to work depends on the type of program you're running, although Intel has been tweaking it over the years to make it smarter. The i7 has a whole new hyperthreading scheme that's reportedly a big improvement over the old Xeon. I would expect it to have the least benefit for applications that are designed to make use of multiple cores, although it apparently does help even SQL Server, which is the king of multi-threaded, multi-core apps. That suggests that the new hyperthreading scheme is a big improvement and might even provide some benefit to a DAW. Even if the DAW itself doesn't benefit, it might make background processes run better, freeing some CPU cycles for the DAW.
 
I'd answer the question experimentally. Play back the same project with and without hyperthreading enabled, and compare CPU usage in both SONAR's indicator plus the Windows Task Manager. Then go with whatever works best. 
 
 


All else is in doubt, so this is the truth I cling to. 

My Stuff
#10
Jump to:
© 2025 APG vNext Commercial Version 5.1