Sciweavers

SPAA
2009
ACM

Optimizing transactions for captured memory

14 years 8 months ago
Optimizing transactions for captured memory
In this paper, we identify transaction-local memory as a major source of overhead from compiler instrumentation in software transactional memory (STM). Transaction-local memory is memory allocated inside a transaction, which cannot escape (i.e., is captured by) the allocating transaction. Accesses to such memory do not require calls to STM memory access functions (i.e., STM barriers). A compiler unaware of that may translate accesses to captured memory into expensive STM barriers. This presents us opportunities to improve STM performance. Our measurements with the STAMP benchmark suite (version 0.9.9) revealed that as many as 60% of the STM barriers generated by our baseline compiler access captured memory, including 90% of the write barriers and 45% of the read barriers. We propose runtime and compiler optimizations to elide STM barriers to captured memory. These techniques can also elide barriers for accesses to thread-local and read-only data. We implemented those optimizations in ...
Aleksandar Dragojevic, Yang Ni, Ali-Reza Adl-Tabat
Added 08 Mar 2010
Updated 08 Mar 2010
Type Conference
Year 2009
Where SPAA
Authors Aleksandar Dragojevic, Yang Ni, Ali-Reza Adl-Tabatabai
Comments (0)