Hi Wade,
I wonder if I have reached a thread maximum for PixInsight
There's no specific limit; PixInsight will use all logical processors allowed by global preference settings (all processors available are used by default).
There's something that you may try in PixInsight:
- Select
Edit > Global Preferences.- On the Preferences tool, select the
Parallel Processing and Threads section.
- Disable the
Enable Thread CPU Affinity option.
- Press F6 or click the Apply Global button.
Thread CPU affinity control normally improves performance by preventing expensive cache invalidations caused by running threads that migrate across processors. With affinity control enabled, PixInsight will force the OS to execute each thread on a specific logical processor. This is a small performance improvement though, and it is OS- and architecture-dependent. I suspect this feature may be penalizing performance with these Xeon processors under Windows 7 for some reason.
Another, much more important performance penalty may come from the fact that the benchmark image is quite small (about 900x900 pixels). Most image processing algorithms are
embarrassingly parallel. In most cases, with 24 logical processors each thread will process less than 40 pixel rows. This is a marginal load that may be causing a severe performance penalty because the work required to set up and launch the threads may be comparable to the actual pixel processing work. So my recommendation is:
- Re-enable hyperthreading in your BIOS settings.
- As before, open the Preferences tool and select the
Parallel Processing and Threads section.
- Disable the
Allow using all available processors option.
- Decrease the
Maximum number of processors used value to 12 (for example).
- Apply Global.
Let's see if these changes improve benchmark performance.
Note however that your machine performs much better under Linux (with PixInsight at least) than on Windows 7. And if you fine tune services and background tasks on Linux, you can get significant performance improvements (the Live CD is far from running optimized). With a powerful workstation like yours I definitely would use Linux for all serious tasks and would install Windows, if necessary, in a VMware virtual machine. This is just what we do for PixInsight development. Another option is a dual-boot setup, but VMware is much more practical.