Advanced contention management for dynamic software transactional memory

  • Authors:
  • William N. Scherer, III;Michael L. Scott

  • Affiliations:
  • University of Rochester, Rochester, NY;University of Rochester, Rochester, NY

  • Venue:
  • Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
  • Year:
  • 2005

Quantified Score

Hi-index 0.03

Visualization

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.