ZZZZZZ has an option to play parallel on a number of UNIX machines.
It is very primitively implemented: the driver program (par.c)
asks ZZZZZZ (which has to reside in the same directory as the program
par is in) what to do. ZZZZZZ replies by writing on the dbasefile
who is to move, the number of legal moves and the moves themselves.
The driver program then distributes the legal moves over a number of
workstations specified in the file hosts.cfg (see the file par.c) using
fork, remote copy and remote shell. This setup works well and the program
par.c is fairly portable (I wrote it on an RS6000, and it compiled without 
problems on an SGI-IRIX). If you parallelize chess in this way, the time
gained is strongly dependent on the position: in positions where there
is clearly a best move (e.g. recaptures), you gain nothing because only
one workstation is thinking about the right move, wherease the other 
workstations are only thinking about nonsense. In other positions
the gain is higher.
As I do not have access to a true multiprocessor machine,
I do not have plans to write a parallel alpha-beta routine.

The file hosts.cfg contains the names of the remote hosts, 
an abbreviated name for that host (only used
to generate short file names), the login name and the directory
in which zzzzzz resides on that remote host. See the file hosts.cfg
for an example. You have got to have zzzzzz installed in those directories.
Start up par with 'par number colour',
where number is the time used sofar (in minutes) and colour is white or black
(the colour zzzzzz plays).
The moves are read from and written to the file 'game.txt'.
