Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Odd hyperthreading behavior

Author: Tom Kerrigan

Date: 03:15:58 10/06/03

Go up one level in this thread


On October 04, 2003 at 23:54:43, Jeremiah Penery wrote:

>On October 04, 2003 at 22:27:45, Tom Kerrigan wrote:
>
>>You're right, the #s do work out pretty well, but that must mean both threads
>>are bouncing around different logical processors frequently, otherwise there'd
>>be a disparity in the node counts of each thread. This doesn't seem likely to me
>>but I guess it's not impossible. I wonder if there's a way to keep track of
>>which thread is running on which processor.
>
>The threads really do hop around the processors.  You wrote previously that a
>process should stay on the same processor until 'something odd happens' - in
>other words, until something pre-empts the process.  It's very frequent that a
>part of the kernel, or a service, or something else with default high+ priority
>gets scheduled for some miniscule fraction of time, so it will bump your process
>to another processor.  If you raise your program's priority to realtime and run
>two threads, you should be able to get more stable results in this regard.

Wouldn't this result in a lot of cache thrashing that would slow the program
down? If I run two copies of my program simultaneously they each run exactly as
fast as one copy. (Which is interesting because both copies use hash tables--I
suppose the hash table probes are infrequent enough to not cause many FSB
collisions.)

-Tom



This page took 0 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.