Transactional lock-free execution of lock-based programs

作者: Ravi Rajwar , James R. Goodman

DOI: 10.1145/605397.605399

关键词:

摘要: This paper is motivated by the difficulty in writing correct high-performance programs. Writing shared-memory multi-threaded programs imposes a complex trade-off between programming ease and performance, largely due to subtleties coordinating access shared data. To ensure correctness programmers often rely on conservative locking at expense of performance. The resulting serialization threads performance bottleneck. Locks also interact poorly with thread scheduling faults, poor system performance.We seek improve multithreaded trade-offs providing architectural support for optimistic lock-free execution. In execution, objects are never locked when accessed various threads. We propose Transactional Lock Removal (TLR) show how program that uses lock-based synchronization can be executed hardware manner, even presence conflicts, without programmer or software changes. TLR timestamps conflict resolution, modest hardware, features already present many modern computer systems.TLR's benefits include improved programmability, stability, Programmers obtain data structures, such as non-blocking behavior wait-freedom, while using lock-protected critical sections

参考文章(39)
Ravi Rajwar, James R. Goodman, Speculation-based techniques for transactional lock-free execution of lock-based programs The University of Wisconsin - Madison. ,(2002)
John David Valois, Lock-free data structures Rensselaer Polytechnic Institute. ,(1996)
Daniel J. Sorin, Carl J. Mauer, Milo M.K. Martin, Mark D. Hill, Pacia J. Harper, David A. Wood, Alaa R. Alameldeen, Min Xu, Evaluating Non-deterministic Multi-threaded Commercial Workloads ,(2001)
Kourosh Gharachorloo, John L. Hennessy, Anoop Gupta, Two Techniques to Enhance the Performance of Memory Consistency Models. international conference on parallel processing. pp. 355- 364 ,(1991)
Alain Kägi, Doug Burger, James R. Goodman, Efficient synchronization Proceedings of the 24th annual international symposium on Computer architecture - ISCA '97. ,vol. 25, pp. 170- 180 ,(1997) , 10.1145/264107.264166
Jaswinder Pal Singh, Wolf-Dietrich Weber, Anoop Gupta, SPLASH: Stanford parallel applications for shared-memory ACM Sigarch Computer Architecture News. ,vol. 20, pp. 5- 44 ,(1992) , 10.1145/130823.130824
John Turek, Dennis Shasha, Sundeep Prakash, Locking without blocking Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems - PODS '92. pp. 212- 222 ,(1992) , 10.1145/137097.137873
Greg Barnes, A method for implementing lock-free shared-data structures Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures - SPAA '93. pp. 261- 270 ,(1993) , 10.1145/165231.165265
Maged M. Michael, Michael L. Scott, Simple, fast, and practical non-blocking and blocking concurrent queue algorithms principles of distributed computing. pp. 267- 275 ,(1996) , 10.1145/248052.248106