Book Image

Mastering Parallel Programming with R

By : Simon R. Chapple, Terence Sloan, Thorsten Forster, Eilidh Troup
Book Image

Mastering Parallel Programming with R

By: Simon R. Chapple, Terence Sloan, Thorsten Forster, Eilidh Troup

Overview of this book

R is one of the most popular programming languages used in data science. Applying R to big data and complex analytic tasks requires the harnessing of scalable compute resources. Mastering Parallel Programming with R presents a comprehensive and practical treatise on how to build highly scalable and efficient algorithms in R. It will teach you a variety of parallelization techniques, from simple use of R’s built-in parallel package versions of lapply(), to high-level AWS cloud-based Hadoop and Apache Spark frameworks. It will also teach you low level scalable parallel programming using RMPI and pbdMPI for message passing, applicable to clusters and supercomputers, and how to exploit thousand-fold simple processor GPUs through ROpenCL. By the end of the book, you will understand the factors that influence parallel efficiency, including assessing code performance and implementing load balancing; pitfalls to avoid, including deadlock and numerical instability issues; how to structure your code and data for the most appropriate type of parallelism for your problem domain; and how to extract the maximum performance from your R code running on a variety of computer systems.
Table of Contents (13 chapters)

Setting up your system environment for MPI


In order to use MPI with R, there are a number of prerequisites we need to install. The picture is a little more complicated for setting up MPI as compared to other R packages as we require both an R interface to MPI and an implementation of MPI that it will call into. We also have a number of options available to us, both for the R package and for the underlying MPI subsystem.

Choice of R packages for MPI

There are two MPI-based R-interfacing packages available that we can make use of, namely Rmpi and pbdMPI:

Note

Rmpi is available from CRAN at the following link: https://cran.r-project.org/web/packages/Rmpi/index.html

The main Rmpi website is http://www.stats.uwo.ca/faculty/yu/Rmpi/.

Instructions for installing Rmpi on Mac OS X are provided at http://www.stats.uwo.ca/faculty/yu/Rmpi/mac_os_x.htm.

Instructions for installing Rmpi on Windows are provided at http://www.stats.uwo.ca/faculty/yu/Rmpi/windows.htm.

The pbdMPI package is available from CRAN at...