Automatic parallelization of FORTRAN programs in the presence of procedure-calls
Proc. of the European symposium on programming on ESOP 86
A technique for summarizing data access and its use in parallelism enhancing transformations
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Run-Time Parallelization and Scheduling of Loops
IEEE Transactions on Computers
Uniform techniques for loop optimization
ICS '91 Proceedings of the 5th international conference on Supercomputing
Efficient and exact data dependence analysis
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
PYRROS: static task scheduling and code generation for message passing multiprocessors
ICS '92 Proceedings of the 6th international conference on Supercomputing
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Models and scheduling algorithms for mixed data and task parallel programs
Journal of Parallel and Distributed Computing - Special issue on dynamic load balancing
Run-time parallelization: its time has come
Parallel Computing - Special issues on languages and compilers for parallel computers
An evaluation of staged run-time optimizations in DyC
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Incremental compilation in Magpie
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
High performance Fortran compilation techniques for parallelizing scientific codes
SC '98 Proceedings of the 1998 ACM/IEEE conference on Supercomputing
Techniques for speculative run-time parallelization of loops
SC '98 Proceedings of the 1998 ACM/IEEE conference on Supercomputing
MaJIC: compiling MATLAB for speed and responsiveness
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
An efficient algorithm for the run-time parallelization of DOACROSS loops
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
IEEE Micro
Compiling for Distributed Memory Architectures
IEEE Transactions on Parallel and Distributed Systems
A Software Architecture for User Transparent Parallel Image Processing on MIMD Computers
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
Predicting whole-program locality through reuse distance analysis
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Match Virtual Machine: An Adaptive Runtime System to Execute MATLAB in Parallel
ICPP '00 Proceedings of the Proceedings of the 2000 International Conference on Parallel Processing
The Jrpm system for dynamically parallelizing Java programs
Proceedings of the 30th annual international symposium on Computer architecture
Results from a Parallel MATLAB Compiler
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
A cost-driven compilation framework for speculative parallelization of sequential programs
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Interprocedural parallelization analysis in SUIF
ACM Transactions on Programming Languages and Systems (TOPLAS)
Suppression and failures in sensor networks: a Bayesian approach
VLDB '07 Proceedings of the 33rd international conference on Very large data bases
Cumulon: optimizing statistical data analysis in the cloud
Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
Hi-index | 0.00 |
Scripting languages such as R and Matlab are widely used in scientific data processing. As the data volume and the complexity of analysis tasks both grow, sequential data processing using these tools often becomes the bottleneck in scientific workflows. We describe pR, a runtime framework for automatic and transparent parallelization of the popular R language used in statistical computing. Recognizing scripting languages' interpreted nature and data analysis codes' use pattern, we propose several novel techniques: (1) applying parallelizing compiler technology to runtime, whole-program dependence analysis of scripting languages, (2) incremental code analysis assisted with evaluation results, and (3) runtime parallelization of file accesses. Our framework does not require any modification to either the source code or the underlying R implementation. Experimental results demonstrate that pR can exploit both task and data parallelism transparently and overall has better performance as well as scalability compared to an existing parallel R package that requires code modification.