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.