Transactifying Applications using an Open Compiler Framework

Research output: Contribution to conferencesPaperContributedpeer-review

Contributors

Abstract

Transactional memory dramatically reduces the complex-
ity of writing concurrent code. Yet, seamless integration of
transactional constructs in application code typically comes
with a significant performance penalty. Recent studies have
shown that compiler support allows producing highly effi-
cient STM-based applications without putting the hassle on
the programmer. So far, STM integration has been partially
implemented in custom, proprietary compiler infrastruc-
tures. In this paper, we propose and evaluate the use of the
LLVM open compiler framework to generate efficient con-
current applications using word-based STM libraries. Since
LLVM uses the GCC compiler suite as front-end, it can pro-
cess code written in C or C++ (with partial support for other
languages). We also present a tool that allows “transactify-
ing” assembly code and can complement LLVM for legacy
code and libraries. Experiments using a lightweight C word-
based STM library show that LLVM integration performs
as well as hand-optimized calls to the STM library and bet-
ter than assembly code instrumentation of the application
code.

Details

Original languageEnglish
Number of pages8
Publication statusPublished - 2007
Peer-reviewedYes

Conference

TitleTRANSACT '07: the 2nd ACM SIGPLAN Workshop on Transactional Computing, 2007.
Abbreviated titleTRANSACT '07
Conference number
Duration16 August 2007
Degree of recognitionInternational event
Location
CityPortland
CountryUnited States of America

Keywords

Research priority areas of TU Dresden

DFG Classification of Subject Areas according to Review Boards