By Sherry Lamonica-Oracle on Mar 10, 2014
Oracle R Distribution, Oracle's distribution of Open Source R, improves performance by dynamically linking to optimized, multi-threaded BLAS libraries. Unlike open source R, Oracle R Distribution uses all available cores and processors when dynamically linked against optimized BLAS, resulting in increased performance. Thus, the more cores available to Oracle R Distribution, the higher performance for many operations.
How is this possible? Standard R's internal BLAS library was created when multi-core machines were not widely used, so it is single-threaded, i.e., operates on a single core. However, the BLAS API in R allows linking to different, multi-threaded BLAS libraries that allow linear algebra computations to use all cores and therefore run much faster. Oracle R Distribution simplifies the linking process by loading the high performance math library after it's added to PATH or LD_LIBRARY_PATH, depending on the Operating System. Then you are set to use optimized math libraries - the Intel Math Kernel Library (MKL), AMD Core Math Library (ACML), or Solaris Sun Performance Library on Solaris.
The benchmarks in this section demonstrate the performance of Oracle R Distribution 3.0.1 with and without dynamically loaded MKL. The R-25 benchmark script developed by the R community consists of fifteen tests. They are split into three groups (matrix calculation, matrix functions and "programmation") with trimmed means for each group, and each test is run three times. For this comparison, we report the mean for the three test runs. The benchmarks show that using Oracle R Distribution with dynamically loaded MKL libraries on a 30-core machine is significantly faster than the single core time.
Oracle R Distribution 3.0.1 Benchmarks
This benchmark was executed on a 3-node cluster, with 24 cores at 3.07GHz per CPU and 47 GB RAM, using Linux 5.5.
In-Database Scalability and Parallelism with Oracle R Enterprise
Oracle R Enterprise, the set of big data analytics R packages provided by Oracle, provides scalable, parallel in-database data manipulation and algorithms for analyzing very large data sets. Oracle R Enterprise functions implement parallel, out-of-core algorithms that overcome R's limitations of being memory-bound and single-threaded by executing requested R calculations on data in Oracle Database, using the database itself as the computational engine. Oracle R Enterprise allows users to further leverage Oracle's engineered systems, like Exadata, Big Data Appliance, and Exalytics, for enterprise-wide analytics, as well as reporting tools like Oracle Business Intelligence Enterprise Edition dashboards and BI Publisher documents. The combination of Oracle Database and R delivers an enterprise-ready, integrated environment for advanced analytics.
At the time of this post, Oracle R Distribution 3.0.1 is certified with Oracle R Enterprise 1.4. See the Install Guide's Oracle R Enterprise support matrix for a list of current Oracle R Distribution supported configurations and platforms, and this link for instructions on enabling high performance library support for Oracle R Distribution on a Windows or Linux client.