Proceedings ArticleDOI
Enforcing isolation and ordering in STM
Tatiana Shpeisman,Vijay Menon,Ali-Reza Adl-Tabatabai,Steven Balensiefer,Dan Grossman,Richard L. Hudson,Katherine F. Moore,Bratin Saha +7 more
- Vol. 42, Iss: 6, pp 78-88
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
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
Chen Tian,Min Feng,Rajiv Gupta +2 more
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,Andreas Reuter +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
Maurice Herlihy,J. Eliot B. Moss +1 more
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
Philippe Charles,Christian Grothoff,Vijay Saraswat,Christopher Michael Donawa,Allan H. Kielstra,Kemal Ebcioglu,Christoph von Praun,Vivek Sarkar +7 more
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
Nir N. Shavit,Dan Touitou +1 more
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.