I'll take a look at the references you posted - they look pretty
interesting from an initial glance at them.

- Don


Rémi Coulom wrote:
> Don Dailey wrote:
>> These are used in parallel chess programs, and it's very common.   A
>> pretty good article on this written by Hyatt (Crafty programmer and
>> author of former world computer chess champion Cray Blitz) and it's
>> called  "A lock-less transposition table implementation for parallel
>> search chess engines",
>> I see an on-line version of a similar article here:
>>
>>      http://www.cis.uab.edu/hyatt/hashing.html
>>
>>
>> - Don
>>   
>
> Hi Don,
>
> Yes, I knew Bob's paper. In his approach, an entry will be lost in
> case of a collision. In my Go program, I never replace hash entries of
> the current search, because I have enough memory to store them all. I
> only have to be careful when allocating a node for the first time, so
> that two threads do not allocate the same slot. This happens rarely
> enough that the cost of a Test-And-Swap is negligible, so I prefer to
> do it that way. What I do is essentially the beginning of the Google
> talk I indicated yesterday, without resizing. I believe it is a lot
> cleaner than Bob's idea, although atomic increments are costly.
>
> In fact, now that I think a little more about it, Bob's scheme would
> probably not work at all, because updating counters would mean
> updating the hash code, and any collision would cause a loss of the
> hash entry. It does not matter for alpha-beta, but losing an entry
> near the root in MC search would be very bad. Really ugly stuff would
> be necessary to repair the consequences of such a collision.
>
> So, I believe Bob's idea would not work.
>
> Rémi
> _______________________________________________
> computer-go mailing list
> computer-go@computer-go.org
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to