Software transactional memory

被引:225
作者
Shavit, N
Touitou, D
机构
[1] School of Mathematical Sciences, Tel-Aviv University, Ramat Aviv
关键词
multiprocessor synchronization; lock-free; transactional memory; distributed shared memory;
D O I
10.1007/s004460050028
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
As we learn from the literature, flexibility in choosing synchronization operations greatly simplifies the task of designing highly concurrent programs. Unfortunately, existing hardware is inflexible and is at best on the level of a Lond-Linked/Store-Conditional operation on a single word. Building on the hardware based transactional synchronization methodology of Herlihy and Moss, we offer software transactional memory (STM), a novel software method for supporting flexible transactional programming of synchronization operations. STM is non-blocking, and can be implemented on existing machines using only a Load-Linked/Store-Conditional operation. We use STM 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. Empirical evidence collected on simulated multiprocessor architectures shows that our method always outperforms the non-blocking translation methods in the style of Barnes, and outperforms Herlihy's translation method for sufficiently large numbers of processors. The key to the efficiency of our software-transactional approach is that unlike Barnes style methods, it is not based on a costly ''recursive helping'' policy.
引用
收藏
页码:99 / 116
页数:18
相关论文
共 29 条
[11]  
CHANDY KM, 1984, ACM T PROGR LANG SYS, V6, P632, DOI 10.1145/1780.1804
[12]  
Cormen T. H., Introduction to Algorithms, V2nd
[13]  
*DIG EQ CORP, ALPH SYST REF MAN
[14]  
GOODMAN JR, 1983, P 10 INT S COMP ARCH, V13, P124
[15]   A METHODOLOGY FOR IMPLEMENTING HIGHLY CONCURRENT DATA OBJECTS [J].
HERLIHY, M .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1993, 15 (05) :745-770
[16]   WAIT-FREE SYNCHRONIZATION [J].
HERLIHY, M .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1991, 13 (01) :124-149
[17]  
HERLIHY M, 1993, CONF PROC INT SYMP C, P289, DOI 10.1145/173682.165164
[18]   LINEARIZABILITY - A CORRECTNESS CONDITION FOR CONCURRENT OBJECTS [J].
HERLIHY, MP ;
WING, JM .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1990, 12 (03) :463-492
[19]  
*IBM, POW PC
[20]  
ISRAELI A, 1993, LECT NOTES COMPUT SC, V725, P1