Skip to main content
Log in

Software transactional memories: an approach for multicore programming

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The recent advance of multicore architectures and the deployment of multiprocessors as the mainstream computing platforms have given rise to a new concurrent programming impetus. Software transactional memories (STM) are one of the most promising approaches to take up this challenge. The aim of a STM system is to discharge the application programmer from the management of synchronization when he/she has to write multiprocess programs. His/her task is to decompose his/her program into a set of sequential tasks that access shared objects, and to decompose each task in atomic units of computation. The management of the required synchronization is ensured by the associated STM system. This paper presents two existing STM systems, and a new one based on time-window mechanism. The paper, which focuses mainly on STM principles, has an introductory and survey flavor.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Cachopo J, Rito-Silva A (2006) Versioned boxes as the basis for transactional memory. Sci Comput Progr 63(2):172–175

    Article  MATH  MathSciNet  Google Scholar 

  2. Dice D, Shalev O, Shavit N (2006) Transactional locking II. In: Proc. 20th int’l symposium on distributed computing (DISC’06). LNCS, vol 4167. Springer, Berlin, pp 194–208

    Google Scholar 

  3. Felber P, Fetzer Ch, Guerraoui R, Harris T (2008) Transactions are coming back, but are they the same? ACM SIGACT News, Distributed Comput Column 39(1):48–58

    Google Scholar 

  4. Guerraoui R, Kapałka M (2008) On the correctness of transactional memory. In: Proc. 13th ACM SIGPLAN symposium on principles and practice of parallel programming (PPoPP’08), pp 175–184

  5. Harris T, Cristal A, Unsal OS, Ayguade E, Gagliardi F, Smith B, Valero M (2007) Transactional memory: an overview. IEEE Micro 27(3):8–29

    Article  Google Scholar 

  6. Herlihy MP, Luchangco V (2008) Distributed Computing and the Multicore Revolution. ACM SIGACT News, Distributed Comput Column 39(1):62–72

    Article  Google Scholar 

  7. Herlihy MP, Moss JEB (1993) Transactional memory: architectural support for lock-free data structures. In: Proc 20th ACM int’l symposium on computer architecture (ISCA’93), pp 289–300, 1993

  8. Imbs D, Raynal M (2009) Provable STM Properties: Leveraging clock and locks to favor commit and early abort. In: Proc 10th int’l conference on distributed computing and networking (ICDCN’09). LNCS, vol 5408. Springer, Berlin, pp 67–78

    Google Scholar 

  9. Imbs D, Raynal M (2009) A versatile STM protocol with invisible read operations that satisfies the virtual world consistency condition. In: 16th Colloquium on structural information and communication complexity (SIROCCO’09). LNCS, vol 5869. Springer, Berlin, pp 276–290

    Google Scholar 

  10. Imbs D, Raynal M (2009) Software transactional memories: an approach for multicore programming. In: 10th int’l conference on parallel computing technologies (PaCT’09). LNCS, vol 5698. Springer, Berlin, pp 26–40

    Google Scholar 

  11. Larus J, Kozyrakis Ch (2008) Transactional memory: is TM the answer for improving parallel programming? Commun ACM 51(7):80–89

    Article  Google Scholar 

  12. Papadimitriou ChH (1979) The serializability of concurrent updates. J ACM 26(4):631–653

    Article  MATH  MathSciNet  Google Scholar 

  13. Raynal M (2008) Synchronization is coming back, but is it the same? Keynote speech. In: IEEE 22nd int’l conf on advanced inf. networking and applications (AINA’08), pp 1–10, 2008

  14. Shavit N, Touitou D (1997) Software transactional memory. Distrib Comput 10(2):99–116

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michel Raynal.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Imbs, D., Raynal, M. Software transactional memories: an approach for multicore programming. J Supercomput 57, 203–215 (2011). https://doi.org/10.1007/s11227-010-0388-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-010-0388-0

Keywords

Navigation