practice
Doi: 10.1145/1400214.1400228
and observe the overall performance of
TM is much worse at low levels of parallelism, which is likely to limit the adoption of this programming paradigm.
Different implementations of
transactional memory systems make
tradeoffs that impact both performance
and programmability. Larus and Rajwar16 present an overview of design
trade-offs for implementations of trans-
software actional memory systems. We summarize some of the design choices here:
˲ Software-only (STM) 7, 10, 12, 14, 18, 23, 25 is
the focus here. While offering flexibility
transactional and no hardware cost, it leads to overhead in excess of most users’ tolerance.
˲ Hardware-only (HTM) 2, 4, 9, 13, 19, 20, 35
suffers from two major impediments:
memory: Why high implementation and verification
costs lead to design risks too large to
justify on a niche programming model;
hardware capacity constraints lead to
is it only a significant performance degradation
when overflow occurs, and proposals for
managing overflows (for example, signatures5) incur false positives that add
Research toy? complexity to the programming model.
Therefore, from an industrial perspective, HTM designs have to provide more
benefits for the cost, on a more diverse
set of workloads (with varying transactional characteristics) for hardware designers to consider implementation.a
˲ Hybrid1, 6, 24, 28 is the most likely platform for the eventual adoption of TM
by a wide audience, although the exact
mix of hardware and software support
remains unclear.
A special case of the hybrid systems
are hardware-accelerated STMs. In this
scenario, the transactional semantics
are provided by the STM, and hardware
primitives are only used to speed up
critical performance bottlenecks in the
STM. Such systems could offer an attractive solution if the cost of hardware
primitives is modest and may be further
amortized by other uses in the system.
Independent of these implementa-
The promise of STM may likely be undermined
by its overheads and workload applicabilities.
BY căLin cas˛caVaL, coLin BLunDeLL, maGeD michaeL,
haRoLD W. cain, PenG Wu, stefanie chiRas,
anD siDDhaRtha chatteRJee
trAnsActionAL MEMor Y (TM) 13 is a concurrency
control paradigm that provides atomic and isolated
execution for regions of code. TM is considered by
many researchers to be one of the most promising
solutions to address the problem of programming
multicore processors. Its most appealing feature is
that most programmers only need to reason locally
about shared data accesses, mark the code region to
be executed transactionally, and let the underlying
system ensure the correct concurrent execution. This
model promises to provide the scalability of fine-grained locking while avoiding common pitfalls of
lock composition such as deadlock. In this article, we
explore the performance of a highly optimized STM
a Reuse of hardware for other purposes can also
justify its inclusion, as the case may be for
Sun’s implementation of Scout Threading in
the Rock processor. 32