JCSE, vol. 6, no. 2, pp.105-118, 2012
DOI:
On-line Trace Based Automatic Parallelization of Java Programs on Multicore Platforms
Yu Sun, Wei Zhang
Department of Electrical and Computer Engineering, Virginia Commonwealth University, Richmond, VA, USA
Abstract: We propose two new approaches that automatically parallelize Java programs at runtime. These approaches, which rely
on run-time trace information collected during program execution, dynamically recompile Java byte code that can be
executed in parallel. One approach utilizes trace information to improve traditional loop parallelization, and the other
parallelizes traces instead of loop iterations. We also describe a cost/benefit model that makes intelligent parallelization
decisions, as well as a parallel execution environment to execute parallelized programs. These techniques are based on
Jikes RVM. Our approach is evaluated by parallelizing sequential Java programs, and its performance is compared to that
of the manually parallelized code. According to the experimental results, our approach has low overheads and achieves
competitive speedups compared to the manually parallelizing code. Moreover, trace parallelization can exploit parallelism
beyond loop iterations.
Keyword:
Java; Parallelization; Trace; Dynamic compilation
Full Paper: 111 Downloads, 2355 View
|