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