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
--
TriLUG mailing list        : http://www.trilug.org/mailman/listinfo/trilug
TriLUG Organizational FAQ  : http://trilug.org/faq/
TriLUG Member Services FAQ : http://members.trilug.org/services_faq/
TriLUG PGP Keyring         : http://trilug.org/~chrish/trilug.asc

Reply via email to