skip to main content
10.1145/1583991.1584048acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

NZTM: nonblocking zero-indirection transactional memory

Published: 11 August 2009 Publication History

Abstract

This paper introduces NZTM, a nonblocking, zero-indirection, object-based, hybrid transactional memory system. NZTM comprises a nonblocking software transactional memory (STM) system that can exploit best-effort hardware transactional memory (HTM) if available to improve performance.
Most previous nonblocking software transactional memory implementations pay a significant performance cost in the common case, as compared to simpler, blocking ones. However, blocking is problematic in some cases and unacceptable in others. NZTM is nonblocking, but shares the advantages of recent blocking STM proposals in the common case: it stores object data "in place", avoiding the costly levels of indirection of previous nonblocking STMs, and improves cache performance by collocating object metadata with the data it controls.
We also explain how our nonblocking NZSTM algorithm can be substantially simplified using very simple hardware transactions, and evaluate its performance on Sun's forthcoming Rock processor. Our results show that nonblocking support introduces little overhead when compared with blocking STMs, and that NZTM is competitive with LogTM-SE, an unbounded HTM.

References

[1]
C. S. Ananian, K. Asanovic, B. C. Kuszmaul, C. E. Leiserson, and S. Lie. Unbounded transactional memory. In Proc. 11th International Symposium on High-Performance Computer Architecture, pages 316--327, 2005.
[2]
C. S. Ananian and M. Rinard. Efficient object-based software transactions. Synchronization and Concurrency in Object-Oriented Languages, 2005.
[3]
L. Baugh, N. Neelakantam, and C. Zilles. Using hardware memory protection to build a high-performance, strongly-atomic hybrid transactional memory. ISCA, 2008.
[4]
C. Cascaval, C. Blundell, M. Michael, H. W. Cain, P. Wu, S. Chiras, and S. Chatterjee. Software transactional memory: why is it only a research toy? Queue, 6(5), Sep 2008.
[5]
S. Chaudhry, R. Cypher, M. Ekman, M. Karlsson, A. Landin, S. Yip, H. Zeffer, and M. Tremblay. Rock: A high-performance sparc cmt processor. IEEE Micro, 29(2):6--16, 2009.
[6]
L. Dalessandro, V. Marathe, M. Spear, and M. L. Scott. Capabilities and limitations of library-based software transactional memory in C++. TRANSACT, 2007.
[7]
P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid transactional memory. In ASPLOS, pages 336--346, 2006.
[8]
D. Dice, Y. Lev, M. Moir, and D. Nussbaum. Early experience with a commercial hardware transactional memory implementation. ASPLOS, 2009.
[9]
D. Dice, Y. Lev, M. Moir, and D. Nussbaum. Early experience with a commercial hardware transactional memory implementation. Technical Report TR-2009-180, Sun Microsystems Laboratories, 2009.
[10]
D. Dice, O. Shalev, and N. Shavit. Transactional locking II. In Proc. 20th Intl. Symp. on Distributed Computing, September 2006.
[11]
R. Ennals. Software transactional memory should not be obstruction-free, 2005. http://berkeley.intel-research.net/rennals/pubs/052RobEnnals.pdf.
[12]
K. Fraser. Practical Lock-Freedom. PhD thesis, Cambridge University Technical Report UCAM-CL-TR-579, Cambridge, England, Feb. 2004.
[13]
D. Geer. Chip makers turn to multicore processors. IEEE Computer, 2005.
[14]
A. Ghuloum. Unwelcome advice, 2008. http://blogs.intel.com/research/2008/06/unwelcome_advice.php.
[15]
L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional memory coherence and consistency. In Proc. 31st Annual International Symposium on Computer Architecture, June 2004.
[16]
J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 4th edition, 2006.
[17]
M. Herlihy, V. Luchangco, and M. Moir. Obstruction-free synchronization: Double-ended queues as an example. In Proc. 23rd International Conference on Distributed Computing Systems, pages 522--529, 2003.
[18]
M. Herlihy, V. Luchangco, and M. Moir. A flexible framework for implementing software transactional memory. In OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 253--262, New York, NY, USA, 2006.
[19]
M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer III. Software transactional memory for supporting dynamic-sized data structures. In PODC, pages 92--101, 2003.
[20]
M. Herlihy and J. E. B. Moss. Transactional memory: Architectural support for lock-free data structures. In Proc. 20th Annual International Symposium on Computer Architecture, pages 289--300, May 1993.
[21]
G. J. Holzmann. The SPIN Model Checker. Addison-Wesley Professional, 2003.
[22]
G. Koch. Discovering multi-core: Extending the benefits of Moore's law. Technology, 2005.
[23]
J. R. Larus and R. Rajwar. Transactional Memory. Synthesis Lectures on Computer Architecture. Morgan and Claypool Publishers, 2007.
[24]
Y. Lev and M. Moir. Fast read sharing mechanism for software transactional memory, 2004. http://research.sun.com/scalable/pubs/PODC04-Poster.pdf.
[25]
P. S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hallberg, J. Hogberg, F. Larsson, A. Moestedt, and B. Werner. Simics: A full system simulation platform. Computer, 35(2):50--58, 2002.
[26]
V. Marathe and M. Moir. Efficient nonblocking software transactional memory (poster paper). In PPoPP '07: Proceedings of the ACM SIGPLAN symposium on Principles and practice of parallel programming, New York, NY, USA, 2007.
[27]
V. Marathe, W. N. Scherer III, and M. L. Scott. Adaptive software transactional memory. In Proc. 19th Intl. Symp. on Distributed Computing, September 2005.
[28]
V. J. Marathe, M. F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W. N. Scherer III, and M. L. Scott. Lowering the overhead of nonblocking software transactional memory. 2006.
[29]
M. M. K. Martin, D. J. Sorin, B. M. Beckmann, M. R. Marty, M. Xu, A. R. Alameldeen, K. E. Moore, M. D. Hill, and D. A. Wood. Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset. SIGARCH Comput. Archit. News, 33(4):92--99, 2005. 1105747.
[30]
C. C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford transactional applications for multi-processing. IEEE International Symposium on Workload Characterization, 2008. IISWC 2008., pages 35--46, 2008.
[31]
C. C. Minh, M. Trautmann, J. Chung, A. McDonald, N. Bronson, J. Casper, C. Kozyrakis, and K. Olukotun. An effective hybrid transactional memory system with strong isolation guarantees. ISCA '07: Proceedings of the 34th annual international symposium on Computer architecture, June 2007.
[32]
M. Moir. Hybrid transactional memory, July 2005. http://research.sun.com/scalable/pubs/Moir-Hybrid-2005.pdf.
[33]
M. Moir, K. E. Moore, and D. Nussbaum. The adaptive transactional memory test platform: A tool for experimenting with transactional code for Rock. The third annual SIGPLAN Workshop on Transactional Memory, 2008.
[34]
K. E. Moore, J. Bobba, M. J. Moravan, M. D. Hill, and D. A. Wood. LogTM: Log-based transactional memory. In Proc. 12th Annual International Symposium on High Performance Computer Architecture, 2006.
[35]
R. Rajwar, M. Herlihy, and K. Lai. Virtualizing transactional memory. In Proc. 32nd Annual International Symposium on Computer Architecture, pages 494--505, Washington, DC, USA, 2005.
[36]
H. E. Ramadan, C. J. Rossbach, D. E. Porter, O. S. Hofmann, A. Bhandari, and E. Witchel. MetaTM/txLinux: Transactional memory for an operating system. In Proc. 34th Annual International Symposium on Computer Architecture, 2007.
[37]
B. Saha, A.-R. Adl-Tabatabai, R. L. Hudson, C. C. Minh, and B. Hertzberg. McRT-STM: a high performance software transactional memory system for a multi-core runtime. In PPoPP '06: Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, pages 187--197, New York, NY, USA, 2006.
[38]
W. Scherer, III, and M. Scott. Advanced contention management for dynamic software transactional memory. PODC '05: Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing, Jul 2005.
[39]
N. Shavit and D. Touitou. Software transactional memory. Distributed Computing, Special Issue(10):99--116, 1997.
[40]
M. F. Spear, A. Shriraman, L. Dalessandro, S. Dwarkadas, and M. L. Scott. Nonblocking transactions without indirection using alert-on-update. In Proceedings of the 19th ACM Symposium on Parallelism in Algorithms and Architectures, June 2007.
[41]
H. Sutter. The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb's Journal, 2005.
[42]
F. Tabba, M. Moir, J. R. Goodman, A. W. Hay, and C. Wang. Appendix to NZTM. http://www.cs.auckland.ac.nz/∼fuad/nztm-appendix.pdf.
[43]
F. Tabba, C. Wang, J. R. Goodman, and M. Moir. NZTM: Nonblocking zero-indirection transactional memory. TRANSACT, 2007.
[44]
L. Yen, J. Bobba, M. R. Marty, K. E. Moore, H. Volos, M. D. Hill, M. M. Swift, and D. A. Wood. LogTM-SE: Decoupling hardware transactional memory from caches. High Performance Computer Architecture, 2007. HPCA 2007. IEEE 13th International Symposium on, pages 261--272, 2007.

