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)

Genomics analysis case study


So far in this chapter, you have learned how to write MPI parallel routines, access these directly from your R scripts, and turn these routines into reusable R packages. In the remainder of this chapter, we will show you how this capability has been used to exploit supercomputers in the quest to identify signs of bacterial infection and sepsis in blood samples of newborn babies.

Genomics helps us find those genes in a baby that have increased or decreased levels of activity in response to a bacterial infection. By knowing which genes are involved in the immune system's response to bacterial infection (or indeed, how the immune system is subverted by bacteria), we can (a) look at how the activity of these genes differ from baby to baby, and (b) use them to diagnose a bacterial infection from the gene expression measurements in a blood sample.

The remainder of this chapter, therefore, comprises a brief introduction to Genomics followed by a description of how an...