Software Transactional Memory

Software transactional memory (STM) has been proposed as a promising programming paradigm for shared‐memory multithreaded programs as an alternative to conventional lock‐based synchronization primitives. STM is intended to facilitate the development of complex concurrent software by reducing the bur...

Full description

Saved in:
Bibliographic Details
Published in:Programming multi‐core and many‐core computing systems pp. 81 - 98
Main Author: Mannarswamy, Sandya
Format: Book Chapter
Language:English
Published: Hoboken, NJ, USA John Wiley & Sons, Inc 24.01.2017
Subjects:
ISBN:0470936908, 9780470936900
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Software transactional memory (STM) has been proposed as a promising programming paradigm for shared‐memory multithreaded programs as an alternative to conventional lock‐based synchronization primitives. STM is intended to facilitate the development of complex concurrent software by reducing the burden of programming complexity involved in writing concurrent code. This chapter provides a background on STM and examines STM from a programmer's perspective. It discusses the different semantic models associated with some of the current STM proposals. It also provides a quick overview of the various STM design dimensions, the evolution of STM over the years, and a short overview of STM performance. A wide variety of STM techniques, inspired by database algorithms, have been explored in order to determine the right combination of strategies that suit the requirements of concurrent applications. Transactional memory semantics describe the expected or allowed outcomes of various memory operations on shared data accessed by concurrent threads of a transactional memory application.
ISBN:0470936908
9780470936900
DOI:10.1002/9781119332015.ch4