Transactional Memory

Transactional Memory

4.11 - 1251 ratings - Source

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 a€“ 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, runtime system, and 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 summer 2006.If the sync store instruction executes successfully, the processor skips executing the following instruction: // if (lock == 0) ... test for zero sync_clear ; lock non-zero, hence abort load R10, ProcessID ; prepare to update lock sync_store R10, lockanbsp;...

Title:Transactional Memory
Author:James R. Larus, Ravi Rajwar
Publisher:Morgan & Claypool Publishers - 2007-12-01


You Must CONTINUE and create a free account to access unlimited downloads & streaming