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
Towards consistency oblivious programming
TL;DR: The 15th International Conference on OPODIS 2011, Toulouse, France, December 13-16, 2011 as mentioned in this paper, was the first one to address the problem of OPODIs 2011.
Towards Transactional Memory Support for GCC
TL;DR: The design of a transactional memory extension for GCC is described, and research challenges and perspectives enabled by this design are highlighted.
Book ChapterDOI
Lowering STM overhead with static analysis
TL;DR: It is described how static analysis and code motion algorithms can detect sources of sub-optimal instrumentation, and enable compile-time optimizations that significantly reduce the instrumentation overhead in many common cases.
Proceedings ArticleDOI
Enhanced speculative parallelization via incremental recovery
TL;DR: An approach for incremental recovery in which, instead of discarding all of the results and reexecuting the speculative computation in its entirety, the computation is restarted from the earliest point at which a misspeculation causing value is read.
Book ChapterDOI
A Model of Dynamic Separation for Transactional Memory
TL;DR: This work provides a precise formulation of dynamic separation and compares it with other programming disciplines and investigates some possible implementations of the calculus and establishes their correctness.
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.