skip to main content
research-article

NOrec: streamlining STM by abolishing ownership records

Published:09 January 2010Publication History
Skip Abstract Section

Abstract

Drawing inspiration from several previous projects, we present an ownership-record-free software transactional memory (STM) system that combines extremely low overhead with unusually clean semantics. While unlikely to scale to hundreds of active threads, this "NOrec" system offers many appealing features: very low fast-path latency--as low as any system we know of that admits concurrent updates; publication and privatization safety; livelock freedom; a small, constant amount of global metadata, and full compatibility with existing data structure layouts; no false conflicts due to hash collisions; compatibility with both managed and unmanaged languages, and both static and dynamic compilation; and easy acccommodation of closed nesting, inevitable (irrevocable) transactions, and starvation avoidance mechanisms. To the best of our knowledge, no extant STM system combines this set of features.

While transactional memory for processors with hundreds of cores is likely to require hardware support, software implementations will be required for backward compatibility with current and near-future processors with 2--64 cores, as well as for fall-back in future machines when hardware resources are exhausted. Our experience suggests that NOrec may be an ideal candidate for such a software system. We also observe that it has considerable appeal for use within the operating system, and in systems that require both closed nesting and publication safety.

References

  1. M. Abadi, A. Birrell, T. Harris, and M. Isard. Semantics of Transactional Memory and Automatic Mutual Exclusion. ACM Symp. on Principles of Programming Languages, Jan. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Blundell, E.C. Lewis, and M.M.K. Martin. Subtleties of Transactional Memory Atomicity Semantics. IEEE Computer Architecture Letters, 5(2), Nov. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. H.-J. Boehm and S.V. Adve. Foundations of the C Concurrency Memory Model. ACM Conf. on Programming Language Design and Implementation, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Chaudhry, R. Cypher, M. Ekman, M. Karlsson, A. Landin, and S. Yip. Rock: A High-Performance Sparc CMT Processor. IEEE Micro, 29(2):6--16, Mar.-Apr. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Dalessandro and M.L. Scott. Strong Isolation is a Weak Idea. SIGPLAN Workshop on Transactional Computing,Feb. 2009.Google ScholarGoogle Scholar
  6. P. Damron, A. Fedorova, Y. Lev, V. Luchangco, M. Moir, and D. Nussbaum. Hybrid Transactional Memory. Intl. Conf. on Architectural Support for Programming Languages and Operating Systems, Oct. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Dice, O. Shalev, and N. Shavit. Transactional Locking II. Intl. Symp. on Distributed Computing, Sept. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Dice and N. Shavit. Methods and Apparatus to Implement Parallel Transactions. Sun Microsystems, Aug. 2007. U.S. patent application #20,070,198,978.Google ScholarGoogle Scholar
  9. D. Dice, Y. Lev, M. Moir, and D. Nussbaum. Early Experience with a Commercial Hardware Transactional Memory Implementation. Intl. Conf. on Architectural Support for Programming Languages and Operating Systems, Mar. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Ding, X. Shen, K. Kelsey, C. Tice, R. Huang, and C. Zhang. Software Behavior Oriented Parallelization. ACM Conf. on Programming Language Design and Implementation, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Felber, T. Riegel, and C. Fetzer. Dynamic Performance Tuning of Word-Based Software Transactional Memory. ACM Symp. on Principles and Practice of Parallel Programming, Feb. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Fraser. Practical Lock-Freedom. Ph.,D. dissertation, UCAM-CL-TR-579, Computer Laboratory, Univ. of Cambridge, Feb. 2004.Google ScholarGoogle Scholar
  13. D. Grossman, J. Manson, and W. Pugh. What Do High-Level Memory Models Mean for Transactions? SIGPLAN Workshop on Memory Systems Performance and Correctness, Oct. 2006. Held in conjunction with ASPLOS XII. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Guerraoui and M. Kapałka. On the Correctness of Transactional Memory. ACM Symp. on Principles and Practice of Parallel Programming, Feb. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. Harris and K. Fraser. Revocable Locks for Non-Blocking Programming. ACM Symp. on Principles and Practice of Parallel Programming, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R.L. Hudson, B. Saha, A.-R. Adl-Tabatabai, and B. Hertzberg. McRT-Malloc--A Scalable Transactional Memory Allocator. Intl. Symp. on Memory Management, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Lameter. Effective Synchronization on Linux/NUMA Systems. Gelato Federation Meeting, May 2005.Google ScholarGoogle Scholar
  18. J.R. Larus and R. Rajwar. Transactional Memory, Synthesis Lectures on Computer Architecture. Morgan & Claypool, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Y. Lev, M. Moir, and D. Nussbaum. PhTM: Phased Transactional Memory. SIGPLAN Workshop on Transactional Computing, Aug. 2007.Google ScholarGoogle Scholar
  20. Y. Lev, V. Luchangco, V. Marathe, M. Moir, D. Nussbaum, and M. Olszewski. Anatomy of a Scalable Software Transactional Memory. SIGPLAN Workshop on Transactional Computing, Feb. 2009.Google ScholarGoogle Scholar
  21. J. Manson, W. Pugh, and S. Adve. The Java Memory Model. ACM Symp. on Principles of Programming Languages, Jan. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. V.J. Marathe, M.F. Spear, C. Heriot, A. Acharya, D. Eisenstat, W.N. Scherer III, and M.L. Scott. Lowering the Overhead of Software Transactional Memory. TR 893, Dept. of Computer Science, Univ. of Rochester, Mar. 2006.Google ScholarGoogle Scholar
  23. V.J. Marathe, M.F. Spear, and M.L. Scott. Scalable Techniques for Transparent Privatization in Software Transactional Memory. Intl. Conf. on Parallel Processing, Sept. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P.E. McKenney. Exploiting Deferred Destruction: An Analysis of Read-Copy-Update Techniques in Operating System Kernels. Ph.D. dissertation, Dept. of Computer Science and Engineering, Oregon Graduate Inst., July 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. V. Menon, S. Balensiefer, T. Shpeisman, A.-R. Adl-Tabatabai, R.L. Hudson, B. Saha, and A. Welc. Practical Weak-Atomicity Semantics for Java STM. ACM Symp. on Parallelism in Algorithms and Architectures, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. C.C. Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford Transactional Applications for Multi-Processing. IEEE Intl. Symp. on Workload Characterization, Sept. 2008.Google ScholarGoogle Scholar
  27. M. Moir and J.A. Garay. Fast, Long-Lived Renaming Improved and Simplified. ACM Symp. on Principles of Distributed Computing, May 1996. Brief announcement. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J.E.B. Moss and A.L. Hosking. Nested Transactional Memory: Model and Architecture Sketches. Science of Computer Programming, 63(2):186--201, Dec. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. Olszewski, J. Cutler, and J.G. Steffan. JudoSTM: A Dynamic Binary-Rewriting Approach to Software Transactional Memory. Intl. Conf. on Parallel Architectures and Compilation Techniques, Sept. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. T. Riegel, C. Fetzer, and P. Felber. Time-based Transactional Memory with Scalable Time Bases. ACM Symp. on Parallelism in Algorithms and Architectures, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rochester Software Transactional Memory Runtime. Project web site. www.cs.rochester.edu/research/synchronization/rstm/.Google ScholarGoogle Scholar
  32. M.F. Spear, V.J. Marathe, L. Dalessandro, and M.L. Scott. Privatization Techniques for Software Transactional Memory. ACM Symp. on Principles of Distributed Computing, Aug. 2007. Brief announcement. Extended version available as TR 915, Dept. of Computer Science, Univ. of Rochester, Feb. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M.F. Spear, L. Dalessandro, V.J. Marathe, and M.L. Scott. Ordering-Based Semantics for Software Transactional Memory. Intl. Conf. on Principles of Distributed Systems, Dec. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M.F. Spear, M.M. Michael, and C. von Praun. RingSTM: Scalable Transactions with a Single Atomic Instruction. ACM Symp. on Parallelism in Algorithms and Architectures, June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. M.F. Spear, L. Dalessandro, V.J. Marathe, and M.L. Scott. A Comprehensive Contention Management Strategy for Software Transactional Memory. ACM Symp. on Principles and Practice of Parallel Programming, Feb. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. M.F. Spear, A. Shriraman, L. Dalessandro, and M.L. Scott. Transactional Mutex Locks. SIGPLAN Workshop on Transactional Computing, Feb. 2009.Google ScholarGoogle Scholar
  37. C. Wang, W.-Y. Chen, Y. Wu, B. Saha, and A.-R. Adl-Tabatabai. Code Generation and Optimization for Transactional Memory Constructs in an Unmanaged Language. Intl. Symp. on Code Generation and Optimization, Mar. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. NOrec: streamlining STM by abolishing ownership records

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!