Abstract
Writing concurrent programs is difficult because of the complexity of ensuring proper synchronization. Conventional lock-based synchronization suffers from wellknown limitations, so researchers have considered non-blocking transactions as an alternative. Recent hardware proposals have demonstrated how transactions can achieve high performance while not suffering limitations of lock-based mechanisms. However, current hardware proposals require programmers to be aware of platform-specific resource limitations such as buffer sizes, scheduling quanta, as well as events such as page faults, and process migrations. If the transactional model is to gain wide acceptance, hardware support for transactions must be virtualized to hide these limitations in much the same way that virtual memory shields the programmer from platform-specific limitations of physical memory. This paper proposes Virtual Transactional Memory (VTM), a user-transparent system that shields the programmer from various platform-specific resource limitations. VTM maintains the performance advantage of hardware transactions, incurs low overhead in time, and has modest costs in hardware support. While manysystem-level challenges remain, VTM takes a step toward making transactional models more widely acceptable.
- {1} H. Akkary, R. Rajwar, and S. T. Srinivasan. Checkpoint Processing and Recovery: Towards Scalable Large Instruction Window Processors. In Proceedings of the 36th International Symposium on Microarchitecture, December 2003. Google ScholarDigital Library
- {2} C. S. Ananian, K. Asanovic, B. C. Kuszmaul, C. E. Leiserson, and S. Lie. Unbounded Transactional Memory. In Proceedings of the Eleventh International Symposium on High-Performance Computer Architecture, February 2005. Google ScholarDigital Library
- {3} B. H. Bloom. Space/Time Trade-Offs in Hash Coding with Allowable Errors. Communications of the ACM, 13(7), 1970. Google ScholarDigital Library
- {4} A. Chang and M. Mergen. 801 Storage: Architecture and Programming. ACM Transactions on Computer Systems, 6(1), February 1988. Google ScholarDigital Library
- {5} K. P. Eswaran, J. Gray, R. A. Lorie, and I. L. Traiger. The Notions of Consistency and Predicate Locks in a Database System. Communications of the ACM, 19(11), November 1976. Google ScholarDigital Library
- {6} L. Fan, P. Cao, J. Almeida, and A. Z. Broder. Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol. IEEE/ACM Transactions on Networks, 8(3), 2000. Google ScholarDigital Library
- {7} L. Hammond, V. Wong, M. Chen, B. D. Carlstrom, J. D. Davis, B. Hertzberg, M. K. Prabhu, H. Wijaya, C. Kozyrakis, and K. Olukotun. Transactional Memory Coherence and Consistency. In Proceedings of the 31st Annual International Symposium on Computer Architecture, June 2004. Google ScholarDigital Library
- {8} T. Harris and K. Fraser. Language Support for Lightweight Transactions. In Object-Oriented Programming, Systems, Languages, and Applications, October 2003. Google ScholarDigital Library
- {9} M. Herlihy, V. Luchangco, M. Moir, and W. N. Scherer. Software Transactional Memory for Dynamic-Sized Data Structures. In Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing, July 2003. Google ScholarDigital Library
- {10} M. Herlihy and J. E. B. Moss. Transactional Memory: Architectural Support for Lock-Free Data Structures. In Proceedings of the 20th Annual International Symposium on Computer Architecture, May 1993. Google ScholarDigital Library
- {11} E. H. Jensen, G. W. Hagensen, and J. M. Broughton, A New Approach to Exclusive Data Access in Shared Memory Multiprocessors. Lawrence Livermore National Laboratory, Technical Report UCRL-97663, November 1987.Google Scholar
- {12} T. Kilburn, D. B. J. Edwards, M. J. Lanigan, and F. H. Sumner. One-Level Storage System. IRE Trans. Electronic Computers, 11(2), April 1962.Google Scholar
- {13} T. F. Knight. An Architecture for Mostly Functional Languages. In Proceedings of ACM Lisp and Functional Programming Conference, August 1986. Google ScholarDigital Library
- {14} L. Lamport. Concurrent Reading and Writing. Communications of the ACM, 20(11), November 1977. Google ScholarDigital Library
- {15} D. E. Lowell and P. M. Chen. Free Transactions with Rio Vista. In Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, October 1997. Google ScholarDigital Library
- {16} M. M. K. Martin, D. J. Sorin, H. W. Cain, M. D. Hill, and M. H. Lipasti. Correctly Implementing Value Prediction in Microprocessors That Support Multithreading or Multiprocessing. In Proceedings of the 34th International Symposium on Microarchitecture , December 2001. Google ScholarDigital Library
- {17} K. E. Moore, Thread-Level Transactional Memory. presented at Wisconsin Industrial Affiliates Meeting, October 2004 http://www.cs.wisc.edu/multifacet/papers/affiliates04_tltm.pdfGoogle Scholar
- {18} M. Prvulovic, M. J. Garzarán, L. Rauchwerger, and J. Torrellas. Removing Architectural Bottlenecks to the Scalability of Speculative Parallelization. In Proceedings of the 28th Annual International Symposium on Computer Architecture, June 2001. Google ScholarDigital Library
- {19} R. Rajwar and J. R. Goodman. Speculative Lock Elision: Enabling Highly Concurrent Multithreaded Execution. In Proceedings of the 34th International Symposium on Microarchitecture , December 2001. Google ScholarDigital Library
- {20} R. Rajwar and J. R. Goodman. Transactional Lock-Free Execution of Lock-Based Programs. In Proceedings of the Tenth Symposium on Architectural Support for Programming Languages and Operating Systems, October 2002. Google ScholarDigital Library
- {21} M. V. Ramakrishna. Practical Performance of Bloom Filters and Parallel Free-Text Searching. Communications of the ACM, 32(10), 1989. Google ScholarDigital Library
- {22} M. Satyanarayanan, H. H. Mashburn, P. Kumar, D. C. Steere, and J. J. Kistler. Lightweight Recoverable Virtual Memory. ACM Transactions on Computer Systems, 12(1), 1994. Google ScholarDigital Library
- {23} S. Sethumadhavan, R. Desikan, D. Burger, C. R. Moore, and S. W. Keckler. Scalable Hardware Memory Disambiguation for High ILP Processors. In Proceedings of the 36th International Symposium on Microarchitecture, December 2003. Google ScholarDigital Library
- {24} N. Shavit and D. Touitou. Software Transactional Memory. In Proceedings of the 14th ACM Symposium on Principles of Distributed Computing, August 1995. Google ScholarDigital Library
- {25} G. S. Sohi, S. E. Breach, and T. N. Vijaykumar. Multiscalar Processors. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, June 1995. Google ScholarDigital Library
- {26} J. M. Stone, H. S. Stone, P. Heidelberger, and J. Turek. Multiple Reservations and the Oklahoma Update. IEEE Parallel & Distributed Technology, 1(4), November 1993. Google ScholarDigital Library
Index Terms
- Virtualizing Transactional Memory
Recommendations
Virtualizing Transactional Memory
ISCA '05: Proceedings of the 32nd annual international symposium on Computer ArchitectureWriting concurrent programs is difficult because of the complexity of ensuring proper synchronization. Conventional lock-based synchronization suffers from wellknown limitations, so researchers have considered non-blocking transactions as an ...
Stretching transactional memory
PLDI '09Transactional memory (TM) is an appealing abstraction for programming multi-core systems. Potential target applications for TM, such as business software and video games, are likely to involve complex data structures and large transactions, requiring ...
Safe privatization in transactional memory
PPoPP '18Transactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, ...
Comments