Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How is the Software Different for Multi-processor vs Single Processor?

Author: Dann Corbit

Date: 10:59:32 11/15/02

Go up one level in this thread


On November 15, 2002 at 13:21:33, Bob Durrett wrote:

>
>What new kinds of blocks of code and/or algorithms become necessary when one
>modifies his/her single-processor chess engine to make it work on
>multi-processor computers?  What must be changed and/or added?

The things that can change are:
1.  The division of work.  Sometimes algorithms which are great for a single CPU
are not the best choices for parallel implementations.  Sometimes, a less
efficient but more easily separable algorithm can be better.  This is especially
true in massively parallel systems like the connection machine.

2.  Public variables become a problem in parallel situations.  If two separate
threads or processes write to the same memory object at the same time, it can
crash.  Therefore, public objects have to be carefully considered.  Typically,
shared data objects like the hash table will have to be carefully thought out so
that we do not collide.  More problematic are single instance variables that are
public and rapidly modified.  It may even be necessary to use Semaphores or
Critical Sections to gate them.



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.