LogTM: log-based transactional memory

作者: K.E. Moore , J. Bobba , M.J. Moravan , M.D. Hill , D.A. Wood

DOI: 10.1109/HPCA.2006.1598134

关键词:

摘要: Transactional memory (TM) simplifies parallel programming by guaranteeing that transactions appear to execute atomically and in isolation. Implementing these properties includes providing data version management for the simultaneous storage of both new (visible if transaction commits) old (retained aborts) values. Most (hardware) TM systems leave values "in place" (the target address) buffer elsewhere until commit. This makes aborts fast, but penalizes much more frequent) commits. In this paper, we present a implementation transactional memory, log-based (LogTM), commits fast storing per-thread log cacheable virtual place. LogTM two additional contributions. First, extends MOESI directory protocol enable conflict detection on evicted blocks commit (using lazy cleanup). Second, handles (library) software with little performance penalty. Evaluations running micro- SPLASH-2 benchmarks 32-way multiprocessor support our decision optimize showing only 1-2% abort.

参考文章(32)
Nir Shavit, Dan Touitou, Software transactional memory principles of distributed computing. pp. 204- 213 ,(1995) , 10.1145/224964.224987
C.S. Ananian, K. Asanovic, B.C. Kuszmaul, C.E. Leiserson, S. Lie, Unbounded transactional memory high-performance computer architecture. pp. 316- 327 ,(2005) , 10.1109/HPCA.2005.41
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
Haitham Akkary, Michael A. Driscoll, A dynamic multithreading processor international symposium on microarchitecture. pp. 226- 236 ,(1998) , 10.5555/290940.290988
Maurice Herlihy, Victor Luchangco, Mark Moir, William N. Scherer, Software transactional memory for dynamic-sized data structures Proceedings of the twenty-second annual symposium on Principles of distributed computing - PODC '03. pp. 92- 101 ,(2003) , 10.1145/872035.872048
Ravi Rajwar, James R. Goodman, Transactional lock-free execution of lock-based programs Tenth international conference on architectural support for programming languages and operating systems on Proceedings of the 10th international conference on architectural support for programming languages and operating systems (ASPLOS-X) - ASPLOS '02. ,vol. 36, pp. 5- 17 ,(2002) , 10.1145/605397.605399
Ravi Rajwar, Maurice Herlihy, Konrad Lai, Virtualizing Transactional Memory ACM SIGARCH Computer Architecture News. ,vol. 33, pp. 494- 505 ,(2005) , 10.1145/1080695.1070011
Milos Prvulovic, María Jesús Garzarán, Lawrence Rauchwerger, Josep Torrellas, None, Removing architectural bottlenecks to the scalability of speculative parallelization international symposium on computer architecture. ,vol. 29, pp. 204- 215 ,(2001) , 10.1145/379240.379264
Tim Harris, Keir Fraser, Language support for lightweight transactions conference on object oriented programming systems languages and applications. ,vol. 49, pp. 388- 402 ,(2003) , 10.1145/2641638.2641654
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