Permissiveness in Transactional Memories

  • Rachid Guerraoui
  • Thomas A. Henzinger
  • Vasu Singh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5218)


We introduce the notion of permissiveness in transactional memories (TM). Intuitively, a TM is permissive if it never aborts a transaction when it need not. More specifically, a TM is permissive with respect to a safety property p if the TM accepts every history that satisfies p. Permissiveness, like safety and liveness, can be used as a metric to compare TMs. We illustrate that it is impractical to achieve permissiveness deterministically, and then show how randomization can be used to achieve permissiveness efficiently. We introduce Adaptive Validation STM (AVSTM), which is probabilistically permissive with respect to opacity; that is, every opaque history is accepted by AVSTM with positive probability. Moreover, AVSTM guarantees lock freedom. Owing to its permissiveness, AVSTM outperforms other STMs by up to 40% in read dominated workloads in high contention scenarios. But, in low contention scenarios, the book-keeping done by AVSTM to achieve permissiveness makes AVSTM, on average, 20-30% worse than existing STMs.


Safety Property Read Operation Transactional Memory Version Number Opaque History 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dice, D., Shalev, O., Shavit, N.: Transactional locking ii. In: DISC, pp. 194–208. Springer, Heidelberg (2006)Google Scholar
  2. 2.
    Fraser, K.: Practical Lock Freedom. PhD thesis, Computer Laboratory, University of Cambridge (2003)Google Scholar
  3. 3.
    Fraser, K., Harris, T.: Concurrent programming without locks. ACM Trans. Comput. Syst. (2007)Google Scholar
  4. 4.
    Guerraoui, R., Henzinger, T.A., Jobstmann, B., Singh, V.: Model checking transactional memories. In: PLDI, pp. 372–382. ACM Press, New York (2008)Google Scholar
  5. 5.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Nondeterminism and completeness in transactional memories. In: CONCUR. Springer, Heidelberg (2008)Google Scholar
  6. 6.
    Guerraoui, R., Herlihy, M., Kapałka, M., Pochon, B.: Robust contention management in software transactional memory. In: SCOOL (October 2005)Google Scholar
  7. 7.
    Guerraoui, R., Kapałka, M.: On the correctness of transactional memory. In: PPoPP. ACM Press, New York (2008)Google Scholar
  8. 8.
    Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA, pp. 388–402 (2003)Google Scholar
  9. 9.
    Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC, pp. 92–101. ACM Press, New York (2003)Google Scholar
  10. 10.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM, 631–653 (1979)Google Scholar
  11. 11.
    Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: DISC, pp. 284–298. Springer, Heidelberg (2006)Google Scholar
  12. 12.
    Scherer, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: PODC, pp. 240–248. ACM Press, New York (2005)Google Scholar
  13. 13.
    Scott, M.L.: Sequential specification of transactional memory semantics. In: ACM SIGPLAN WTC (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Rachid Guerraoui
    • 1
  • Thomas A. Henzinger
    • 1
  • Vasu Singh
    • 1
  1. 1.EPFLSwitzerland

Personalised recommendations