Advanced contention management for dynamic software transactional memory

William N. Scherer, Michael Lee Scott · 2005

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-pro-cessor 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 pol-icy: one that provides, for the first time, good performance in every case we test. The tradeoff between visible and invisible reads re-mains application-specific: visible reads reduce the overhead for incremental validation when opening new objects, but the requisite bookkeeping exacerbates contention for the memory interconnect.

Read the paper · More papers on PaperTik