Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Oct 2009 06:33:16 -0400
From:      Bill Moran <wmoran@potentialtech.com>
To:        Pierre-Luc Drouin <pldrouin@pldrouin.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: When is it worth enabling hyperthreading?
Message-ID:  <20091008063316.6adb9fb1.wmoran@potentialtech.com>
In-Reply-To: <4ACD5B80.9030703@pldrouin.net>
References:  <4ACD5B80.9030703@pldrouin.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Pierre-Luc Drouin <pldrouin@pldrouin.net> wrote:
>
> Hi,
> 
> Could someone explain me in which cases it is useful to enable 
> hyperthreading on a machine running FreeBSD 8.0 and in which other cases 
> it is not a good idea? Is that possible that hyperthreading is 
> disadvantageous unless the number of active (non-sleeping) threads is 
> really high?
> 
> For example, if I have an i7 CPU with 4 physical cores and that I run 
> some multi-threaded code that has only 4 threads, it will run almost 
> always (twice) slower with hyperthreading enabled than when I disable it 
> in the BIOS. If I understand correctly, hyperthreading has the advantage 
> of being able to do CPU context switching faster than the OS, but it 
> does this context switching systematically instead of only when 
> requested, so it slows things down unless the number of running 
> (non-sleeping) threads is greater or equal to let say the number of 
> physical threads x 1.5-1.75.

I can't speak to the technical explanation, but I can give you my real-
world experience.

We asked this same question where I worked and had the time and ability
to test it.  What we found:

* With hyperthreading on, workstations were more responsive to concurrent
  tasks.  They weren't particularly faster at executing, but there were
  less incidents of a background task causing the UI to stall or stutter.
* pgbench showed anywhere from 0% - 15% increased throughput.  Kind of
  pathetic, but we never saw a workload on PostgreSQL that was hurt by
  turning hyperthreading on.

-- 
Bill Moran
http://www.potentialtech.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091008063316.6adb9fb1.wmoran>