snow-startstop             package:snow             R Documentation

_S_t_a_r_t_i_n_g _a_n_d _S_t_o_p_p_i_n_g _S_N_O_W _C_l_u_s_t_e_r_s

_D_e_s_c_r_i_p_t_i_o_n:

     Functions to start and stop a SNOW cluster and to set default
     cluster options.

_U_s_a_g_e:

     makeCluster(spec, type = getClusterOption("type"), ...)
     stopCluster(cl)

     setDefaultClusterOptions(...)

     makeSOCKcluster(names, ..., options = defaultClusterOptions)
     makePVMcluster(count, ..., options = defaultClusterOptions)
     makeMPIcluster(count, ..., options = defaultClusterOptions)
     makeNWScluster(names, ..., options = defaultClusterOptions)
     getMPIcluster()

_A_r_g_u_m_e_n_t_s:

    spec: cluster specification

   count: number of nodes to create

   names: character vector of node names

 options: cluster options object

      cl: cluster object

     ...: cluster option specifications

    type: character; specifies cluster type.

_D_e_t_a_i_l_s:

     'makeCluster' starts a cluster of the specified or default type
     and returns a reference to the cluster.  Supported cluster types
     are '"SOCK"', '"PVM"', '"MPI"', and '"NWS"'.  For '"PVM"' and
     '"MPI"' clusters the 'spec' argument should be an integer
     specifying the number of slave nodes to create.  For '"SOCK"' and
     '"NWS"' clusters 'spec' should be a character vector naming the
     hosts on which slave nodes should be started; one node is started
     for each element in the vector.  For '"SOCK"' and '"NWS"' clusters
     'spec' can also be an integer specifying the number of slaves
     nodes to create on the local machine.

     For 'SOCK' and 'NWS' clusters the '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 'host' host specifying
     the name or address of the host to use.  Any other option can be
     specified as well.  For 'SOCK' and 'NWS' clusters this may be a
     more convenient alternative than inhomogeneous cluster startup
     procedure.  The options 'rscript' and 'snowlib' are 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 slave 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 'type' and 'homogeneous'.  The default value of
     the 'type' option is currently set to "MPI" if 'Rmpi' is on the
     search path.  Otherwise it is set to '"PVM"' if the 'rpvm' package
     is available, to '"MPI"' if 'Rmpi' is available but 'rpvm' is not,
     and to '"SOCK"' if neither of these packages is found.

     The 'homogeneous' option should be set to 'FALSE' to specify that
     the startup procedure for inhomogeneous clusters is to be used;
     this requires some additional configuration. The default setting
     is 'TRUE' unless the environment variable 'R_SNOW_LIB' is defined
     on the master host with a non-empty value.

     The option'outfile' can be used to specify the file to which slave
     node output is to be directed.  The default is '/dev/null'; during
     debugging of an installation it can be useful to set this to a
     proper file.  On some systems setting 'outfile' to '""' or to
     '/dev/tty' will result in worker output being sent tothe terminal
     running the master process.

     The functions 'makeSOCKcluster', 'makePVMcluster',
     'makeMPIcluster', and 'makeNWScluster' can be used to start a
     cluster of the corresponding type.

     In MPI configurations where process spawning is not available and
     something like 'mpirun' is used to start a master and a set of
     slaves the corresponding cluster will have been pre-constructed
     and can be obtained with 'getMPIcluster'.  It is also possible to
     obtain a reference to the running cluster using 'makeCluster' or
     '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.

     For SOCK and NWS 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 <URL:
     http://www.stat.uiowa.edu/~luke/R/cluster/cluster.html>.

_E_x_a_m_p_l_e_s:

       ## 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/snow")
     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(macoptions, 2), rep(lnxOptions, 2),
       rep(winOptions, 2), type = "SOCK")
     clusterApply(cl, 1:2, get("+"), 3)
     stopCluster(cl)
       
     ## End(Not run)

