scispace - formally typeset
Proceedings ArticleDOI

Enforcing isolation and ordering in STM

Reads0
Chats0
TLDR
The results on a set of Java programs show that strong atomicity can be implemented efficiently in a high-performance STM system and introduces a dynamic escape analysis that differentiates private and public data at runtime to make barriers cheaper and a static not-accessed-in-transaction analysis that removes many barriers completely.
Abstract
Transactional memory provides a new concurrency control mechanism that avoids many of the pitfalls of lock-based synchronization. High-performance software transactional memory (STM) implementations thus far provide weak atomicity: Accessing shared data both inside and outside a transaction can result in unexpected, implementation-dependent behavior. To guarantee isolation and consistent ordering in such a system, programmers are expected to enclose all shared-memory accesses inside transactions.A system that provides strong atomicity guarantees isolation even in the presence of threads that access shared data outside transactions. A strongly-atomic system also orders transactions with conflicting non-transactional memory operations in a consistent manner.In this paper, we discuss some surprising pitfalls of weak atomicity, and we present an STM system that avoids these problems via strong atomicity. We demonstrate how to implement non-transactional data accesses via efficient read and write barriers, and we present compiler optimizations that further reduce the overheads of these barriers. We introduce a dynamic escape analysis that differentiates private and public data at runtime to make barriers cheaper and a static not-accessed-in-transaction analysis that removes many barriers completely. Our results on a set of Java programs show that strong atomicity can be implemented efficiently in a high-performance STM system.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

The transactional memory / garbage collection analogy

TL;DR: This essay presents remarkable similarities between transactional memory and garbage collection, and lets us better understand one technology by thinking about the corresponding issues for the other.
Proceedings ArticleDOI

Supporting speculative parallelization in the presence of dynamic data structures

TL;DR: An augmented design for the representation of dynamic data structures such that all of the above operations can be performed efficiently are developed and significant speedups are demonstrated on a real machine.
Proceedings ArticleDOI

Dynamic optimization for efficient strong atomicity

TL;DR: Measurements on a set of transactional and non-transactional Java workloads demonstrate that the techniques presented substantially reduce the overhead of strong atomicity from a factor of 5x down to 10% or less over an efficient weak atomicity baseline.
Proceedings ArticleDOI

Thread-safe dynamic binary translation using transactional memory

TL;DR: This paper implemented a DBT-based tool for secure execution of x86 binaries using dynamic information flow tracking, and is the first such framework that correctly handles multithreaded binaries without serialization.
Book ChapterDOI

Ordering-Based Semantics for Software Transactional Memory

TL;DR: This work proposes selective strict serializability (SSS) semantics, in which transactions have a global total order, but nontransactional accesses are globally ordered only with respect to explicitly marked transactions.
References
More filters
Book

Transaction Processing: Concepts and Techniques

Jim Gray, +1 more
TL;DR: Using transactions as a unifying conceptual framework, the authors show how to build high-performance distributed systems and high-availability applications with finite budgets and risk.
Proceedings ArticleDOI

Transactional memory: architectural support for lock-free data structures

TL;DR: Simulation results show that transactional memory matches or outperforms the best known locking techniques for simple benchmarks, even in the absence of priority inversion, convoying, and deadlock.
Journal ArticleDOI

On optimistic methods for concurrency control

TL;DR: In this paper, two families of non-locking concurrency controls are presented, which are optimistic in the sense that they rely mainly on transaction backup as a control mechanism, "hoping" that conflicts between transactions will not occur.
Proceedings ArticleDOI

X10: an object-oriented approach to non-uniform cluster computing

TL;DR: A modern object-oriented programming language, X10, is designed for high performance, high productivity programming of NUCC systems and an overview of the X10 programming model and language, experience with the reference implementation, and results from some initial productivity comparisons between the X 10 and Java™ languages are presented.
Proceedings ArticleDOI

Software transactional memory

TL;DR: STM is used to provide a general highly concurrent method for translating sequential object implementations to non-blocking ones based on implementing a k-word compare&swap STM-transaction, a novel software method for supporting flexible transactional programming of synchronization operations.