The power of DCAS

Hagit Attiya, Eshcar Hillel
2007 Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing - PODC '07  
Software transactional memory (STM) is a leading methodology for alleviating the difficulty of designing concurrent applications. Exiting STM implementations, however, introduce a great degree of interference among concurrent operations, causing slow-down and contention even among operations that access widely separated data sets. This paper presents LSTM, a highly-concurrent dynamic STM implementation, in which operations proceed without interference or contention unless they access
more » ... data sets. In the terminology of Afek et al. [1], LSTM has O(k)-local step complexity and contention, where k is the size of the transaction's data set. This means that two operations delay each other or access the same memory location simultaneously only if they are within distance O(k) in the conflict graph. LSTM employs double compare-and-swap (dcas); this can be substituted with one of several software simulations of dcas from unary compare-and-swap (cas). In particular, the simulation of Attiya and Dagan [2] yields a highly-concurrent STM from realistic hardware primitives. * Supported by the Israel Science Foundation (grant number 953/06).
doi:10.1145/1281100.1281163 dblp:conf/podc/AttiyaH07 fatcat:bngafizyynbbnfx7wjybk2zgde