Transactifying Applications using an Open Compiler Framework

Publikation: Beitrag zu KonferenzenPaperBeigetragenBegutachtung

Beitragende

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

OriginalspracheEnglisch
Seitenumfang8
PublikationsstatusVeröffentlicht - 2007
Peer-Review-StatusJa

Konferenz

TitelTRANSACT '07: the 2nd ACM SIGPLAN Workshop on Transactional Computing, 2007.
KurztitelTRANSACT '07
Veranstaltungsnummer
Dauer16 August 2007
BekanntheitsgradInternationale Veranstaltung
Ort
StadtPortland
LandUSA/Vereinigte Staaten

Schlagworte

Forschungsprofillinien der TU Dresden

DFG-Fachsystematik nach Fachkollegium