Saturday, 15 September 2012

r - MPI remote nodes do not execute -


I am trying to create a cluster to parallel an R function. I use Open MPI in the Ubuntu and R packages (Rmpi and Snow) I am running the test code:

  cl & lt; - makempIcluster (8) Fun & lt; - Function () {Sys.info () [c ("nodename")}} clusterCl cl, funny) stopcluster (cl) mpi.quit ()  

is the command:

  mpirun -h localhost, node2-n1r - slave -f testSnowMPI.R  

The problem is that all returns are local hostnames I have localhost and node 2 Also saw the process and the process started (4 in the localhost and 4 in node 2) but quickly the slave process node is at 2 stops and everything is executed in the local host Is.

I did another test for each node (testSnowMPI.R) and when I changed the -n 1 to -n2 parameter, I had received different returns as expected but the scripts were executed by both local hosts.

Another interesting test is done when I command mpirun in the local host, but I execute ( -H node2 ). My answer is All the nodes allotted for this job have already been filled.

I can ping from the localhost localhost to node 2 and node 2. And I have already set up SSH connection without a passphrase.

It seems that normal procedure starts in node 2, but it can not write back to the master and then the local work does the whole job.

P> I did the same test of node 2 as a local test and the behavior was exactly the same.

Do you have any information about the strange behavior of these tests?

Edit

I did some testing using RPP functions (without Snowfunction). I wrote this script:

  mpi.spawn.Rslaves () mpi.close.Rslaves ()  

The order was:

  mpirun -h localhost, node2, node2-n1r - slave -f testSnowMPI.R  

and I found this output:

 < Code> Master 3 (rank 0, com1) running on size 3: node 1 slave 1 (rank 1, com 1) is running 3: node 1 slave 2 (rank 2, com 1) at size 3 Running: node1  

(node ​​1 is localhost)


No comments:

Post a Comment