z-logo
open-access-imgOpen Access
Feedback-directed barrier optimization in a strongly isolated STM
Author(s) -
Nathan Bronson,
Christos Kozyrakis,
Kunle Olukotun
Publication year - 2009
Publication title -
acm sigplan notices
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.31
H-Index - 99
eISSN - 1558-1160
pISSN - 0362-1340
DOI - 10.1145/1594834.1480909
Subject(s) - computer science , software transactional memory , atomicity , isolation (microbiology) , distributed computing , concurrency , programming language , transactional memory , bytecode , generality , runtime system , parallel computing , database transaction , java , psychology , microbiology and biotechnology , psychotherapist , biology
Speed improvements in today's processors have largely been de- livered in the form of multiple cores, increasing the importance of abstractions that ease parallel programming. Software transactional memory (STM) addresses many of the complications of concur- rency by providing a simple and composable model for safe access to shared data structures. Software transactions extend a language with an atomic primitive that declares that the effects of a block of code should not be interleaved with actions executing concurrently on other threads. Adding barriers to shared memory accesses pro- vides atomicity, consistency and isolation. Strongly isolated STMs preserve the safety properties of trans- actions for all memory operations in a program, not just those inside an atomic block. Isolation barriers are added to non- transactional loads and stores in such a system to prevent those accesses from observing or corrupting a partially completed trans- action. Strong isolation is especially important when integrating transactions into an existing language and memory model. Isola- tion barriers have a prohibitive performance overhead, however, so most STM proposals have chosen not to provide strong isolation. In this paper we reduce the costs of strong isolation by cus- tomizing isolation barriers for their observed usage. The cus- tomized barriers provide accelerated execution by blocking threads whose accesses do not follow the expected pattern. We use hot swap to tighten or loosen the hypothesized pattern, while pre- serving strong isolation. We introduce a family of optimization hypotheses that balance verification cost against generality. We demonstrate the feasibility of dynamic barrier optimization by implementing it in a bytecode-rewriting Java STM. Feedback- directed customization reduces the overhead of strong isolation from 505% to 38% across 11 non-transactional benchmarks; persis- tent feedback data further reduces the overhead to 16%. Dynamic optimization accelerates a multi-threaded transactional benchmark by 31% for weakly-isolated execution and 34% for strongly- isolated execution.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom