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'.