Software Transactional Memory
Software transactional memory (STM) is a method of concurrency control in which shared-memory accesses are grouped into transactions which either succeed or fail to commit in their entirety. STM provides applications programmers with an alternative to mutual-exclusion locks which avoids many of the latter's pitfalls, including risk of deadlock, unnecessary serialization, and priority inversion. Many STMs are themselves implemented using lock-free programming methods, although this is not a hard-and-fast rule.
A software transactional memory (STM) is a software library or programming language feature which provides application programmers with an interface for allocating and accessing shared-memory variables . These variables are accessible in a concurrency-safe manner without resorting to classical concurrency-management techniques such as mutual exclusion. This is achieved by grouping accesses into transactions which execute in isolation and then atomically...
- 2.Saha B, Adl-Tabatabai A, Hudson R, Minh C, Hertzberg B. McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming; 2006. p. 187–97.Google Scholar
- 3.Shavit N, Touitou D. Software transactional memory. In: Proceedings of the ACM SIGACT-SIGOPS 14th Symposium on the Principles of Distributed Computing; 1995. p. 204–13.Google Scholar