Archived

This topic is now archived and is closed to further replies.

Russell

Parallel cluster programming

Recommended Posts

I''m looking for some information on programming for a cluster of computers (a small network of computers). I''d like to somehow combine the processing power to work together for my chess program so it can search deeper into the game tree. One person I talked to said unix/linux has a cluster feature. Does this mean my program will run over a cluster without any modification? Or do I have to write my program to take advantage of the extra processing power? Any help or references to where I can learn more about this topic would be greatly appreciated. Thanks, Russell

Share this post


Link to post
Share on other sites
First off, be wary of any approach that claims "instant parallelism." Changing sequential code to truly parallel code is non-trivial and is currently, in my opinion, not a task that should be automated.

The first major question to ask yourself is: "Can my program be subdivided into independent modules?" If so, the next question is "Can I do it easily?"

You say that you''re writing a chess program? Well, searching a chess game tree is a task which can (and should) be done in parallel over as many CPU''s as you can get.

A good parallel message passing library that I''ve used many times is PVM (http://www.epm.ornl.gov/pvm/pvm_home.html). Another alternative is MPI; I''ve heard that it''s better but I''ve never used it myself.

PVM works by separating large jobs into smaller tasks and then magically dispatching them over a network of hetergeneous machines. You can do this for your chess program with a minimal amount of coding on your part (i.e. you can probably make a few changes to one of the sample programs). I did this once to "parallelize" an automated theorem proving program, it was not hard at all.

Good luck.

Share this post


Link to post
Share on other sites