Cited By

View all
  • (2023)Transactional Composition of Nonblocking Data StructuresProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577503(441-443)Online publication date: 25-Feb-2023
  • (2023)A program logic for obstruction-freedomFrontiers of Computer Science10.1007/s11704-023-2774-918:6Online publication date: 28-Dec-2023
  • (2020)Nonblocking Persistent Software Transactional Memory2020 IEEE 27th International Conference on High Performance Computing, Data, and Analytics (HiPC)10.1109/HiPC50609.2020.00042(283-293)Online publication date: Dec-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPAA '09: Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures
August 2009
370 pages
ISBN:9781605586069
DOI:10.1145/1583991
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 August 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. hardware support
  2. nonblocking synchronization
  3. transactional memory

Qualifiers

  • Research-article

Conference

SPAA 09

Acceptance Rates

Overall Acceptance Rate 447 of 1,461 submissions, 31%

Upcoming Conference

SPAA '25
37th ACM Symposium on Parallelism in Algorithms and Architectures
July 28 - August 1, 2025
Portland , OR , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Transactional Composition of Nonblocking Data StructuresProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577503(441-443)Online publication date: 25-Feb-2023
  • (2023)A program logic for obstruction-freedomFrontiers of Computer Science10.1007/s11704-023-2774-918:6Online publication date: 28-Dec-2023
  • (2020)Nonblocking Persistent Software Transactional Memory2020 IEEE 27th International Conference on High Performance Computing, Data, and Analytics (HiPC)10.1109/HiPC50609.2020.00042(283-293)Online publication date: Dec-2020
  • (2019)PiscesProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358885(913-928)Online publication date: 10-Jul-2019
  • (2018)The PCL TheoremJournal of the ACM10.1145/326614166:1(1-66)Online publication date: 12-Dec-2018
  • (2017)Concurrency for the Masses: The Paradigm of Software Transactional Memory2017 19th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)10.1109/SYNASC.2017.00012(17-22)Online publication date: Sep-2017
  • (2016)WFR-TMJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.05.00296:C(134-151)Online publication date: 1-Oct-2016
  • (2016)Universal constructions that ensure disjoint-access parallelism and wait-freedomDistributed Computing10.1007/s00446-015-0261-829:4(251-277)Online publication date: 1-Aug-2016
  • (2015)On Partial Wait-Freedom in Transactional MemoryProceedings of the 16th International Conference on Distributed Computing and Networking10.1145/2684464.2684473(1-9)Online publication date: 4-Jan-2015
  • (2015)A new concurrency control mechanism for multi-threaded environment using transactional memoryThe Journal of Supercomputing10.1007/s11227-015-1507-871:11(4095-4115)Online publication date: 1-Nov-2015
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media