[TriLUG] Hyperthreading and Xeons

Aaron Joyner aaron at joyner.ws
Wed Oct 13 18:22:00 EDT 2004


Jeremy Portzer wrote:

> On Wed, 2004-10-13 at 17:47, John Franklin wrote:
> 
> 
>>One of the big issues with HT is that it looks like SMP to HT-unaware 
>>kernels.  The difference between SMP and HT is the shared resources on 
>>the chip.  When moving a process to a second CPU (core), an HT-unaware 
>>kernel may blow the CPU cache, move the process to the second core 
>>thinking it's a physically separate CPU, and refill the CPU cache.  An 
>>HT-aware kernel will move the process w/o blowing the cache.
>>
> 
> 
> Would it therefore be prudent to turn off HT if your application is
> memory-intensive?  Is it even possible to turn off HT (e.g. BIOS
> setting)?  If I can turn it off, I guess I could try to do some
> benchmarks with my particular application...
> 
> I'm using kernel 2.4.21 with Red Hat's modifications, on CentOS 3.3.
> 
> Jeremy
> 
> 
You can almost always turn off HT in the BIOS.  Not that you should...

Note Ingo Molnar's take on the HT-aware scheduler here: 
http://kerneltrap.org/node/view/391/972

The super-brief version is, it works fine when the HT CPU is treated as 
a pair of SMP processors, it's just not perfectly ideal.  The scheduler 
needs to support it.

 From some cursory googling, RHEL and it's knockoffs should have a 
hyperthreading aware scheduler in the current branches, as Oracle sites 
it as one of the benefits of that platform.  You can of course check the 
kernel config and the rpm spec files to see if those patches have been 
added to the 2.4.x kernel rpms.

If all else fails... benchmark it yourself, with it on and off in the BIOS.

Aaron S. Joyner



More information about the TriLUG mailing list