Author: Robert Hyatt
Date: 13:12:05 03/03/06
Go up one level in this thread
On March 03, 2006 at 13:05:18, Tord Romstad wrote: >On March 03, 2006 at 12:20:43, Tony Werten wrote: > >>On March 03, 2006 at 09:46:12, Tord Romstad wrote: >> >>>What's the problem with a shared history table? >> >>Problem is a big word, it probably isn't that bad. >> >>Suppose thread 1 want to add 1 to the counter: >>1) load memory into register >>2) add 1 to register >>3) move register to memory >> >>If the thread is interrupted between 1 and 3 and thread 2 adds to the same >>entry, you have lost 1 add. > >Yes, this can happen, of course, but it doesn't bother me at all. >Who cares if the history counters are only approximately correct? >The deviations will be really tiny, and I would be very suprised if >they have any measurable impact on move ordering at all. I really >don't understand why anybody would want to copy the entire history >table to each thread at all split points, instead of just sharing it. > >Tord Please ignore all this crap. No idea what I was thinking about. The history counters (fh and non-fh) are shared, not local. When I added this I decided to make the normal history counters global as well. When I wrote my comment above I apparently was living in the past and had forgotten the change, since the killer moves are still in thread-local memory... Yes, there are potential interleaved-update problems, but missing a count here and there doesn't seem critical enough to justify locks...
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.