Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Odd hyperthreading behavior

Author: Tom Kerrigan

Date: 18:40:59 10/04/03

Go up one level in this thread


On October 04, 2003 at 21:09:05, Gian-Carlo Pascutto wrote:

>On October 04, 2003 at 21:00:34, Tom Kerrigan wrote:
>
>>The odd part is that hyperthreading DOES slow down my program when running 2
>>threads.
>
>This is caused by the schedulers not knowing the difference between the
>real and virtual cpus. You're only running on 1 cpu instead of 2 about
>1/3 of the time.
>
>Win2k3 is the only OS that has this reportedly solved.

I do not think this is the case.

(Quick aside: very shortly after HT first came out, a patch for Linux was
released to "support" HT--the purpose was not to allow you to use the extra
logical processors (because they're transparent to the OS) but to solve exactly
the problem you mention. I assume Microsoft also made a similar fix and I don't
know which versions of Windows have it, but I am running a version of Windows
that would.)

First, I know that OSs have processor affinity for processes, i.e., unless
something odd happens, a process will stay on the same processor (for obvious
reasons). So I doubt my program is using the "extra" processor for only a
fraction of the time.

Given that, HT would have to be providing a 50% speedup for my program if it
were only running on one processor, which seems unrealistically high, and that
also means my program should run 100% faster with 4 threads (vs. 2) but in
reality it only runs 15% faster.

-Tom



This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.