Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Multi processors chess question

Author: Robert Hyatt

Date: 10:53:50 03/05/01

Go up one level in this thread


On March 05, 2001 at 11:39:51, José de Jesús García Ruvalcaba wrote:

>On March 05, 2001 at 11:18:36, Robert Hyatt wrote:
>
>>On March 05, 2001 at 03:07:09, Pham Minh Tri wrote:
>>
>>>Hi all,
>>>
>>>If a chess program runs on a computer with N processors, how many times is it
>>>faster? N times? (compare with the same computer with 1 processor)
>>>
>>>Just a curious question because I have no computer with multiprocessor nor
>>>supercomputer :-(
>>\
>>
>>There are two answers.
>>
>>1.  If the program was written to use a parallel search, then you get one
>>answer.  I can't speak for everybody, but for the case of Crafty, the formula
>>is roughly this:
>>
>>speedup = 1 + (N-1)*.7
>>
>>where N is the number of cpus you have.
>>
>>IE for my quad, this comes out to roughly 3.1 times faster using 4 processors.
>>
>
>But that is sharing the transposition tables. What sort of speedup can we expect
>for message-passing chess programs (in which every processor has its own
>hashtables)?
>José.

I can't answer that at present.  That is why I said "in the case of crafty"
which is a posix-threads implementation using shared memory for everything.
It is still possible to do a shared hash table on a distributed computing
system.  But you have to write the code a bit differently. so that you hash,
ask the remote hash table manager for the entry, and then continue searching
as though the hash probe failed.  But if you get a hit, you have to be able
to back up to that node and handle it properly.  Sort of an "asynchronous
probe" idea.  At least that is how I plan on doing this in a future version
of crafty that will use distributed computing.

Another idea is that as work is distributed, keep a 'signature' so that you
can remember which node searched which positions in the past.  If you decide
to split the search, send nodes to the same processors that searched them the
last time so that their local hash tables will help.

How efficient that will be is a guess, at present.



>
>>2.  If the program doesn't know anything about a parallel search, then it will
>>get no speedup whatsoever no matter how many processors you have.



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.