Runtime parallelization of legacy code on a transactional memory system

  • Authors:
  • Matthew DeVuyst;Dean M. Tullsen;Seon Wook Kim

  • Affiliations:
  • University of California, San Diego;University of California, San Diego;Korea University

  • Venue:
  • Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper proposes a new runtime parallelization technique, based on a dynamic optimization framework, to automatically parallelize single-threaded legacy programs. It heavily leverages the optimistic concurrency of transactional memory. This work addresses a number of challenges posed by this type of parallelization and quantifies the trade-offs of some of the design decisions, such as how to select good loops for parallelization, how to partition the iteration space among parallel threads, how to handle loop-carried dependencies, and how to transition from serial to parallel execution and back. The simulated implementation of runtime parallelization shows a potential speedup of 1.36 for the NAS benchmarks and a 1.34 speedup for the SPEC 2000 CPU floating point benchmarks when using two cores for parallel execution.