http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
1 online resource (xiv, 247 pages) : illustrations
The advent of multicore processors has renewed interest in the idea of incorporating transactions into the programming model used to write parallel programs. This approach, known as transactional memory, offers an alternative, and hopefully better, way to coordinate concurrent threads. The ACI (atomicity, consistency, isolation) properties of transactions provide a foundation to ensure that concurrent reads and writes of shared data do not produce inconsistent or incorrect results. At a higher level, a computation wrapped in a transaction executes atomically - either it completes successfully and commits its result in its entirety or it aborts. In addition, isolation ensures the transaction produces the same result as if no other transactions were executing concurrently. Although transactions are not a parallel programming panacea, they shift much of the burden of synchronizing and coordinating parallel computations from a programmer to a compiler, to a language runtime system, or to hardware. The challenge for the system implementers is to build an efficient transactional memory infrastructure. This book presents an overview of the state of the art in the design and implementation of transactional memory systems, as of early spring 2010.
1. Introduction -- Motivation -- Difficulty of Parallel Programming -- Parallel Programming Abstractions -- Database Systems and Transactions -- What Is a Transaction -- Transactional Memory -- Basic Transactional Memory -- Building on Basic Transactions -- Software Transactional Memory -- Hardware Transactional Memory -- What is Transactional Memory Good For -- Differences Between Database Transactions and TM -- Current Transactional Memory Systems and Simulators.
Includes bibliographical references (pages 209-244).
Synthesis lectures in computer architecture ; #11