Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory
Mojtaba Mehrara, Jeff Hao, Po-Chun Hsu, and Scott Mahlke
Abstract:
Multicore designs have emerged as the mainstream design paradigm for the microprocessor industry. Unfortunately, providing multiple cores does not directly translate into performance for most applications. The industry has already fallen short of the decades-old performance trend of doubling performance every 18 months. An attractive approach for exploiting multiple cores is to rely on tools, both compilers and runtime optimizers, to automatically extract threads from sequential applications. However, despite decades of research on automatic parallelization, most techniques are only effective in the scientific and data parallel domains where array dominated codes can be precisely analyzed by the compiler. Thread-level speculation offers the opportunity to expand parallelization to general-purpose programs, but at the cost of expensive hardware support. In this paper, we focus on providing low-overhead software support for exploiting speculative parallelism. We propose STMlite, a light-weight software transactional memory model that is customized to facilitate profile-guided automatic loop parallelization. STMlite eliminates a considerable amount of checking and locking overhead in conventional software transactional memory models by decoupling the commit phase from main transaction execution. Further, strong atomicity requirements for generic transactional memories are unnecessary within a stylized automatic parallelization framework. STMlite enables sequential applications to extract meaningful performance gains on commodity multicore hardware.
Published:
"Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory"
Mojtaba Mehrara, Jeff Hao, Po-Chun Hsu, and Scott Mahlke.
Proc. of the 2009 ACM SIGPLAN conference on Programming language design and implementation (PLDI'09)
, Dublin, Ireland, June 2009.
Download:
Paper:
BibTeX Entry:
@inproceedings{1542495,
author = {Mehrara, Mojtaba and Hao, Jeff and Hsu, Po-Chun and Mahlke, Scott},
title = {Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory},
booktitle = {PLDI '09: Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation},
year = {2009},
isbn = {978-1-60558-392-1},
pages = {166--176},
location = {Dublin, Ireland},
doi = {http://doi.acm.org/10.1145/1542476.1542495},
publisher = {ACM},
address = {New York, NY, USA},
}