Advanced contention management for dynamic software transactional memory
Top Cited Papers
- 17 July 2005
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 240-248
- https://doi.org/10.1145/1073814.1073861
Abstract
The obstruction-free Dynamic Software Transactional Memory (DSTM) system of Herlihy et al@. allows only one transaction at a time to acquire an object for writing. Should a second require an object currently in use, a contention manager must determine which may proceed and which must wait or abort.We analyze both new and existing policies for this contention management problem, using experimental results from a 16-processor SunFire machine. We consider both visible and invisible versions of read access, and benchmarks that vary in complexity, level of contention, tendency toward circular dependence, and mix of reads and writes. We present fair proportional-share prioritized versions of several policies, and identify a candidate default policy: one that provides, for the first time, good performance in every case we test. The tradeoff between visible and invisible reads remains application-specific: visible reads reduce the overhead for incremental validation when opening new objects, but the requisite bookkeeping exacerbates contention for the memory interconnect.Keywords
This publication has 8 references indexed in Scilit:
- Advanced contention management for dynamic software transactional memoryPublished by Association for Computing Machinery (ACM) ,2005
- Language support for lightweight transactionsPublished by Association for Computing Machinery (ACM) ,2003
- Software transactional memory for dynamic-sized data structuresPublished by Association for Computing Machinery (ACM) ,2003
- Software transactional memoryPublished by Association for Computing Machinery (ACM) ,1995
- Transactional memoryPublished by Association for Computing Machinery (ACM) ,1993
- The performance of spin lock alternatives for shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1990
- Data cache management using frequency-based replacementPublished by Association for Computing Machinery (ACM) ,1990
- The drinking philosophers problemACM Transactions on Programming Languages and Systems, 1984