What is Transactional Memory?

Why?

input needed <- complexity of lock based synchronization


What?

input needed here <- the idea underlying TM (transaction abstraction) and its benefits in terms of composabiltiy, easy of reasoning and debugging

How?

input needed here <- what to do to start experimenting with TM. Links to tools in alphabetical order and organized by:
   - programming languages:
       - C:
           - GCC support for (S)TMs
           - input needed here: Any other?
       - Java:
           - Deuce STM
           - JVSTM
           - input needed here
        - Other programming languages: input needed here
   - Distributed STMs:
        - DSTM2
        - DMV
        - D2STM
        - input needed here

Links

input needed

  • "Transactional Memory: An Overview" - Harris T., Cristal A., Unsal O.S., Ayguade E., Gagliardi F., Smith B. and Valero, M., IEEE Micro, 27(3):8-29, 2007 (publisher's website)
  • "Transactional Memory" - Larus J., Kozyrakis C., Commun. ACM 51, 7 (July 2008), 80-88 (publisher's website)
  • "Distributed computing and the multicore revolution" - Herlihy M., Luchangco V., SIGACT News 39, 1 (March 2008), 62-72 (publisher's website)