Rayne wrote:
Hi all,
I am trying to set up Open MPI to run on multiple servers, but as I
have very little experience in networking, I'm getting confused by the
info on open-mpi.org, with the .rhosts, rsh, ssh etc.

Basically what I have now is a PC with Open MPI installed. I want to
connect it to, say, 10 servers, so I can run MPI programs on all 11
nodes. From what I've read, I think I need to install Open MPI on the
10 servers too, and there must be a shared directory where I keep all
the MPI programs I've written, so all nodes can access them.

Then I need to create a machine file on my local PC (I found a default
hostfile "openmpi-default-hostfile" in {prefix}/etc/. Can I use that
instead so I need not have "-machinefile machine" with every mpiexec?)
with the list of the 10 servers. I'm assuming I need to put down the
IP addresses of the 10 servers in this file. I've also read that the
10 servers also need to each have a .rhosts file that tells them the
machine (i.e. my local PC) and user from which the programs may be
launched from. Is this right?

There is also the rsh/ssh configuration, which I find the most
confusing. How do I know whether I'm using rsh or ssh? Is following
the instructions on http://www.open-mpi.org/faq/?category=rsh under
"3: How can I make ssh not ask me for a password?" sufficient? Does
this mean that when I'm using the 10 servers to run the MPI program,
I'm login to them via ssh? Is this necessary in every case?

Is doing all of the above all it takes to run MPI programs on all 11
nodes, or is there something else I missed?

More or less. Though the first step is to setup password-less SSH between all 11 machines. I'd completely skip the use of RSH as its very insecure and shouldn't be used in non-dedicated cluster, and even then... You should basically setup SSH so a user can SSH from one node to another without specify a password or entering in any other information.

Then, the next is to setup NFS. NFS provides you with a way to share a directory on one computer, to many other computers avoiding the hassel of having to copy all your MPI programs to all of the nodes. This is generally as easy as configuring /etc/exports, and then just mounting the directory on the other computers. Be Sure you mount the directories in the same place on every node though.

Lastly, give your MPI programs a shot. While you don't need to have a hostlist, because you can specify the hostname (or IPs). on the mpirun command line. But you your case its likely a good idea.

Hope that gets you started...

-Joshua Bernstein
Software Engineer
Penguin Computing

Reply via email to