![](media/image1.jpeg){width="1.4791666666666667in"
height="0.4791666666666667in"} **Advanced Scientific Computing
Research**

**Computer Science**

**FY 2006 Accomplishment**

**High Performance Statistical Computing with Parallel R**

Nagiza F. Samatova^1^, Marcia Branstetter^1^, Auroop R. Ganguly^1^,
Robert Hettich^1^, Shiraj Khan^1^, Guruprasad Kora^1^, Jiangtian Li^2^,
Xiaosong Ma^2^, Chongle Pan^1^, Arie Shoshani^3^ and Srikanth
Yoginath^1^

^1^ Oak Ridge National Laboratory; ^2^ North Carolina State University;
^3^ Lawrence Berkeley Laboratory.

*Scientific Data Management Center*

Summary

***Ultrascale computing and high-throughput experimental technologies
have enabled the production of scientific data about complex natural
phenomena. With this opportunity, comes a new problem -- the massive
quantities of data so produced. However, answers to fundamental
questions about the nature of those phenomena remain largely hidden in
the produced data. The goal of this work is to provide a scalable high
performance statistical data analysis framework to help scientists
perform interactive analyses of these raw data to extract knowledge.
Towards this goal we have been developing an open source parallel
statistical analysis package, called Parallel R, that lets scientists
employ a wide range of statistical analysis routines on high performance
shared and distributed memory architectures without having to deal with
the intricacies of parallelizing these routines.***

Our goal is to scale-up the existing data analysis tools, both in
capability and capacity, to bridge the gap between scientific data
production and data processing rates. The challenge is that *many of the
current data analysis routines are written in non-parallel languages
such as IDL and are not scalable to massive data sets*. To address this
challenge, our tactical approach is based on parallelizing a statistical
package, called R. Our choice of R is driven by its open source
availability, extensibility, and very broad usability by a large
scientific community. Our long-term strategy is to provide a middleware
between a *specific high-level* data analytics language such as R, IDL,
or MATLAB and a *generic, parallel, optimized, portable* computational
analytics engine.

Our approach is driven by the need to provide a transparent parallel
computational capability to the user. Through *Parallel R* the user can
set up the parallel environment, distribute data and carry out the
required parallel computation but maintain the same look-and-feel
interface of the R system. Two major levels of parallelism within
Parallel R are supported: *data parallelism* and *task parallelism*.
![](media/image3.png){width="2.8930555555555557in"
height="0.4861111111111111in"}

With data-parallelism, we provided "hooks" to embed a parallel data
analysis routine into an R environment with low performance overhead.
The new interface has mimicked the original R interface through a single
function call (Fig. 1).

With task parallelism, our goal was to provide the task parallel
capability, where a given job is divided into various tasks that are
executed in parallel to achieve a reduction in the time involved in an
analysis process. We provided a way to detect the out-of-order
independent R tasks and intelligently delegate each task to remote
worker processes in order to execute them concurrently (Fig.
2).![](media/image4.png){width="2.920138888888889in"
height="0.6555555555555556in"}

The performance analysis tests were run on the ORNL SGI Altix 3700
system with 256 Intel Itanium2 1.5 GHz processors, a total of 2TB shared
memory, and a single system image of 64-bit Linux OS. The performance
metrics include: (a) a *speedup factor*, a measure of relative execution
time between a *p*-processor system and a single processor system and
(b) an *overhead*, the percentage of additional execution time induced
by the parallel R environment. The overhead is due to spawning *p*
processes, distributing input data among them, and aggregating the
results. The following performance has been observed: (a) the
scalability in terms of both the problem size and the number of
processors; (b) the speedup increase with higher input data size; and
(c) the reduced overhead with increased input data size.

**Parallel R Use in Biology**

Aromatic compound degradation is a vital link in the global carbon
cycle, involved in the process of plant residue decay. Large quantities
of industrially generated aromatic contaminants in the environment are
cleaned up by biodegradation using bacteria. The diverse aromatic
compounds are hypothesized to be converted to the central intermediate,
benzoyl-CoA, via peripheral pathways, including coumarate pathway. Using
quantitative shotgun proteomics and microarray measurements, we
identified putative proteins in the poorly characterized coumarate
pathway in *R. palustris* bacterium (Fig. 3). We observed that aromatic
compound degradation is accompanied with the regulation of many pathways
in carbon metabolism, cross-membrane transportation and stress
response.![](media/image5.png){width="2.9256944444444444in"
height="1.8402777777777777in"}

**Parallel R Use in Climate**

A climate extremes analysis was done on the daily precipitation in the
Chicago area using results from CCSM3 simulations using the A2 scenario
of the IPCC 4^th^ Assessment. The A2 scenario is one of the most extreme
scenarios involving increasing carbon dioxide during the period
2000-2099. For the extremes analysis, the daily precipitation value is
defined as an "extreme" when it exceeds the 99^th^ percentile of daily
precipitation time series. The scenario time frame was broken into four
quarters. The total extremes during those periods were similar for the
first three, but the last quarter (2075-2099) showed 50% more extremes.
Monthly details of these quarters are shown in Fig. 4. *Parallel R* was
used to extract 6-hourly precipitation data of the whole world at
$1\text{.}4^{0} \times 1\text{.}4^{0}$ grid resolutions from 2000-2099
comprising 7,301 netCDF files totaling 2.9 TB of data. A linear speedup
with the number of processors was observed.
![](media/image6.png){width="2.9402777777777778in"
height="1.9291666666666667in"}

**For further information on this subject contact:**

Nagiza F. Samatova, PhD

Oak Ridge National Laboratory

<samatovan@ornl.gov>; (865) 241-4351