Functions to start and stop a SNOW cluster and to set default cluster options.
1 2 3 4 5 6 7 8 9 10
number of nodes to create
character vector of node names
cluster options object
cluster option specifications
character; specifies cluster type.
makeCluster starts a cluster of the specified or default type
and returns a reference to the cluster. Supported cluster types are
"MPI" clusters the
spec argument should be an integer
specifying the number of worker nodes to create. For
spec should be a character vector naming the hosts on
which worker nodes should be started; one node is started for each
element in the vector. For
spec can also be an integer specifying the
number of worker nodes to create on the local machine.
spec can also be a
list of machine specifications, each a list of named option values.
Such a list must include a character value named
specifying the name or address of the host to use. Any other option
can be specified as well. For
this may be a more convenient alternative than inhomogeneous cluster
startup procedure. The options
often useful; see the examples below.
stopCluster should be called to properly shut down the cluster
before exiting R. If it is not called it may be necessary to use
external means to ensure that all worker processes are shut down.
setDefaultClusterOptions can be used to specify alternate
values for default cluster options. There are many options. The
most useful ones are
default value of the
type option is currently set to
"MPI" if Rmpi is on the search path. Otherwise it is set to
if Rmpi is available,
homogeneous option should be set to
specify that the startup procedure for inhomogeneous clusters is to
be used; this requires some additional configuration. The default
TRUE unless the environment variable
R_SNOW_LIB is defined on the master host with a non-empty
outfile can be used to specify the file to which
worker node output is to be directed. The default is
during debugging of an installation it can be useful to set this to a
proper file. On some systems setting
/dev/tty will result in worker output being sent tothe
terminal running the master process.
makeMPIcluster can be used to start
a cluster of the corresponding type.
In MPI configurations where process spawning is not available and
mpirun is used to start a master and a set of workers
the corresponding cluster will have been pre-constructed and can be obtained
getMPIcluster. It is also possible to obtain a reference
to the running cluster using
makeMPIcluster. In this case the
count argument can be
omitted; if it is supplied, it must equal the number of nodes in the
cluster. This interface is still experimental and
subject to change.
clusters the option
manual = TRUE forces a
manual startup mode in which the master prints the command to be run
manually to start a worker process. Together with setting the
outfile option this can be useful for debugging cluster startup.
For more details see https://stat.uiowa.edu/~luke/R/cluster/cluster.html.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
## Not run: ## Two workers run on the local machine as a SOCK cluster. cl <- makeCluster(c("localhost","localhost"), type = "SOCK") clusterApply(cl, 1:2, get("+"), 3) stopCluster(cl) ## Another approach to running on the local machine as a SOCK cluster. cl <- makeCluster(2, type = "SOCK") clusterApply(cl, 1:2, get("+"), 3) stopCluster(cl) ## A SOCK cluster with two workers on Mac OS X, two on Linux, and two ## on Windows: macOptions <- list(host = "owasso", rscript = "/Library/Frameworks/R.framework/Resources/bin/Rscript", snowlib = "/Library/Frameworks/R.framework/Resources/library") lnxOptions <- list(host = "itasca", rscript = "/usr/lib64/R/bin/Rscript", snowlib = "/home/luke/tmp/lib") winOptions <- list(host="192.168.1.168", rscript="C:/Program Files/R/R-2.7.1/bin/Rscript.exe", snowlib="C:/Rlibs") cl <- makeCluster(c(rep(list(macOptions), 2), rep(list(lnxOptions), 2), rep(list(winOptions), 2)), type = "SOCK") clusterApply(cl, 1:6, get("+"), 3) stopCluster(cl) ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.