Adaptive Read Validation in Time-Based Software Transactional Memory

  • Ehsan Atoofian
  • Amirali Baniasadi
  • Yvonne Coady
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5415)


In software transactional memory (STM) systems, read validation ensures that a transaction always has a consistent view of the memory. Existing read validation policies follow a static approach and use one policy across all applications. However, no single universal read validation policy offers optimal performance across all applications. We propose adaptive read validation (ARV) for time-based STMs and adjust read validation policy according to workloads’ behavior. ARV not only varies read validation policy across applications, but also tunes read validation policy across different phases of a transaction. The adaptive nature of our suggested technique improves performance significantly for the set of workloads studied in this work.


transactional memory read validation policy time-based transactional memory 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. Trans. on Prog. Lang. and Syst. 12, 3 (1990)Google Scholar
  2. 2.
    Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: Proceedings of ISCA (1993)Google Scholar
  3. 3.
    Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Minh, C.C., Trautmann, M., Chung, J., McDonald, A., Bronson, N., Casper, J., Kozyrakis, C., Olukotun, K.: An Effective Hybrid Transactional Memory System with Strong Isolation Guarantees. In: Proceedings of ISCA (June 2007)Google Scholar
  5. 5.
    Marathe, V.J., Scherer, W.N., Scott, M.L.: Design tradeoffs in modern software transactional memory systems. In: Proceedings of the 7th Workshop on Languages, Compilers,and Run-time Support for Scalable Systems, LCR 2004 (2004)Google Scholar
  6. 6.
    Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of PPOPP, March 2006, pp. 187–197 (2006)Google Scholar
  7. 7.
    Stone, J.M., Stone, H.S., Heidelberger, P., Turek, J.: Multiple reservations and the Oklahoma update. IEEE Parallel & Distributed Technology: Systems & Technology, 58–71 (November 1993)Google Scholar
  8. 8.
    Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of PODC (August 1995)Google Scholar
  9. 9.
    Riegel, T., Fetzer, C., Felber, P.: Snapshot Isolation for Software Transactional Memory. In: 1st ACM SIGPLAN Workshop on Transactional Computing (June 2006)Google Scholar
  10. 10.
    Fraser, K.: Practical Lock-Freedom. Technical Report UCAM-CL-TR-579, Cambridge University Computer Laboratory (February 2004)Google Scholar
  11. 11.
    Tse-Yuh, Y., Patt, Y.: Alternative implementations of two-level adaptive branch prediction. In: Proceedings of the 19th Annual International Symposium on Computer Architecture (May 1992)Google Scholar
  12. 12.
    Lipasti, M.H., Wilkerson, C.B., Shen, J.P.: Value locality and load value prediction. In: ASPLOS, October 1996, pp. 138–147 (1996)Google Scholar
  13. 13.
    Harris, T., Fraser, K.: Language support for lightweight transactions. In: Proceedings of OOPSLA, October 2003, pp. 388–402 (2003)Google Scholar
  14. 14.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.: Software transactional memory for dynamic-sized data structures. In: Proceedings of PODC, July 2003, pp. 92–101 (2003)Google Scholar
  15. 15.
    Spear, M.F., Marathe, V.J., Scherer III, W.N., Scott, M.L.: Conflict Detection and Validation Strategies for Software Transactional Memory. In: Proc. of DISC, Stockholm, Sweden (September 2006)Google Scholar
  16. 16.
    Fraser, K.: Practical Lock-Freedom. Ph.D. dissertation, UCAMCL-TR-579, Computer Laboratory, University of Cambridge (Feburary 2004)Google Scholar
  17. 17.
    Marathe, V.J., Scherer III, W.N., Scott, M.L.: Adaptive software transactional memory. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 354–368. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    Damron, P., Fedorova, A., Lev, Y., Luchangco, V., Moir, M., Nussbaum, D.: Hybrid transactional memory. In: The Proceedings of the 12th Intl. Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, CA (October 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Ehsan Atoofian
    • 1
  • Amirali Baniasadi
    • 1
  • Yvonne Coady
    • 1
  1. 1.University of VictoriaVictoriaCanada

Personalised recommendations