Making Object-Based STM Practical in Unmanaged Environments

Research output: Contribution to conferencesPaperContributedpeer-review

Contributors

  • Torvald Riegel - (Author)
  • Diogo Becker de Brum - (Author)

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.

Details

Original languageEnglish
Number of pages10
Publication statusPublished - 2008
Peer-reviewedYes

Conference

TitleTRANSACT'08: Third ACM SIGPLAN Workshop on Transactional Computing, 2008
Abbreviated titleTRANSACT'08
Conference number
Duration23 February 2008
Degree of recognitionInternational event
Location
CitySalt Lake City
CountryUnited States of America

Keywords

Research priority areas of TU Dresden

DFG Classification of Subject Areas according to Review Boards