Title
McRT-STM: a high performance software transactional memory system for a multi-core runtime
Abstract
Applications need to become more concurrent to take advantage of the increased computational power provided by chip level multiprocessing. Programmers have traditionally managed this concurrency using locks (mutex based synchronization). Unfortunately, lock based synchronization often leads to deadlocks, makes fine-grained synchronization difficult, hinders composition of atomic primitives, and provides no support for error recovery. Transactions avoid many of these problems, and therefore, promise to ease concurrent programming.We describe a software transactional memory (STM) system that is part of McRT, an experimental Multi-Core RunTime. The McRT-STM implementation uses a number of novel algorithms, and supports advanced features such as nested transactions with partial aborts, conditional signaling within a transaction, and object based conflict detection for C/C++ applications. The McRT-STM exports interfaces that can be used from C/C++ programs directly or as a target for compilers translating higher level linguistic constructs.We present a detailed performance analysis of various STM design tradeoffs such as pessimistic versus optimistic concurrency, undo logging versus write buffering, and cache line based versus object based conflict detection. We also show a MCAS implementation that works on arbitrary values, coexists with the STM, and can be used as a more efficient form of transactional memory. To provide a baseline we compare the performance of the STM with that of fine-grained and coarse-grained locking using a number of concurrent data structures on a 16-processor SMP system. We also show our STM performance on a non-synthetic workload -- the Linux sendmail application.
Year
DOI
Venue
2006
10.1145/1122971.1123001
PPOPP
Keywords
Field
DocType
memory system,various stm design tradeoffs,16-processor smp system,concurrent programming,mcas implementation,stm performance,high performance software transactional,mcrt-stm exports interface,concurrent data structure,conflict detection,detailed performance analysis,mcrt-stm implementation,multi-core runtime,transactional memory,chip,concurrent data structures,nested transaction,software transactional memory
Software transactional memory,Semaphore,Concurrency,Computer science,Deadlock,Parallel computing,Double compare-and-swap,Transactional memory,Concurrent data structure,Optimistic concurrency control,Distributed computing
Conference
ISBN
Citations 
PageRank 
1-59593-189-9
224
12.39
References 
Authors
19
5
Search Limit
100224
Name
Order
Citations
PageRank
Bratin Saha174239.04
Ali-Reza Adl-Tabatabai297162.68
Richard L. Hudson358338.03
Chi Cao Minh4116061.54
Benjamin Hertzberg522412.39