Reply
 
LinkBack Thread Tools Display Modes
  #1   Report Post  
Old January 7th 04, 12:40 AM
Mark
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

For example, I have Fritz 7, and keep the hashtable size low.

If I raise it, does that result in better analysis?

Thanks,

Mark

  #2   Report Post  
Old January 7th 04, 05:09 AM
Chet Marino
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

YES up to a point. generally the more the better...


On Wed, 07 Jan 2004 00:40:43 GMT, "Mark" wrote:

For example, I have Fritz 7, and keep the hashtable size low.

If I raise it, does that result in better analysis?

Thanks,

Mark


Chet Marino
Westminster, CO
  #3   Report Post  
Old January 7th 04, 12:52 PM
henri Arsenault
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

In article ,
Chet Marino wrote:

YES up to a point. generally the more the better...


Yes, but according to a recent column by either Mig Greengard or Steve
Lopez, using a larger hash table than necessary can slow down the
calculations apparently because of the increase of search space. he ives
a formula, but who can remember a formula?

I have to say that I am rather confused by the contradictory information
circulating about this issue.

Henri
  #4   Report Post  
Old January 7th 04, 01:23 PM
Gian-Carlo Pascutto
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

YES up to a point. generally the more the better...


Yes, but according to a recent column by either Mig Greengard or Steve
Lopez, using a larger hash table than necessary can slow down the
calculations apparently because of the increase of search space. he ives
a formula, but who can remember a formula?

I have to say that I am rather confused by the contradictory information
circulating about this issue.


The original formula was years outdated (and the explanations in the
article were complete nonsense). There was an update recently to correct
it to "bigger is better".

So, again, "bigger is better" (but your computer shouldn't start swapping,
obviously!).

--
GCP


  #5   Report Post  
Old January 7th 04, 05:15 PM
CeeBee
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

"Gian-Carlo Pascutto" wrote in
rec.games.chess.computer:


The original formula was years outdated (and the explanations in the
article were complete nonsense).



Regarding that formula, the Fritz programmers state that:
"We introduced this formula for Fritz 5/5.32. It was rather important then
because Fritz 5 used to deleted the hashtables between moves and the
performance of the engine decreased a lot once the hashtables were full.
The point about deleting hashtables is important because it takes time.
You don't want to delete 47 zogabytes of hashtables before each move when
you're playing bullet."

Of course this is outdated by now, but I'm curious to hear what the
complete nonsense in the explanation is.

--
CeeBee


"I am not a crook"



  #6   Report Post  
Old January 7th 04, 05:23 PM
David Richerby
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

CeeBee wrote:
"Gian-Carlo Pascutto" wrote:
The original formula was years outdated (and the explanations in the
article were complete nonsense).


Of course this is outdated by now, but I'm curious to hear what the
complete nonsense in the explanation is.


The original article is

http://www.chessbase.com/support/support.asp?pid=199

