Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Parallel Search ?

Author: Robert Hyatt

Date: 17:44:30 03/06/98

Go up one level in this thread


On March 06, 1998 at 18:25:49, Brian McKinley wrote:

>I am considering modifying my program to use a parallel search and I am
>concerned about an explosion of threads.  Should I put a limit on the
>number of threads that can run simultaneously, and if so, how do I
>decide who gets the resources when they become available?  I suppose the
>simplest solution is to track how many threads are running and only
>process a node in parallel if the number of moves is less than or equal
>to MAX_THREADS minus running threads
>
>The following is from the Click Chess web page:
>
>"at each node the first successor is searched serially. If it does not
>cause a cutoff, the remaining successors are searched in parallel."
>
>Does this approach bring the thread explosion to an acceptable level?

this is called "young brothers wait".  It works.  It does give you a
limited efficiency that you may or may not like.  IE it is nearly
impossible to avoid a 1/3 overhead in the search (searching 30-50% more
nodes in parallel than the sequential search would search).

But you control the threads differently, because you should never create
more threads than you have processors to run them on...  all you do is
grossly exaggerate the number of context switches the O/S has to do,
which
thrashes cache and other things...

young brothers wait and other algorithms have been published in the
JICCA
and in other places...

Bob



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.