Dear Friends,
I'm trying to learn to use parallel computation using
snow & rpvm
Now, I have two boxes:
1) Pentium 4, pvm 3.4.5, R 2.2.0
with FreeBSD 5.4 (box uffbsd);
2) PowerPC, pvm 3.4.5, R 2.1.1 with
Debian Linux latest stable (box powerpclinux);
I'm using the
instructions in (found in snow.pdf) http://www.stat.uiowa.
edu/~luke/R/cluster/cluster.html.
Now ** from the box uffbsd ** using
some of the example binaries boxed with pvm it seems that all works ok:
.....................................
.....................................
pvm> conf
conf
2 hosts, 2 data
formats
HOST DTID ARCH SPEED DSIG
uffbsd 40000 FREEBSD 1000 0x00408841
powerpclinux 80000 LINUXPPC 1000 0x0658eb59
pvm> mstat
powerpclinux
mstat powerpclinux
powerpclinux ok
pvm>
mstat uffbsd
mstat uffbsd
uffbsd ok
pvm> spawn -> hello
spawn -> hello
[13]
1 successful
t80012
pvm> [13:t80012] i'm t80012
[13:
t80012] from t80013: hello, world from powerpclinux
[13:t80013] EOF
[13:
t80012] EOF
[13] finished
pvm> spawn -> master1
spawn -> master1
[11]
1 successful
t8000e
pvm> [11:t40013] EOF
[11:t40014] EOF
[11:
t80011] EOF
[11:t40012] EOF
[11:t80010] EOF
[11:t8000f] EOF
[11:t8000e]
Spawning 6 worker tasks ... SUCCESSFUL
[11:t8000e] I got 100.000000
from 1; (expecting 100.000000)
[11:t8000e] I got 300.000000 from 2;
(expecting 300.000000)
[11:t8000e] I got 500.000000 from 3; (expecting
500.000000)
[11:t8000e] I got 500.000000 from 0; (expecting 500.000000)
[11:t8000e] I got 700.000000 from 4; (expecting 700.000000)
[11:t8000e]
I got 900.000000 from 5; (expecting 900.000000)
[11:t8000e] EOF
[11]
finished
pvm> spawn -> master1
spawn -> master1
[10]
1 successful
t4000e
pvm> [10:t40011] EOF
[10:t40010] EOF
[10:t4000f] EOF
[10:t8000d]
EOF
[10:t4000e] Spawning 6 worker tasks ... SUCCESSFUL
[10:t4000e] I
got 700.000000 from 4; (expecting 700.000000)
[10:t4000e] I got
900.000000 from 5; (expecting 900.000000)
[10:t4000e] I got 500.000000
from 3; (expecting 500.000000)
[10:t4000e] I got 300.000000 from 2;
(expecting 300.000000)
[10:t4000e] I got 500.000000 from 0; (expecting
500.000000)
[10:t4000e] I got 100.000000 from 1; (expecting 100.000000)
[10:t4000e] EOF
[10:t8000c] EOF
[10:t8000b] EOF
[10] finished
pvm>
spawn -> slave1
spawn -> slave1
[17]
1 successful
t40019
pvm> spawn ->
slave1
spawn -> slave1
[18]
1 successful
t80017
.........................................
.........................................
Now, starting R ** always
from box uffbsd **
I get the following
........................>
library(snow)> cl <- makeCluster(2)
Loading required package: rpvm>
cl
[[1]]
$tid
[1] 262171
$RECVTAG
[1] 33
$SENDTAG
[1] 22
attr(,"class")
[1] "PVMnode"
[[2]]
$tid
[1] 524312
$RECVTAG
[1] 33
$SENDTAG
[1] 22
attr(,"class")
[1] "PVMnode"
attr(,"class")
[1] "PVMcluster"
......................
But trying any of the commands suggested in the
cited website such as:
> clusterCall(cl, function() Sys.info()[c
("nodename","machine")])> clusterEvalQ(cl, library(boot))
>
clusterApply(cl, 1:2, get("+"), 3)
R invariably freezes and
frustatrated I have to close the terminal session and restart it all
over again (to no avail, of course).
The other hint for you could be
that if - instead of a debian powerpc box - I use a second freebsd box
with the same software as uffbsd it all works smoothly.
What do you
suggest to check?
Ciao
Vittorio