Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: odd multithreaded search behavior--explanation?

Author: J. Wesley Cleveland

Date: 13:09:37 05/26/00

Go up one level in this thread


On May 26, 2000 at 02:49:55, Tom Kerrigan wrote:

>I've been writing a multithreaded program. I'm running on 1 processor but my
>program splits into 4 threads. So far, the threads don't communicate in any way,
>so searches take exactly 4 times as long (not counting some overhead).
>
>But this evening I added a shared hash table, and now the threads=4 program is
>only slightly slower (in terms of NPS and nodes/ply) than the threads=1 program.
>
>Is this some sort of mistake? I tried for almost an hour to prove that something
>flakey is going on, but it seems to really go 4 times faster, even though the
>threads don't communicate (except for the hash table). The PVs and scores that
>the programs spit out are exactly the same, and the threads seem to be sharing
>the work equally.
>
>Could this be some sort of side effect from running on 1 processor?

This actually makes sense if you think about it. Thread 1 starts off, evaluating
nodes and putting them in the hash table. Then thread 2 takes over, discovers
that the nodes that it is searching are already in the hash table (suprise,
suprise), quickly gets to where thread 1 left off, and goes on from there.
Thread 3 takes over, ...




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.