Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question how to read nodes from analysis

Author: K. Burcham

Date: 14:58:07 02/11/02

Go up one level in this thread


On February 11, 2002 at 17:44:58, Dann Corbit wrote:

>On February 11, 2002 at 17:35:44, K. Burcham wrote:
>>On February 11, 2002 at 16:59:11, Dann Corbit wrote:
>>>On February 11, 2002 at 16:11:15, K. Burcham wrote:
>>>>On February 11, 2002 at 13:51:31, Dann Corbit wrote:
>>>>>On February 11, 2002 at 13:22:50, K. Burcham wrote:
>>>>>[snip]
>>>>>>Like I said before, if we monitor the cpu usage, and it is 100% on both
>>>>>>machines, and both programs have same amount of nodes per move posted in
>>>>>>analysis, then I can conclude that the processor in the larger mhz machine
>>>>>>is busy doing something---the question was what are some of the tasks that this
>>>>>>larger mhz machine is doing while running a chess program that do not allow it
>>>>>>to post more nodes per move? (of course assuming that both systems are not
>>>>>>burdened with any background software running, or non chess related tasks
>>>>>>consuming cpu)
>>>>>
>>>>>I think I understand your question now.
>>>>>
>>>>>Take a slow searcher like MChess -- It might take 10,000 machine cycles to
>>>>>examine one node.  But the work it does perform is throwing away useless
>>>>>examinations of valueless nodes.
>>>>>
>>>>>Another program might examine a node in only 100 machine cycles.  But it is
>>>>>obviously not being nearly as choosy about what it looks at.
>>>>>
>>>>>The slow searchers spend more compute power deciding what nodes need
>>>>>examination.  The fast searchers spend less time on that and make up for it with
>>>>>the increased speed.  Two different approaches but both arrive at the same goal.
>>>>>
>>>>>Both CPU's are pegged when analyzing for both the slow and fast searcher.  But
>>>>>they are busy computing different things.
>>>>>
>>>>>The slow searcher is saying, "Should I bother with this?  No.  How about that?
>>>>>No.  Maybe this one?  Nope...  Aha!  Here's a good one.  I better check it
>>>>>carefully."
>>>>>
>>>>>The fast searcher is saying "Here's one -- check it.  Here's one -- check it..."
>>>>>
>>>>>Now, even with the fast searcher, it won't blindly examine all the nodes.  It is
>>>>>just that it examines a lot more but is less selective about what it looks at.
>>>>Dan
>>>>
>>>>much better, Dan. but we are still not there yet. are you saying that all lesser
>>>>moves looked at are not added to the posted node count?
>>>>lets use your words---The slow searcher is saying, "Should I bother with this?
>>>>No.  How about that?
>>>>>No.  Maybe this one?  Nope...  Aha!  Here's a good one.  I better check it
>>>>>carefully."
>>>>lets count your example: you had three "no's" and one "good one" for a total of
>>>>four nodes. are you saying in this example only one node and its variations are
>>>>added to the posted node count, and the other three nodes and their variations
>>>>because they were analyzed as a lesser value and at some stage in the analysis
>>>>were pruned, are not added to the posted node count?
>>>
>>>The slow searchers may bypass entire branches of the search tree.  The effort
>>>spent deciding what to discard may be considerable.  The actual nodes of a huge
>>>part of the tree may never be examined.
>>>
>>>When the slow searcher says, "Shall I look at this" it may not be considering a
>>>single board position, but rather a branch of the tree containing 40 million
>>>nodes.
>>Dan
>>
>>none of your last statements are refering to the intent of my question, except
>>one (I think).
>>
>>"The effort spent deciding what to discard may be considerable."
>>ok, this statement refers to my question.  what work (cpu usage) is the program
>>doing that is not a board position? what work (cpu usage)is the program doing
>>that does not include a node? what is taking up processor time with the program
>>that is not a node? what is using the processor that is not a board posiiton?
>>please do not say the os, or background os tasks. i am not refering to any of
>>these, i am aware of these. i am only refering to cpu usage of the program that
>>is not looking at, considering, thinking about, analysing nodes or a board
>>position. what about this "effort spent"? what is effort spent if it is not a
>>node or board position. other than book moves, and using egtb, what else does a
>>program do to use cpu other than nodes or board posiitons?
>>of course to me all that i have said, and all these questions are looking for
>>only one answer.
>>
>>It is difficult to be curious about a subject, and not have enough knowledge
>>about the subject, to phrase a question on a level, so as to obtain a
>>satisfactory answer from one you feel has the ability to form the level of
>>answer that one thinks he is looking for.
>>I am also concerned about this topic being too trivial for the length of this
>>thread. maybe this should have been e-mail?
>
>Unfortunately, your questions don't have simple answers.
>
>http://www.gamedev.net/reference/programming/features/chess3/page2.asp
>http://www.dcs.qmul.ac.uk/~icca/anatomy.htm#tree%20searching
>http://citeseer.nj.nec.com/451147.html
>http://www.csis.hku.hk/~kpchan/cs23270/3.problem-solving/gametree.html
>http://www.cs.toronto.edu/~mitchell/ai-course/gp.html
>http://www.ast.cam.ac.uk/~cmf/chess/theory.html
>http://www.seanet.com/~brucemo/topics/topics.htm

Dan, here is a thread that i posted in the past to Robert trying to get him to
comment on this same question. when you read this you might think it is a
different question, but the intent of the question is the same as the questions
in our conversation.

Subject : smp question about kns, engine, and other program tasks-Mr Hyatt
Posted by : K. Burcham on November 29, 2001 at 21:21:33

Mr Hyatt. i have read the posts here about deep fritz and its kns increase with
two processors.

from the info i have seen with my dual machine, i have become curious about
something. below are the examples with difference in hardware.

program A on single processor 1500 mhz 1400 kns
program A on dual processor 3000 mhz 2000 kns

program B on single processor 1500 mhz 1400 kns
program B on dual processor 3000 mhz 1400 to 1500 kns


my question is only about the chess software. not the hardware. not the ram.
not the hash.

is it possible with these smp programs that something else going on in the chess
software, that you can comment on. in other words if this kns is accurate and a
true value (that deep fritz is giving us), then is it possible the program is
doing something else with this second processor that will not show a kns
increase but will add to its strength. the reason for this question is that when
i run task manager in windows 2000, it shows that the program is using the
second processor with deep fritz as much as my other smp programs (90 to 100%)
but it shows no increase in kns.

kburcham

For the record, if you run crafty, you will _always_ see both cpus running
at 100%. But it is possible that one thread is in a spin-lock waiting on
the other to release something, or that one is spinning waiting on work.

IE just because a cpu is busy doesn't mean it is busy doing something
_useful_. :)

I really can't answer. But it is worth pointing out that there are two ways
to calculate Knps:

Knps = total nodes / elapsed time

Knps = total nodes / total cpu time

The former will come close to doubling the Knps, the latter will not. But since
most use the former method the Knps should always go up, usually close to 2x
faster, although the actual search will not usually be 2x faster when you check
the time to find a solution.

 Robert Hyatt





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.