• DocumentCode
    1454051
  • Title

    Time-Based Software Transactional Memory

  • Author

    Felber, Pascal ; Fetzer, Christof ; Marlier, Patrick ; Riegel, Torvald

  • Author_Institution
    Comput. Sci. Dept., Univ. of Neuchatel, Neuchâtel, Switzerland
  • Volume
    21
  • Issue
    12
  • fYear
    2010
  • Firstpage
    1793
  • Lastpage
    1807
  • Abstract
    Software transactional memory (STM) is a concurrency control mechanism that is widely considered to be easier to use by programmers than other mechanisms such as locking. The first generations of STMs have either relied on visible read designs, which simplify conflict detection while pessimistically ensuring a consistent view of shared data to the application, or optimistic invisible read designs that are significantly more efficient but require incremental validation to preserve consistency, at a cost that increases quadratically with the number of objects read in a transaction. Most of the recent designs now use a “time-based” (or “time stamp-based”) approach to still benefit from the performance advantage of invisible reads without incurring the quadratic overhead of incremental validation. In this paper, we give an overview of the time-based STM approach and discuss its benefits and limitations. We formally introduce the first time-based STM algorithm, the Lazy Snapshot Algorithm (LSA). We study its semantics and the impact of its design parameters, notably multiversioning and dynamic snapshot extension. We compare it against other classical designs and we demonstrate that its performance is highly competitive, both for obstruction-free and lock-based STM designs.
  • Keywords
    concurrency control; transaction processing; concurrency control mechanism; lazy snapshot algorithm; lock-based STM design; obstruction-free STM design; optimistic invisible read designs; time-based software transactional memory; visible read designs; Algorithm design and analysis; Application software; Concurrency control; Concurrent computing; Cost function; Design optimization; Multicore processing; Object detection; Programming profession; Runtime environment; Transactional memory; atomicity.; concurrency; transactions;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2010.49
  • Filename
    5438987