Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Slow EGTBs

Author: David Rasmussen

Date: 13:19:01 01/16/03

Go up one level in this thread


On January 16, 2003 at 16:09:41, Scott Gasch wrote:

>
>Assuming you are running XP/2k take a look at perfmon.exe.  I suggest you have a
>look at the following counters:
>

XP. Thanks, I didn't know perfmon.

>Process | Page Faults/sec (for yourengine.exe)
>Process | I/O Read Bytes/sec (for yourengine.exe)
>Process | Working Set
>Process | Private Bytes
>Cache | Fast Reads/sec
>Cache | Fast Read Not Possible/sec
>Cache | Read Aheads/sec
>Memory | Page Faults/sec
>
>One theory: Your OS is under memory pressure (how many bytes free when you are
>running your engine in a normal position) and has reduced the working set size
>of yourengine.exe to compensate.  The part that it paged out is your EGTB cache
>because "well, yourengine.exe doesn't seem to be touching this memory, let's
>trim".  Everything is fine when you are playing non endgame positions but as
>soon as you get into an endgame you start probing.  That is I/O to the EGTB
>files but also the EGTB code suddenly wants to touch the EGTB cache.  Well the
>kernel is now taking page faults and swapping in the EGTB cache.  Double whammy.
>
>I don't suspect cacheman performance as a culpret here, I am more inclined to
>suspect memory pressure and working set trimming on a 256Mb machine.
>
>You want your engine to be taking VERY VERY few page faults if any while
>searching.  Personally I lock my transposition table into main memory and tell
>the OS do *not* swap any of this.  See VirtualLock on windows.  You need admin
>privileges to do this and you may have to call SetProcessWorkingSet before the
>call succeeds.  You might try locking your EGTB cache into memory as well if you
>find that yourengine.exe is taking a lot of page faults while probing.
>

According to perfmon, in the first second or so, there are some page faults, but
as soon as everything is "up and running", it stays flat on zero. So I guess
that's not the problem. I/O read bytes is maxed to 100, scale 1,000. I didn't
try the others. What is "working set"?

/David



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.