Using thread-level speculation to simplify manual parallelization

  • Authors:
  • Manohar K. Prabhu;Kunle Olukotun

  • Affiliations:
  • Stanford University, Stanford, California;Stanford University, Stanford, California

  • Venue:
  • Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we provide examples of how thread-level speculation(TLS) simplifies manual parallelization and enhances itsperformance. A number of techniques for manual parallelizationusing TLS are presented and results are provided that indicate theperformance contribution of each technique on seven SPEC CPU2000benchmark applications. We also provide indications of theprogramming effort required to parallelize each benchmark. TLSparallelization yielded a 110% speedup on our four floating pointapplications and a 70% speedup on our three integer applications,while requiring only approximately 80 programmer hours and 150lines of non-template code per application. These results supportthe idea that manual parallelization using TLS is an efficient wayto extract fine-grain thread-level parallelism.