Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: RAM , Hash tbl. and processor speed

Author: Robert Hyatt

Date: 07:48:23 03/28/03

Go up one level in this thread


On March 27, 2003 at 17:33:44, Tom Kerrigan wrote:

>On March 27, 2003 at 15:57:20, Bernardo Wesler wrote:
>
>>Hi all: I have never received a concrete answer about this amazing three (lets
>>say) parameters regarding the "final' performance of an engine.
>>Ram memory, hash table and processor speed.
>>A concrete example and my non answered questions:
>>PC pentium 4, 1.8 Ghz; ram 512; windows xp pro.; Chessbase GUI; blitz games 15
>>min per side; 4 man Tbs.
>>The most hash table size I put, the less processor speed i get? I mean if i put
>>64 mb hash table, does the processor run faster than if I put 388? and therefore
>>i obtain a better result from the chess program?
>>You realize that I definitively want to know if anybody can help me out (him by
>>himself or referring me to issued articles)to find out the best settings between
>>my hardware and a chess program in order to get the best results from it.
>>Thank you very much.
>
>There was a thread recently about how the amount/speed of RAM you have does not
>affect most chess programs. (Or at least it does not affect one of the more
>memory intensive programs, Crafty, except in a bizarre case with Eugene's
>Itaniums.)

I didn't see this particular thread.  Several ran a test a few years ago
starting with a
small (very small) hash table and going in several increments to a very large
one.  The
typical middlegame speedup was about a factor of _two_.

IE a hash table of (say) 16K entries vs a hash table of 16M entries.  The NPS
didn't
change much at all, and actually goes down just a bit usually, but the time to
depth
can speed up by as much as 2x depending on how small you start at.



>
>Hash table size does not affect processor speed, but it can affect the NPS you
>search (there's a difference). As soon as your hash table exceeds a few
>megabytes, though, it will not affect your NPS. Increasing hash table size gives
>you rapidly diminishing returns. I remember running tests where anything over 16
>or maybe 32MB only gave me a percent or so of benefit (in terms of times to
>solutions, not NPS). But unless you need your memory for something else, you
>might as well set your hash table to the maximum size possible before you start
>thrashing (i.e., your hard drive going nuts because you don't have enough
>physical memory and you have to use virtual memory).
>


The simple rule is that the hash table needs to be at _least_ large enough to
hold the
entire tree.  Beyond that there are still gains due to the fact that the hash
signatures are
not uniformly distributed over the hash space, but are somewhat "clustered."
Once you
reach 2x-4x the total tree size, anything more is certainly wasted.

It isn't quite as simple as just taking the raw NPS and multiplying by the
target search time
either, since some programs (Crafty is one, Junior is another) doesn't hash the
entire search
tree.  I don't store any q-search, which means my "storable tree space" is much
smaller
than a program that does hash q-search.





>Increasing processor speed (frequency) gives you ideal benefit, i.e., a 2GHz
>processor will usually search twice as many NPS as a 1GHz processor.
>
>Basically, buy a fast processor and make your hash tables big.
>
>-Tom



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.