Snapshots and software transactional memory

  • Authors:
  • Christopher Cole;Maurice Herlihy

  • Affiliations:
  • Northrop Grumman Mission Systems, Middletown, RI;Department of Computer Science, Brown University, Providence, RI

  • Venue:
  • Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

One way that software transactional memory implementations attempt to reduce synchronization conflicts among transactions is by supporting different kinds of access modes. One such implementation, Dynamic Software Transactional Memory (DSTM), supports three kinds of memory access: WRITE access, which allows an object to be observed and modified, READ access, which allows an object to be observed but not modified, and RELEASE access, which allows an object to be observed for a limited duration.In this paper, we examine the relative performance of these modes for simple benchmarks on a small-scale multiprocessor. We find that on this platform and for these benchmarks, the READ and RELEASE access benchmarks do not substantially increase transaction throughput (and sometimes reduce it). We blame the extra bookkeeping inherent in these access modes.In response, we propose a new SNAP access mode. This mode provides almost the same behavior as RELEASE mode, but admits much more efficient implementations.