DOJ: dynamically parallelizing object-oriented programs

  • Authors:
  • Yong hun Eom;Stephen Yang;James C. Jenista;Brian Demsky

  • Affiliations:
  • University of California, Irvine, Irvine, USA;University of California, Irvine, Irvine, USA;University of California, Irvine, Irvine, USA;University of California, Irvine, Irvine, USA

  • Venue:
  • Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present Dynamic Out-of-Order Java (DOJ), a dynamic parallelization approach. In DOJ, a developer annotates code blocks as tasks to decouple these blocks from the parent execution thread. The DOJ compiler then analyzes the code to generate heap examiners that ensure the parallel execution preserves the behavior of the original sequential program. Heap examiners dynamically extract heap dependences between code blocks and determine when it is safe to execute a code block. We have implemented DOJ and evaluated it on twelve benchmarks. We achieved an average compilation speedup of 31.15 times over OoOJava and an average execution speedup of 12.73 times over sequential versions of the benchmarks.