Making Object-Based STM Practical in Unmanaged Environments
Research output: Contribution to conferences › Paper › Contributed › peer-review
Contributors
Abstract
Current transactifying compilers for unmanaged environments
(e.g., systems software written in C/C++) target only word-based
software transactional memories (STMs) because the compiler can-
not easily infer whether it is safe to transform a transactional access
to a certain memory location in an object-based way. To use object-
based STMs in these environments, programmers must use explicit
calls to the STM or use a restricted language dialect, both of which
are not practical.
In this paper, we show how an existing pointer analysis can
be used to let a transactifying compiler for C/C++ use object-
based accesses whenever this is possible and safe, while falling
back to word-based accesses otherwise. Programmers do not need
to provide any annotations and do not have to use a restricted
language. Our evaluation also shows that an object-based STM can
be significantly faster than a word-based STM with an otherwise
identical design and implementation, even if the parameters of the
latter have been tuned.
(e.g., systems software written in C/C++) target only word-based
software transactional memories (STMs) because the compiler can-
not easily infer whether it is safe to transform a transactional access
to a certain memory location in an object-based way. To use object-
based STMs in these environments, programmers must use explicit
calls to the STM or use a restricted language dialect, both of which
are not practical.
In this paper, we show how an existing pointer analysis can
be used to let a transactifying compiler for C/C++ use object-
based accesses whenever this is possible and safe, while falling
back to word-based accesses otherwise. Programmers do not need
to provide any annotations and do not have to use a restricted
language. Our evaluation also shows that an object-based STM can
be significantly faster than a word-based STM with an otherwise
identical design and implementation, even if the parameters of the
latter have been tuned.
Details
Original language | English |
---|---|
Number of pages | 10 |
Publication status | Published - 2008 |
Peer-reviewed | Yes |
Conference
Title | TRANSACT'08: Third ACM SIGPLAN Workshop on Transactional Computing, 2008 |
---|---|
Abbreviated title | TRANSACT'08 |
Conference number | |
Duration | 23 February 2008 |
Degree of recognition | International event |
Location | |
City | Salt Lake City |
Country | United States of America |