• DocumentCode
    2483609
  • Title

    Taking the heat off transactions: Dynamic selection of pessimistic concurrency control

  • Author

    Sönmez, Nehir ; Harris, Tim ; Cristal, Adrián ; Ünsal, Osman S. ; Valero, Mateo

  • Author_Institution
    BSC-Microsoft Res. Centre, Spain
  • fYear
    2009
  • fDate
    23-29 May 2009
  • Firstpage
    1
  • Lastpage
    10
  • Abstract
    In this paper we investigate feedback-directed dynamic selection between different implementations of atomic blocks. We initially execute atomic blocks using STM with optimistic concurrency control. At runtime, we identify ldquohotrdquo variables that cause large numbers of transactions to abort. For these variables we selectively switch to using pessimistic concurrency control, in the hope of deferring transactions until they will be able to run to completion. This trades off a reduction in single-threaded speed (since pessimistic concurrency control is not as streamlined as our optimistic implementation), against a reduced amount of wasted work in aborted transactions. We describe our implementation in the Haskell programming language, and examine its performance with a range of micro-benchmarks and larger programs. We show that our technique is effective at reducing the amount of wasted work, but that for current workloads there is often not enough wasted work for an overall improvement to be possible. As we demonstrate, our technique is not appropriate for some workloads: the extra work introduced by lock-induced deadlock is greater than the wasted work saved from aborted transactions. For other workloads, we show that using mutual exclusion locks for ldquohotrdquo variables could be preferable to multi-reader locks because mutual exclusion avoids deadlocks caused by concurrent attempts to upgrade to write access.
  • Keywords
    concurrency control; functional languages; transaction processing; Haskell programming language; aborted transactions; atomic blocks; feedback-directed dynamic selection; lock-induced deadlock; optimistic concurrency control; pessimistic concurrency control; single-threaded speed; Aerodynamics; Buildings; Computer languages; Concurrency control; Data structures; Feedback; Libraries; Runtime; Switches; System recovery;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel & Distributed Processing, 2009. IPDPS 2009. IEEE International Symposium on
  • Conference_Location
    Rome
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-4244-3751-1
  • Electronic_ISBN
    1530-2075
  • Type

    conf

  • DOI
    10.1109/IPDPS.2009.5161032
  • Filename
    5161032