bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gnubg] Simple multi-threading... Cache


From: Øystein Johansen
Subject: Re: [Bug-gnubg] Simple multi-threading... Cache
Date: Mon, 22 Jan 2007 22:35:21 +0100
User-agent: Thunderbird 1.5.0.9 (Windows/20061207)

Jonathan Kinsey wrote:
After some further testing, I was getting some small differences in the
results.  I found the global eval cache needed to be protected to stop
multiple accesses (from different threads), but am still getting
differences.

Does anyone know if adding positions to the cache from multiple threads
(i.e. further ahead in the game), could cause differences in the final
results?

It shouldn't as far as I can understand. However I'm not sure I've thought this through.... What happens on collisions? Can it be that a collision causes a bad evaluation. Yes, that might cause some problems.....

I may need to have a separate cache for each thread, but this would
probably lead to many positions being evaluated more than once?

Sounds like a bad idea to me...

I'm not sure exactly how the cache works so any thoughts would be helpful!

It's simply a hash table of evaluations. Each new evaluation is stored in table and each call to EvaluatePositionCubeful4() (or something like that) looks up the table and takes the values from the table if it's there instead of reevaluating. The keys to the evaluations is the position it self (of course) and the evaluation parameters/settings.

-Øystein





reply via email to

[Prev in Thread] Current Thread [Next in Thread]