• 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
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
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:
Archives