NePaLTM: Design and implementation of nested parallelism for transactional memory systems

9Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Transactional memory (TM) promises to simplify construction of parallel applications by allowing programmers to reason about interactions between concurrently executing code fragments in terms of high-level properties they should possess. However, all currently existing TM systems deliver on this promise only partially by disallowing parallel execution of computations performed inside transactions. This paper fills in that gap by introducing NePaLTM (Nested PAralleLism for Transactional Memory), the first TM system supporting nested parallelism inside transactions. We describe a programming model where TM constructs (atomic blocks) are integrated with OpenMP constructs enabling nested parallelism. We also discuss the design and implementation of a working prototype where atomic blocks can be used for concurrency control at an arbitrary level of nested parallelism. Finally, we present a performance evaluation of our system by comparing transactions-based concurrency control mechanism for nested parallel computations with a mechanism already provided by OpenMP based on mutual exclusion. © 2009 Springer Berlin Heidelberg.

Cite

CITATION STYLE

APA

Volos, H., Welc, A., Adl-Tabatabai, A. R., Shpeisman, T., Tian, X., & Narayanaswamy, R. (2009). NePaLTM: Design and implementation of nested parallelism for transactional memory systems. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5653 LNCS, pp. 123–147). https://doi.org/10.1007/978-3-642-03013-0_7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free