Virtualizing Transactional Memory
Top Cited Papers
- 28 July 2005
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. ucrl 97663 (10636897) , 494-505
- https://doi.org/10.1109/isca.2005.54
Abstract
Writing concurrent programs is difficult because of the complexity of ensuring proper synchronization. Conventional lock-based synchronization suffers from well-known limitations, so researchers have considered nonblocking 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 many system-level challenges remain, VTM takes a step toward making transactional models more widely acceptable.Keywords
This publication has 24 references indexed in Scilit:
- Language support for lightweight transactionsPublished by Association for Computing Machinery (ACM) ,2003
- Transactional lock-free execution of lock-based programsPublished by Association for Computing Machinery (ACM) ,2002
- Summary cache: a scalable wide-area Web cache sharing protocolIEEE/ACM Transactions on Networking, 2000
- Free transactions with Rio VistaPublished by Association for Computing Machinery (ACM) ,1997
- Lightweight recoverable virtual memoryACM Transactions on Computer Systems, 1994
- Practical performance of Bloom filters and parallel free-text searchingCommunications of the ACM, 1989
- 801 storage: architecture and programmingACM Transactions on Computer Systems, 1988
- Concurrent reading and writingCommunications of the ACM, 1977
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976
- Space/time trade-offs in hash coding with allowable errorsCommunications of the ACM, 1970