Communications of the ACM

Software transactional memory: Why is it only a research toy?

View publication


Some of the significant issues associated with software transactional memory (STM) are discussed. Transaction memory (TM) is a concurrency control concept that provides atomic and isolated execution for regions of code. It is considered by a number of researchers, to be one of the most potential solutions to address the problem of programming multicore processors. One of the most significant features of TM is that most programmers need to reason locally about shared data accesses, mark the code region to be executed transactionally, and let the basic system ensure the correct concurrent execution. This model has the potential of providing the scalability of fine-grained locking, while avoiding common problems of lock composition, such as deadlock. STM and TM continue to remain basic research concepts, despite having several significant features and benefits.