• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

R/H26-Oct-2021-1,093806

inst/H26-Oct-2021-185122

man/H26-Oct-2021-552503

DESCRIPTIONH A D27-Oct-2021428 1514

MD5H A D27-Oct-20211.1 KiB2322

NAMESPACEH A D26-Oct-2021698 2819

READMEH A D26-Oct-20213.4 KiB7758

README

1		 SNOW: Simple Network of Workstations
2
3The snow package provides support for simple parallel computing on a
4network of workstations using R.  A master R process calls makeCluster
5to start a cluster of worker processes; the master process then uses
6functions such as clusterCall and clusterApply to execute R code on
7the worker processes and collect and return the results on the master.
8This framework supports many forms of "embarrassingly parallel"
9computations.
10
11Snow can use one of two communications mechanisms: sockets or MPI. MPI
12clusters use package Rmpi.  If using MPI the MPI system may need to be
13started externally. SOCK clusters are the easiest approach for using
14snow on a single multi-core computer as they require no additional
15software.
16
17
18			       CAUTION
19
20Be sure to call stopCluster before exiting R.  Otherwise stray
21processes may remain running and need to be shut down manually.
22
23
24			     INSTALLATION
25
26MPI clusters require a suitable MPI implementation (e.g. LAM-MPI or
27Open MPI) and the Rmpi package. The rlecuyer package may also be
28useful to support parallel random number generation.  These supporting
29R packages and the snow package should be installed in the same
30library directory.  The snow package and supporting packages need to
31be available on all hosts that are to be used for a cluster.
32
33No further configuration should be needed for a homogeneous network of
34workstations with a common architecture, operating system, and common
35file system layout.  If some hosts have different file system layouts,
36then SOCK clusters can use host specifications for the workers
37that specify where to find the snow package and the Rscript program to
38use.  Alternatively, the file RunSnowWorker should be placed in a
39directory on the PATH of each host to be used for worker processes,
40and each such host should define the variable R_SNOW_LIB as the
41directory in which the snow package and supporting packages have been
42installed.  Thus if snow has been installed with
43
44	R CMD INSTALL snow -l $HOME/SNOW/R/lib
45
46then users with a csh shell would place something like
47
48	setenv R_SNOW_LIB $HOME/SNOW/R/lib
49
50in their .cshrc files.  Setting this variable to a nonempty value on
51the master as well ensures that the cluster startup mechanism assumes
52an inhomogeneous cluster by default.  Rscript should also be on the
53PATH of the hosts used to run worker processes. Alternatively, you can
54define the environment variable R_SNOW_RSCRIPT_CMD to the path for
55Rscript, or you can edit edit the RunSnowWorker scripts to use a fully
56qualified path to the R shell script.
57
58For SOCK clusters the option manual = TRUE forces a manual startup
59mode in which the master prints the command to be run manually to
60start a worker process. Together with setting the outfile option this
61can be useful for debugging cluster startup.
62
63To date, snow has been used successfully with master and workers
64running on combinations of several flavors of Unix-like operating
65systems, including Linux, HP-UX and Mac OS X using LAM-MPI, or
66sockets.  The socket version of snow has been run with a master on
67Linux or Windows Windows and workers on a combination of Windows,
68Linux, and Mac OS X; freeSSHd and Putty's plink were used for remote
69process startup on windows.  The MPI version has been run on a single
70multi-core Windows machine using DeinoMPI; reports on experiences with
71MPICH2 on windows would be welcome.
72
73
74			      REFERENCE
75
76http://www.stat.uiowa.edu/~luke/R/cluster/cluster.html.
77