The use of hardware transactional memory for the trace-based parallelization of recursive Java programs

  • Authors:
  • Borys J. Bradel;Tarek S. Abdelrahman

  • Affiliations:
  • University of Toronto, Toronto, Ontario, Canada;University of Toronto, Toronto, Ontario, Canada

  • Venue:
  • PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe a framework for trace-based parallelization of recursive Java programs. We also explore and evaluate the feasibility of using a hardware transactional memory (HTM) system to handle dependences. We design, implement, and evaluate a system that takes as input a sequential program, identifies traces on it, and groups these traces into coarse-grain units of computation, or tasks. We then insert code that allows tasks to execute in parallel transactions using a fork/join paradigm. We also present a software algorithm that ensures sequential program order is maintained by transactional memory. We identify the associated issues and describe criteria that are necessary for Java programs to execute successfully on HTM systems. Our evaluation using JOlden benchmarks indicates that the computational phases of the benchmarks can be executed effectively on HTM systems. The average speedup is 2.7 for four processors. We conclude that HTM is a viable solution to dealing with dependences when performing trace-based parallelization.