Programming with BIG Data in R: Scaling Analytics from One to Thousands of Nodes

Drew Schmidt, Wei Chen Chen, Michael A. Matheson, George Ostrouchov

Research output: Contribution to journalReview articlepeer-review

18 Scopus citations

Abstract

We present a tutorial overview showing how one can achieve scalable performance with R. We do so by utilizing several package extensions, including those from the pbdR project. These packages consist of high performance, high-level interfaces to and extensions of MPI, PBLAS, ScaLAPACK, I/O libraries, profiling libraries, and more. While these libraries shine brightest on large distributed platforms, they also work rather well on small clusters and often, surprisingly, even on a laptop with only two cores. Our tutorial begins with recommendations on how to get more performance out of your R code before considering parallel implementations. Because R is a high-level language, a function can have a deep hierarchy of operations. For big data, this can easily lead to inefficiency. Profiling is an important tool to understand the performance of an R code for both serial and parallel improvements. The pbdR packages provide a highly scalable capability for the development of novel distributed data analysis algorithms. This level of scalability is unmatched in other analysis software. Interactive speeds (seconds) are achieved for complex analysis algorithms on data 100 GB and more. This is possible because the interfaces add little overhead to the scalable libraries and their extensions. Furthermore, this is often achieved with little or no change to serial R codes. Our overview includes codes of varying complexity, illustrating reading data in parallel, the process of changing a serial code to a distributed parallel code, and how to engage distributed matrix computation from within R.

Original languageEnglish
Pages (from-to)1-11
Number of pages11
JournalBig Data Research
Volume8
DOIs
StatePublished - Jul 2017

Keywords

  • Distributed computing
  • Principal components analysis
  • SPMD
  • Scalable statistical computing

Fingerprint

Dive into the research topics of 'Programming with BIG Data in R: Scaling Analytics from One to Thousands of Nodes'. Together they form a unique fingerprint.

Cite this