The quoted `reason' for having small hash tables is that it allegedly
takes an enormous amount of time to find a position in a sparse, large
hashtable. This is, of course, nonsense, because it's a hash table, not
a linked list.


Dave.

--
David Richerby Permanent Salted Atom Bomb (TM):
www.chiark.greenend.org.uk/~davidr/ it's like a weapon of mass destruction
but it's covered in salt and it'll be
there for ever!
  #7   Report Post  
Old January 7th 04, 06:27 PM
henri Arsenault
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

In article ,
"Gian-Carlo Pascutto" wrote:

The original formula was years outdated (and the explanations in the
article were complete nonsense). There was an update recently to correct
it to "bigger is better".

OK I remember now. So unless you are using a program that deletes the
hashtable after every move, bigger is better. To find out how big it
should be, keep increasing it until the computer starts to have to use
swap to disk, then lower it a bit to make sure it doesn't swap.

does anyone know if when playing one program against another on the same
computer, if each program keeps its own swap space, or erase it after
evry move?

Henri
  #8   Report Post  
Old January 7th 04, 06:55 PM
Robert Hyatt
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

henri Arsenault wrote:
In article ,
"Gian-Carlo Pascutto" wrote:


The original formula was years outdated (and the explanations in the
article were complete nonsense). There was an update recently to correct
it to "bigger is better".

OK I remember now. So unless you are using a program that deletes the
hashtable after every move, bigger is better. To find out how big it
should be, keep increasing it until the computer starts to have to use
swap to disk, then lower it a bit to make sure it doesn't swap.


That is not the complete picture. As the hash table gets bigger, you
address more physical pages in memory. As this happens, you begin to
stress the TLB, which can triple memory access time when the TLB can't
provide a virtual-to-real translation and has to do the normal memory
mapping stuff using tables stored in real memory.


does anyone know if when playing one program against another on the same
computer, if each program keeps its own swap space, or erase it after
evry move?


If a program doesn't terminate, it would not release any swap/paging
space.




Henri


--
Robert M. Hyatt, Ph.D. Computer and Information Sciences
University of Alabama at Birmingham
(205) 934-2213 136A Campbell Hall
(205) 934-5473 FAX Birmingham, AL 35294-1170
  #9   Report Post  
Old January 7th 04, 07:11 PM
David Richerby
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

henri Arsenault wrote:
does anyone know if when playing one program against another on the same
computer, if each program keeps its own swap space, or erase it after
evry move?


Swap space is managed by the operating system, not the application. The
operating system doesn't know what the application wants to do with its
memory so it can't erase it. If you're playing engine-engine matches,
you'll want both hash tables in memory or performance will be very poor.

It would be fairly quick to pull in, say, a 128Mb hash table from the disc
in a single sequential read. However, operating systems only bring chunks
of memory (called `pages', typically about 8kb in size) back into RAM from
the disc when they're needed and access patterns to hash tables are
essentially random. Every time you evaluate a position, you have to check
the hash table and, chances are, the page you want will still be on the
disc at the start of the search. That means one disc read (about 10ms)
for each node the engine considers, so you'll be down to a few hundred
nodes per second until most of the hash table is loaded and, at 10ms per
8kb block, 128Mb takes about three minutes.

I imagine modern operating systems will probably use slightly more
intelligent techniques for loading pages back into memory (say a disc
track at a time) but you're probably still talking a couple of tens of
seconds of crippled search before to get the hash table back into RAM.


Dave.

--
David Richerby Permanent Flammable Widget (TM): it's
www.chiark.greenend.org.uk/~davidr/ like a thingy but it burns really
easily and it'll be there for ever!
  #10   Report Post  
Old January 7th 04, 07:27 PM
David Richerby
 
Posts: n/a
Default Do Hashtable Sizes Affect How Well an Engine Will Analyze?

Robert Hyatt wrote:
That is not the complete picture. As the hash table gets bigger, you
address more physical pages in memory. As this happens, you begin to
stress the TLB, which can triple memory access time when the TLB can't
provide a virtual-to-real translation and has to do the normal memory
mapping stuff using tables stored in real memory.


The Pentium 4 TLB has 64 entries; the Athlon XP has 32. Since hash table
access patterns are random, the TLB hit rate will be negligible once your
hash table is hash table is bigger than a couple of megabytes so making it
bigger beyond that will have no significant effect on memory access
times.


Dave.

--
David Richerby Cyber-Chainsaw (TM): it's like a
www.chiark.greenend.org.uk/~davidr/ lethal weapon that exists only in
your computer!
Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
A Crime by a Board of Old Imposters Rolf Tueschen rec.games.chess.computer (Computer Chess) 121 December 16th 03 03:13 PM
Shredder6 engine help. Gian-Carlo Pascutto rec.games.chess.computer (Computer Chess) 1 September 22nd 03 04:37 PM


All times are GMT +1. The time now is 06:13 AM.

Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright 2004-2019 ChessBanter.
The comments are property of their posters.
 

About Us

"It's about Chess"

 

Copyright © 2017