Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Is improvement from hash tables in middle game linear or exponential?

Author: Vincent Diepeveen

Date: 05:36:49 12/20/03

Go up one level in this thread


On December 20, 2003 at 06:17:50, Ulrich Tuerke wrote:

>On December 19, 2003 at 21:07:40, Uri Blass wrote:
>
>>I am interested if programmers can do the following experiment.
>>
>>Take the GCP test suite(delete endgame positions from it) and test your program
>>twice.
>>
>>one time with 1 mbyte hash tables and one time with 2 mbytes hash tables.
>>
>>of course 2 mbytes is better but the question is if 2 mbytes gives 6-7% speed
>>improvement for all problems (except easy problems that are solved in less time
>>that is needed for the program to fill the entries of 2 mbytes hash table) or if
>>it gives bigger improvement for hard problems that the program needs some
>>minutes to solve.
>>
>>I asked to use very small hash tables in order to enable programs to fill the
>>hash tables in a very small time.
>>
>>I agree that bigger hash table probably means better branching factor at the
>>time that is enough only to fill the small hash and not enough to fill the
>>bigger hash but the question is what happens later.
>
>I would rather expect, it's something like a logarithm. Most important is to
>have a hash table at all. The early Mephisto machines had proven that 32K hash
>table is already good for an enormous speed-up in pawn endings.
>
>However when to consider switching from 2 GB hash tables to 4 GB for instance, I
>would suggest to use the additional memory otherwise.
>
>Otoh, the time control has to be taken into account too. In case your engine
>analyzes a position for a few days, a very large hash table may be useful.
>
>Uli

I did 2 experiments:

experiment A) I ran diep at 460 processors with 115MB hashtable *in total*
experiment B) Same diep version at 460 processors with 115GB hashtables.

Note hashtable means transpositiontable here. Each processor had local 4.2MB
pawnhashtable and each processor had local 32MB evaluation table.

MB = 10^6 , GB = 10^9
#probes   = 4
entrysize = 16 bytes
position  = r4rk1/p1q1nppp/b2b4/2nP4/1P3p2/P1N2N2/B1P3PP/R1BQK2R w KQ -

What is the expected outcome?

Thanks,
Vincent

>>
>>Uri



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.