A Practical Transactional Memory Interface

作者: Shahar Timnat , Maurice Herlihy , Erez Petrank

DOI: 10.1007/978-3-662-48096-0_30

关键词: Computer scienceInterface (Java)Code (cryptography)Abstraction (linguistics)Parallel computingTransactional memoryConcurrent data structureTree (data structure)Database transactionTree traversal

摘要: Hardware transactional memory (HTM) is becoming widely available on modern platforms. However, software using HTM requires at least two carefully-coordinated code paths: one for transactions, and when transactions either fail, or are not supported all. We present the MCMS interface that allows a simple design of fast concurrent data structures. MCMS-based can execute support provided, but it also executes well platforms do HTM, handles transaction failures as well. To demonstrate advantage such an abstraction, we designed linked-list tree algorithms. The list algorithm outperforms all known lock-free linked-lists by factor up to X2.15. builds Ellen et al. [7] X1.37. Both algorithms considerably simpler than their counterparts.

参考文章(18)
Trevor Brown, Joanna Helga, Non-blocking k-ary Search Trees Lecture Notes in Computer Science. pp. 207- 221 ,(2011) , 10.1007/978-3-642-25873-2_15
Steve Heller, Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer, Nir Shavit, A lazy concurrent list-based set algorithm international conference on principles of distributed systems. pp. 3- 16 ,(2005) , 10.1007/11795490_3
Timothy L. Harris, A Pragmatic Implementation of Non-blocking Linked-Lists international symposium on distributed computing. ,vol. 2180, pp. 300- 314 ,(2001) , 10.1007/3-540-45414-4_21
Timothy L. Harris, Keir Fraser, Ian A. Pratt, A Practical Multi-word Compare-and-Swap Operation Lecture Notes in Computer Science. pp. 265- 279 ,(2002) , 10.1007/3-540-36108-1_18
Håkan Sundell, Wait-Free Multi-Word Compare-and-Swap Using Greedy Helping and Grabbing International Journal of Parallel Programming. ,vol. 39, pp. 694- 716 ,(2011) , 10.1007/S10766-011-0167-4
Trevor Brown, Faith Ellen, Eric Ruppert, Pragmatic primitives for non-blocking data structures principles of distributed computing. pp. 13- 22 ,(2013) , 10.1145/2484239.2484273
Jayaram Bobba, Kevin E. Moore, Haris Volos, Luke Yen, Mark D. Hill, Michael M. Swift, David A. Wood, Performance pathologies in hardware transactional memory Proceedings of the 34th annual international symposium on Computer architecture - ISCA '07. ,vol. 35, pp. 81- 91 ,(2007) , 10.1145/1250662.1250674
Lihu Rappoport, Disjoint-access-parallel implementations of strong shared memory primitives Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing - PODC '94. pp. 151- 160 ,(1994) , 10.1145/197917.198079
Ravi Rajwar, James R. Goodman, Speculative lock elision: enabling highly concurrent multithreaded execution international symposium on microarchitecture. pp. 294- 305 ,(2001) , 10.5555/563998.564036
Maurice Herlihy, J. Eliot B. Moss, Transactional memory Proceedings of the 20th annual international symposium on Computer architecture - ISCA '93. ,vol. 21, pp. 289- 300 ,(1993) , 10.1145/165123.165164