skip to main content
research-article
Free Access

Unlocking Concurrency: Multicore programming with transactional memory

Published:01 December 2006Publication History
Skip Abstract Section

Abstract

Multicore architectures are an inflection point in mainstream software development because they force developers to write parallel programs. In a previous article in Queue, Herb Sutter and James Larus pointed out, “The concurrency revolution is primarily a software revolution. The difficult problem is not building multicore hardware, but programming it in a way that lets mainstream applications benefit from the continued exponential growth in CPU performance.” In this new multicore world, developers must write explicitly parallel applications that can take advantage of the increasing number of cores that each successive multicore generation will provide.

References

  1. Sutter, H., Larus, J. 2005. Software and the concurrency revolution. ACM Queue 3 (7). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sweeney, T. 2006. The next mainstream programming languages: A game developer's perspective. Keynote speech, Symposium on Principles of Programming Languages. Charleston, SC (January). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Herlihy, M., Moss, E. 1993. Transactional memory: Architectural support for lock-free data structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture. San Diego, CA (May). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Adl-Tabatabai, A., Lewis, B.T., Menon, V.S., Murphy, B.M., Saha, B., Shpeisman, T. 2006. Compiler and runtime support for efficient software transactional memory. In Proceedings of the Conference on Programming Language Design and Implementation. Ottawa, Canada (June). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. McDonald, A., Chung, J., Carlstrom, B.D., Cao Minh, C., Chafi, H., Kozyrakis, C., Olukotun, K. 2006. Architectural semantics for practical transactional memory. In Proceedings of the 33rd International Symposium on Computer Architecture. Boston, MA (June). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Saha, B., Adl-Tabatabai, A., Hudson, R., Cao Minh, C., Hertzberg, B. 2006. McRT-STM: A high-performance software transactional memory system for a multicore runtime. In Proceedings of the Symposium on Principles and Practice of Parallel Programming. New York, NY (March). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. See reference 4.Google ScholarGoogle Scholar
  8. See reference 6.Google ScholarGoogle Scholar
  9. See reference 6.Google ScholarGoogle Scholar
  10. Moore, K., Bobba, J., Moravan, M., Hill, M., Wood, D. 2006. LogTM: Log-based transactional memory. In Proceedings of the 12th International Conference on High-Performance Computer Architecture. Austin, TX (February).Google ScholarGoogle ScholarCross RefCross Ref
  11. Hammond, L., Carlstrom, B., Wong, V., Chen, M., Kozyrakis, C., Olukotun, K. 2004. Transactional coherence and consistency: Simplifying parallel hardware and software. IEEE Micro 24 (6). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. See reference 10.Google ScholarGoogle Scholar
  13. See reference 11.Google ScholarGoogle Scholar
  14. Chung, J., Cao Minh, C., McDonald, A., Skare, T., Chafi, H., Carlstrom, B., Kozyrakis, C., Olukotun, K. 2006. Tradeoffs in transactional memory virtualization. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. San Jose, CA (October). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D. Hybrid transactional memory. In Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems. San Jose, CA (October). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. See reference 14.Google ScholarGoogle Scholar
  17. Saha, B., Adl-Tabatabai, A., Jacobson, Q. 2006. Architectural support for software transactional memory. In Proceedings of the 39th International Symposium on Microarchitecture. Orlando, FL (December). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Transactional Memory Online Bibliography; http://www.cs.wisc.edu/trans-memory/biblio/.Google ScholarGoogle Scholar

Index Terms

  1. Unlocking Concurrency: Multicore programming with transactional memory

    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

    • Published in

      cover image Queue
      Queue  Volume 4, Issue 10
      Computer Architecture
      December-January 2006-2007
      46 pages
      ISSN:1542-7730
      EISSN:1542-7749
      DOI:10.1145/1189276
      Issue’s Table of Contents

      Copyright © 2006 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: 1 December 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format