Making Object-Based STM Practical in Unmanaged Environments
Publikation: Beitrag zu Konferenzen › Paper › Beigetragen › Begutachtung
Beitragende
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
Originalsprache | Englisch |
---|---|
Seitenumfang | 10 |
Publikationsstatus | Veröffentlicht - 2008 |
Peer-Review-Status | Ja |
Konferenz
Titel | TRANSACT'08: Third ACM SIGPLAN Workshop on Transactional Computing, 2008 |
---|---|
Kurztitel | TRANSACT'08 |
Veranstaltungsnummer | |
Dauer | 23 Februar 2008 |
Bekanntheitsgrad | Internationale Veranstaltung |
Ort | |
Stadt | Salt Lake City |
Land | USA/Vereinigte Staaten |