Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Parallel search

Author: Brian McKinley

Date: 14:51:21 08/07/99

Go up one level in this thread


On August 07, 1999 at 08:39:44, Vincent Diepeveen wrote:

>On August 06, 1999 at 13:47:35, Brian McKinley wrote:
>
>>I am implementing a parallel search, and I have 2 questions for those who have
>>gone before me.
>>
>>1. If my parent thread has searched all moves at a ply and a child thread is
>>still searching, should the parent thread wait for the child thread to return,
>>or should it abort the search in the child thread and re-search the move from
>>the parent?  This would allow the child thread to be placed back in the pool so
>>that both threads are working again.  I am assuming that the re-search would be
>>fast to the point where there child was stopped.
>
>My program is not using recursion, but iteration.
>Therefore there is no thing such as parent/child relation.
>
>Assume i have 2 processors (which is the maximum i allow at a single
>position and that works great for machines with say 4 processors)
>at a position X. Assume P0 is ready while P1 is still busy,
>then P0 aborts itselve, writes in datastructure some things,
>and goes looking for a new job.
>
>I can do this because DIEP is not using recursion for it's search.
>I consider this a major speedup for a program that's parallel, as
>the only alternatives are:
>   - writing something cruel where processor P1 is part of too and
>     P0 is gonna unmake a bunch of iterations first and P1 is gonna make
>     all iterations.
>   - easiest solution: just let P0 idle till P1 finishes
>   - let P0 split within the search tree of P1, so that it
>     kind of helps it (see msg from Bob about this)
>
>I consider all alternatives poor%2



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.