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.