On 09/12/16 20:12, Christopher Samuel wrote:
On 13/09/16 02:58, andrealphus wrote:
It doesnt seem like changing it to a different resource allocation
method makes a difference, and almost seems buggy to me, but I guess
is just a quirk of multithread systems.
Yeah - a hyperthread is not a core and so running multiple jobs on the
same core will usually hurt performance, it maybe better to let the
application use all threading units on the core instead (assuming it's
multithreaded).
However, this all depends on your application (and if it's single
threaded you'll never get an improvement) so I'd suggest benchmarking
with your current configuration versus disabling HT and running on real
cores only.
Basically, whichever gets you better throughput should be your default
config.
All the best,
Chris
In the past I've run 3dDeconvolves on Pentium 4s with hyperthreading and
got great results. The performance was equivalent to about 1.8 real cores.
More recently we did some tests with NCBI BLAST and got zero gain from
hyperthreading. ( Same run time on a 16 HT core machine using 16 or 32
processes. )
We've also found that it complicates CPU affinity, so we ultimately
disabled it at the BIOS level.
JB