|
[ Publications ]
[ Research Opportunities ]
[ Partners & Supporters ]
[ Earlier Work ]
|
|
Dynamic Optimization for Efficient Strong Atomicity
|
| Florian T. Schneider,
Vijay Menon,
Tatiana Shpeisman,
Ali-Reza Adl-Tabatabai,
Dynamic Optimization for Efficient Strong Atomicity, OOPSLA 2008.
[OOPSLA_2008.pdf]
|
|
Transactional memory (TM) is a promising concurrency
control alternative to locks. Recent work has
highlighted important memory model issues regarding TM
semantics and exposed problems in existing TM implementations.
For safe, managed languages such as Java, there is a
growing consensus towards strong atomicity semantics as a
sound, scalable solution.
Strong atomicity has presented a challenge to implement
efficiently because it requires instrumentation of nontransactional
memory accesses, incurring significant overhead
even when a program makes minimal or no use of
transactions. To minimize overhead, existing solutions require
either a sophisticated type system, specialized hardware,
or static whole-program analysis. These techniques
do not translate easily into a production setting on existing
hardware.
In this paper, we present novel dynamic optimizations
that significantly reduce strong atomicity overheads and
make strong atomicity practical for dynamic language environments.
We introduce analyses that optimistically track
which non-transactional memory accesses can avoid strong
atomicity instrumentation, and we describe a lightweight
speculation and recovery mechanism that applies these analyses
to generate speculatively-optimized but safe code for
strong atomicity in a dynamically-loaded environment. We
show how to implement these mechanisms efficiently by
leveraging existing dynamic optimization infrastructure in
a Java system. Measurements on a set of transactional and
non-transactional Java workloads demonstrate that our techniques
substantially reduce the overhead of strong atomicity
from a factor of 5x down to 10% or less over an efficient
weak atomicity baseline.
|
|
[ Publications ]
[ Research Opportunities ]
[ Partners & Supporters ]
[ Earlier Work ]
|
|