snow (“Simple Network of
Workstations”) is probably the most popular parallel programming package
available for R. It was written by Luke Tierney, A. J. Rossini, Na Li, and
H. Sevcikova, and is actively maintained by Luke Tierney. It is a mature
package, first released on the “Comprehensive R Archive Network” (CRAN) in
Motivation: You want to use a Linux cluster to run an R script faster. For example, you’re running a Monte Carlo simulation on your laptop, but you’re sick of waiting many hours or days for it to finish.
snow to run your R code on your company or
university’s Linux cluster.
snow fits well into a traditional cluster
environment, and is able to take advantage of high-speed communication
networks, such as InfiniBand, using MPI.
snow provides support for easily
executing R functions in parallel. Most of the parallel execution
snow are variations of the
lapply() function, making
snow fairly easy to learn. To implement
these parallel operations,
snow uses a
master/worker architecture, where the master sends tasks to the workers,
and the workers execute the tasks and return the results to the
One important feature of
that it can be used with different transport mechanisms to communicate
between the master and workers. This allows it to be portable, but still
take advantage of high-performance communication mechanisms if available.
snow can be used with socket connections, ...