Enforcing Isolation and Ordering in STM

被引:51
作者
Shpeisman, Tatiana [1 ]
Menon, Vijay [1 ]
Adl-Tabatabai, Ali-Reza [1 ]
Balensiefer, Steven
Grossman, Dan
Hudson, Richard L. [1 ]
Moore, Katherine F.
Saha, Bratin [1 ]
机构
[1] Intel Corp, Programming Syst Lab, Santa Clara, CA 95054 USA
来源
PLDI'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION | 2007年
关键词
Transactional Memory; Strong Atomicity; Weak Atomicity; Isolation; Ordering; Escape Analysis; Compiler Optimizations; Code Generation; Virtual Machines;
D O I
10.1145/1250734.1250744
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:78 / 88
页数:11
相关论文
共 59 条
[1]  
ADLTABATABAI A, 2006, PLDI 2006
[2]   Shared memory consistency models: A tutorial [J].
Adve, SV ;
Gharachorloo, K .
COMPUTER, 1996, 29 (12) :66-&
[3]  
ALDRICH J, 2003, SCI COMPUT PROGRAMMI, V47
[4]  
ALLEN E, 2006, FORTRESS LANGUAGE SP
[5]  
Ananian C. S., HPCA 2005
[6]  
ANANIAN CS, SCOOL 2005
[7]  
BERNDL M, PLDI 2003
[8]  
BLANCHET B, OOPSLA 1999
[9]  
BLUNDELL C., 2006, COMPUTER ARCHITECTUR, V5
[10]  
BOEHM H, PLDI 2005