skip to main content
10.1145/1706299.1706304acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Coarse-grained transactions

Published:17 January 2010Publication History

ABSTRACT

Traditional transactional memory systems suffer from overly conservative conflict detection, yielding so-called false conflicts, because they are based on fine-grained, low-level read/write conflicts. In response, the recent trend has been toward integrating various abstract data-type libraries using ad-hoc methods of high-level conflict detection. These proposals have led to improved performance but a lack of a unified theory has led to confusion in the literature.

We clarify these recent proposals by defining a generalization of transactional memory in which a transaction consists of coarse-grained (abstract data-type) operations rather than simple memory read/write operations. We provide semantics for both pessimistic (e.g. transactional boosting) and optimistic (e.g. traditional TMs and recent alternatives) execution. We show that both are included in the standard atomic semantics, yet find that the choice imposes different requirements on the coarse-grained operations: pessimistic requires operations be left-movers, optimistic requires right-movers. Finally, we discuss how the semantics applies to numerous TM implementation details discussed widely in the literature.

References

  1. Abadi, M., Birrell, A., Harris, T., and Isard, M. Semantics of transactional memory and automatic mutual exclusion. In The 35th ACM SIGPLAN SIGACT Symposium on Principles of Programming Languages (POPL'08) (2008), G. C. Necula and P. Wadler, Eds., ACM, pp. 63--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Aleen, F., and Clark, N. Commutativity analysis for software parallelization: letting program transformations see the big picture. In Proceedings of the 14th international conference on Architectural support for programming languages and operating systems (ASPLOS-XII) (2009), M. L. Soffa and M. J. Irwin, Eds., ACM, pp. 241--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Baldassin, A., and Burckhardt, S. Lightweight software transactions for games. In Proceedings of the First USENIX Workshop on Hot Topics in Parallelism (HotPar'09) (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Beeri, C., Bernstein, P., Goodman, N., Lai, M.-Y., and Shasha, D. A concurrency control theory for nested transactions (preliminary report). In Proceedings of the 2nd annual ACM symposium on Principles of distributed computing (PODC'83) (New York, NY, USA, 1983), ACM Press, pp. 45--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bernstein, A. Analysis of programs for parallel processing. IEEE Transactions on Electronic Computers 15, 5 (1966), 757--763.Google ScholarGoogle Scholar
  6. Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., and Nussbaum, D. Hybrid transactional memory. In Proceedings of the 12th international conference on Architectural support for programming languages and operating systems (ASPLOS-XII) (New York, NY, USA, 2006), ACM Press, pp. 336--346. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Dice, D., Shalev, O., and Shavit, N. Transactional locking II. In Proceedings of the 20th International Symposium on Distributed Computing (DISC'06) (September 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Flanagan, C., Freund, S. N., and Yi, J. Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs. In PLDI'08: Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation (New York, NY, USA, 2008), ACM, pp. 293--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Guerraoui, R., and Kapalka, M. On the correctness of transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming (PPoPP'08) (New York, NY, USA, 2008), ACM, pp. 175--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Harris, T., Marlow, S., Jones, S. L. P., and Herlihy, M. Composable memory transactions. Commun. ACM 51, 8 (2008), 91--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Herlihy, M., and Koskinen, E. Transactional boosting: A methodology for highly concurrent transactional objects. In Proceedings of the 13th ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP'08) (2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Herlihy, M., Luchangco, V., Moir, M., and Scherer, III, W. N. Software transactional memory for dynamic-sized data structures. In Proceedings of the 22nd annual symposium on Principles of distributed computing (PODC'03) (2003), ACM Press, pp. 92--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Herlihy, M., and Moss, J. E. B. Transactional memory: architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture (ISCA'93) (1993), ACM Press, pp. 289--300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Herlihy, M. P., and Wing, J. M. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems (TOPLAS) 12, 3 (1990), 463--492. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jagannathan, S. Vitek, J., Welc, A., Hosking, A. A Transactional object calculus. Science of Computer Programming. 57, 2 (August 2005), 164--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Korth, H. F. Locking primitives in a database system. J. ACM 30, 1 (1983), 55--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Koskinen, E., and Herlihy, M. Checkpoints and continuations instead of nested transactions. In Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures (SPAA'08) (New York, NY, USA, 2008), ACM, pp. 160--168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Koskinen, E., and Herlihy, M. Dreadlocks: efficient deadlock detection. In Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures (SPAA'08) (New York, NY, USA, 2008), ACM, pp. 297--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Koskinen, E., Parkinson, M., and Herlihy, M. Coarse-grained transactions. Tech. Rep. 759, Computer Laboratory, University of Cambridge, 2009.Google ScholarGoogle Scholar
  20. Kulkarni, M., Pingali, K., Walter, B., Ramanarayanan, G., Bala, K., and Chew, L. P. Optimistic parallelism requires abstractions. In Proceedings of the ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI'07) (2007), J. Ferrante and K. S. McKinley, Eds., ACM, pp. 211--222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Lam, M., and Rinard, M. Coarse-grain parallel programming in Jade. In Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP'91) (1991), ACM New York, NY, USA, pp. 94--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Lipton, R. J. Reduction: a method of proving properties of parallel programs. Commun. ACM 18, 12 (1975), 717--721. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Moore, K. F., and Grossman, D. High-level small-step operational semantics for transactions. In Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL'08) (New York, NY, USA, 2008), ACM, pp. 51--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Moravan, M. J., Bobba, J., Moore, K. E., Yen, L., Hill, M. D., Liblit, B., Swift, M. M., and Wood, D. A. Supporting nested transactional memory in logtm. In Proceedings of the 12th international conference on Architectural support for programming languages and operating systems (ASPLOS-XII) (New York, NY, USA, 2006), ACM Press, pp. 359--370. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Moravan, M. J., Bobba, J., Moore, K. E., Yen, L., Hill, M. D., Liblit, B., Swift, M. M., and Wood, D. A. Supporting nested transactional memory in logtm. SIGOPS Oper. Syst. Rev. 40, 5 (2006), 359--370. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Rinard, M., and Lam, M. The design, implementation, and evaluation of Jade. ACM Transactions on Programming Languages and Systems (TOPLAS) 20, 3 (1998), 483--545. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Rinard, M. C., and Diniz, P. C. Commutativity analysis: A new analysis technique for parallelizing compilers. ACM Transactions on Programming Languages and Systems (TOPLAS) 19, 6 (November 1997), 942--991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Saha, B., Adl-Tabatabai, A.-R., Hudson, R. L., Minh, C. C., and Hertzberg, B. McRT-STM: a high performance software transactional memory system for a multi-core runtime. In Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP'06) (New York, NY, USA, 2006), ACM, pp. 187--197. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Schwarz, P. M., and Spector, A. Z. Synchronizing shared abstract types. ACM Trans. on Comp. Sys. 2, 3 (1984), 223--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Spear, M. F., Marathe, V. J., Dalessandro, L., and Scott, M. L. Privatization techniques for software transactional memory. In Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing (PODC'07) (New York, NY, USA, 2007), ACM, pp. 338--339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Steele, Jr, G. L. Making asynchronous parallelism safe for the world. In Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL'90) (New York, NY, USA, 1990), ACM Press, pp. 218--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Weihl, W. E. Data-dependent concurrency control and recovery (extended abstract). In Proceedings of the second annual ACM symposium on Principles of distributed computing (PODC'83) (New York, NY, USA, 1983), ACM Press, pp. 63--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. William N. Scherer, I., and Scott, M. L. Advanced contention management for dynamic software transactional memory. In Proceedings of the 24th annual ACM symposium on Principles of distributed computing (PODC'05) (New York, NY, USA, 2005), ACM, pp. 240--248. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Coarse-grained transactions

            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
            • Published in

              cover image ACM Conferences
              POPL '10: Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
              January 2010
              520 pages
              ISBN:9781605584799
              DOI:10.1145/1706299
              • cover image ACM SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 45, Issue 1
                POPL '10
                January 2010
                500 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/1707801
                Issue’s Table of Contents

              Copyright © 2010 ACM

              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]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 17 January 2010

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate824of4,130submissions,20%

              Upcoming Conference

              POPL '25

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader