Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: The need to unmake move

Author: Robert Hyatt

Date: 10:53:46 09/03/03

Go up one level in this thread


On September 03, 2003 at 13:38:30, Gian-Carlo Pascutto wrote:

>On September 03, 2003 at 13:11:40, Robert Hyatt wrote:
>
>>Why wouldn't they check it at the top of Search() each time they go
>>deeper?  It is a local memory reference with no speed penalty whatsoever.
>
>Yes. But to set it, you need a remote one.
>
>--
>GCP


How often?  Here are some stats from a long crafty game:

              SMP->  split=6266  stop=875  data=19/64  cpu=10:00  elap=2:39
              SMP->  split=3511  stop=440  data=16/64  cpu=5:20  elap=1:27
              SMP->  split=3768  stop=524  data=17/64  cpu=5:45  elap=1:33
              SMP->  split=1724  stop=275  data=13/64  cpu=3:59  elap=1:04
              SMP->  split=4894  stop=671  data=15/64  cpu=3:55  elap=1:03
              SMP->  split=2666  stop=420  data=15/64  cpu=3:51  elap=1:02
              SMP->  split=3412  stop=683  data=17/64  cpu=3:46  elap=1:00
              SMP->  split=3447  stop=476  data=15/64  cpu=3:55  elap=1:03
              SMP->  split=2985  stop=345  data=19/64  cpu=1:13  elap=19.53
              SMP->  split=11657  stop=1620  data=23/64  cpu=3:32  elap=58.12
              SMP->  split=1928  stop=292  data=17/64  cpu=3:24  elap=57.08
              SMP->  split=53912  stop=6999  data=30/64  cpu=32:06  elap=8:42
              SMP->  split=9997  stop=1209  data=23/64  cpu=3:31  elap=56.69
              SMP->  split=2966  stop=527  data=19/64  cpu=3:28  elap=55.49

"split" is the number of times a single processor noticed an idle processor
and forced it to "join in" and help.  "stop" is the number of times one
processor told everybody else at a split point "stop, your results are not
needed."

These are for roughly 1 minute searches in a real game (level 0 30 15 I think).

The number of stops is _very_ low.  How much overhead do you think you will
see in the worst case of 7000 stops?  7000 * 3 memory stores, which is maybe a
millisecond worst case?  Best case is 275 * 3 stores, almost nothing.

As I said, the number of times one processor tells others to "stop" is _tiny_.
As it should be.

Anyone can run a 4-cpu test with crafty and just grab the above lines from a
log to see what their machine results look like.



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.