Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Preparations for parallel search

Author: Robert Hyatt

Date: 07:22:20 07/09/04

Go up one level in this thread


On July 09, 2004 at 10:19:52, Tom Likens wrote:

>On July 09, 2004 at 09:13:31, Robert Hyatt wrote:
>
>>On July 09, 2004 at 08:38:31, Tord Romstad wrote:
>>
>>>I am currently writing a chess engine.  Parallel search is not among my main
>>>interests at the moment, but it is not entirely impossible that I will give it
>>>a try some time in the future.
>>>
>>>In order to keep everything as flexible as possible, I would like to design
>>>my algorithms and data structures in such a way that adding parallel search
>>>at a later stage is feasible.  I understand that I should remove most of my
>>>global variables and replace them with huge structs containing the same data,
>>>and use one such struct for each thread.  Is there anything else which is
>>>important to keep in mind?
>>>
>>>Tord
>>
>>
>>That's the main issue assuming you are going to use lightweight processes
>>(threads) which I believe is the best approach.  The most thread-specific data
>>you have, which means less global data, will help performance (modified global
>>data is not cache-friendly on a SMP box) and simplify testing (since modified
>>global data requires atomic locks to avoid interleaved update problems).
>
>I haven't really looked at Crafty's SMP code, but I'm wondering how painful
>was it to support both Windows and Linux?  I'm familiar with the pthreads
>model used under Unix, but haven't a clue about the equivalent code for
>Windows.
>
>
>--tom


Wasn't hard.  Windows uses different system call names.  IE no pthread_create(),
but that's all.  And it is easily handled by conditional compilation in one
place.




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.