Engine independent clustering with UCI ?

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

benkidwell

Engine independent clustering with UCI ?

Post by benkidwell »

Hello to all. I'm a hobbyist with an interest in distributed computing (as well as chess of course!) and I'd like to make all of my computers work together on chess analysis and perhaps even act as an opponent. I know that some cluster versions of particular engines exist, but given the nature of the UCI protocol, it seems like it would be easy to build an engine-independent clustering system, and it could be done with nothing more than a few simple shell scripts in a unix-like environment.

The idea is to do a very quick multi-pv analysis on the core node's engine, and use that to "seed" the worker nodes with their initial positions, and then harvest the highest scoring possibility. Obviously, this approach has a lot of inefficiencies, in that there will be no shared hash table between the nodes so convergent lines will be recomputed, etc. The basic communications between the nodes could be done with ssh, and no modifications to the engines used would be needed. I think a rough implementation could probably be done in an evening's work in BASH.

Has anyone tried anything like this? I am new on this forum so I apologize if this idea has already been discussed or has a well-known existing implementation.