Optimizing the Concurrent Execution of Locks and Transactions

  • Justin E. Gottschlich
  • JaeWoong Chung
Conference paper

DOI: 10.1007/978-3-642-36036-7_9

Part of the Lecture Notes in Computer Science book series (LNCS, volume 7146)
Cite this paper as:
Gottschlich J.E., Chung J. (2013) Optimizing the Concurrent Execution of Locks and Transactions. In: Rajopadhye S., Mills Strout M. (eds) Languages and Compilers for Parallel Computing. LCPC 2011. Lecture Notes in Computer Science, vol 7146. Springer, Berlin, Heidelberg

Abstract

Transactional memory (TM) is a promising alternative to mutual exclusion. In spite of this, it may be unrealistic for TM programs to be devoid of locks due to their abundant use in legacy software systems. Consequently, for TMs to be practical they may need to manage the interaction of transactions and locks when they access the same shared-memory. This paper presents two algorithms, one coarse-grained and one fine-grained, that improve the state-of-the-art performance for TMs that support the concurrent execution of locks and transactions. We also discuss the programming language constructs that are necessary to implement such algorithms and present analyses that compare and contrast our approach with prior work. Our analyses demonstrate that, (i) in general, our proposed coarse- and fine-grained algorithms improve program concurrency but (ii) an algorithm’s concurrent throughput potential does not always lead to realized performance gains.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Justin E. Gottschlich
    • 1
  • JaeWoong Chung
    • 1
  1. 1.Programming Systems Lab (PSL)Intel CorporationUSA

Personalised recommendations