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

References:

mailto:feedback@acmqueue.com

Archives