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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom