transactional
memory
why is it only a research toy?
• Commit sequence optimizations. Eliminating unnecessary global version number updates43 improves the overall
performance of several micro-benchmarks by up to 14
percent.
Such optimizations have a positive impact on STM
performance. The results presented here, however,
indicate how much further innovation is needed for the
performance of STM systems to become generally appealing to users.
not store a version number but refers to the most recently
committed version of the object. A particularity of the
DSTM design is that objects must be explicitly opened (in
read-only or read-write mode) before transactional access;
also, DSTM allows for early release. The authors argue that
both mechanisms facilitate the reduction of conflicts.
The design principles of the RSTM48 (Rochester STM)
system are similar to DSTM in that it associates transactional metadata with objects. Unlike DSTM, however, the
system does not require the dynamic allocation of transactional data but colocates it with the nontransactional
data. This scheme has two benefits: first, it facilitates
spatial access locality and hence fosters execution performance and transaction throughput; second, the dynamic
memory management of transactional data (usually done
through a garbage collector) is not necessary, and hence
this scheme is amenable to use in environments where
memory management is explicit.
Recent work has explored algorithmic optimizations
and/or alternative implementations of the basic STM
algorithms described in this article. Riegel et al. propose
the use of realtime clocks to enhance the scalability of
RELATED WORK
The first STM system was
proposed by Shavit and
Touitou44 and is based on
object ownership. The
protocol is static, which is
a significant shortcoming
that has been overcome
by subsequently proposed
STM systems. 45 Conflict
detection is simplified
significantly by the static
nature because conflicts
can be ruled out already
when ownership records
are acquired (at transaction
start).
DSTM46 is the first
dynamic STM system; the
design follows a per-object
runtime organization
(locator object). Variables
(objects) in the application heap refer to a locator
object. Unlike in a design
with ownership records
(for example, Harris and
Fraser47), the locator does
FIGURE
6Percentage of Time Spent in STM Read Sub-Operations
100
90
80
percent of cycles (norm. to fv)
70
60
50
40
30
20
return
validate
sync
read data
add metadata
to read set
check if meta-
data locked
read metadata
calculate
metadata
check read
after write
setup
call
other
10
0
fv gv#
b+tree
fv gv#
delaunay
fv gv#
kmeans
fv gv#
genome
fv gv#
vacation