In computer science, software transactional memory (STM) is a concurrency control mechanism analogous to database transactions for controlling access to shared memory in concurrent computing. It is an alternative to lock-based synchronization. A transaction in this context is a piece of code that executes a series of reads and writes to shared memory. These reads and writes logically occur at a single instant in time; intermediate states are not visible to other (successful) transactions. The idea of providing hardware support for transactions originated in a 1986 paper by Tom Knight. The idea was popularized by Maurice Herlihy and J. Eliot B. Moss. In 1995 Nir Shavit and Dan Touitou extended this idea to software-only transactional memory (STM). STM has recently been the focus of intense research and support for practical implementations is growing.
Read more about Software Transactional Memory: Performance, Conceptual Advantages and Disadvantages, Composable Operations, Proposed Language Support, Transactional Locking, Implementation Issues, Implementations
Famous quotes containing the word memory:
“A mans memory is bound to be a distortion of his past in accordance with his present interests, and the most faithful autobiography is likely to mirror less what a man was than what he has become.”
—Fawn M. Brodie (19151981)