Skip to main content

Achieving Starvation-Freedom in Multi-version Transactional Memory Systems

  • Conference paper
  • First Online:
Networked Systems (NETYS 2019)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 11704))

Included in the following conference series:

Abstract

Software Transactional Memory systems (STMs) have garnered significant interest as an elegant alternative for addressing synchronization and concurrency issues with multi-threaded programming in multi-core systems. Client programs use STMs by issuing transactions. STM ensures that transaction either commits or aborts. A transaction aborted due to conflicts is typically re-issued with the expectation that it will complete successfully in a subsequent incarnation. However, many existing STMs fail to provide starvation freedom, i.e., in these systems, it is possible that concurrency conflicts may prevent an incarnated transaction from committing. To overcome this limitation, we systematically derive a novel starvation free algorithm for multi-version STM. Our algorithm can be used either with the case where the number of versions is unbounded and garbage collection is used or where only the latest K versions are maintained, KSFTM. We have demonstrated that our proposed algorithm performs better than existing state-of-the-art STMs.

Author sequence follows lexical order of last names.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Technically \(\infty \), which is assigned to \(tutl_i \), cannot be decremented. But here as mentioned earlier, we use \(\infty \) to denote the largest possible value that can be represented in a system.

  2. 2.

    Code is available here: https://github.com/PDCRL/KSFTM.

References

  1. Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2) (1993)

    Article  Google Scholar 

  2. Shavit, N., Touitou, D.: Software transactional memory. In: PODC (1995)

    Google Scholar 

  3. Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP (2008)

    Google Scholar 

  4. Kuznetsov, P., Peri, S.: Non-interference and local correctness in transactional memory. In: ICDCN (2014) 197–211

    Google Scholar 

  5. Kuznetsov, P., Peri, S.: Non-interference and local correctness in transactional memory. Theor. Comput. Sci. 688, 103–116 (2017)

    Article  MathSciNet  Google Scholar 

  6. Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4) (1979)

    Article  MathSciNet  Google Scholar 

  7. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, Revised Reprint, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2012)

    Google Scholar 

  8. Herlihy, M., Shavit, N.: On the nature of progress. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 313–328. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25873-2_22

    Chapter  Google Scholar 

  9. Bushkov, V., Guerraoui, R., Kapalka, M.: On the liveness of transactional memory. In: ACM Symposium on PODC (2012)

    Google Scholar 

  10. Gramoli, V., Guerraoui, R., Trigonakis, V.: TM2C: a software transactional memory for many-cores. In: EuroSys (2012)

    Google Scholar 

  11. Waliullah, M.M., Stenström, P.: Schemes for avoiding starvation in transactional memory systems. Concurr. Comput. Pract. Exp. 21(7), 859–873 (2009)

    Article  Google Scholar 

  12. Spear, M.F., Dalessandro, L., Marathe, V.J., Scott, M.L.: A comprehensive strategy for contention management in software transactional memory (2009)

    Article  Google Scholar 

  13. Kumar, P., Peri, S., Vidyasankar, K.: A TimeStamp based multi-version STM algorithm. In: Chatterjee, M., Cao, J., Kothapalli, K., Rajsbaum, S. (eds.) ICDCN 2014. LNCS, vol. 8314, pp. 212–226. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-45249-9_14

    Chapter  Google Scholar 

  14. Lu, L., Scott, M.L.: Generic multiversion STM. In: Afek, Y. (ed.) DISC 2013. LNCS, vol. 8205, pp. 134–148. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41527-2_10

    Chapter  Google Scholar 

  15. Fernandes, S.M., Cachopo, J.: Lock-free and scalable multi-version software transactional memory. In: PPoPP (2011)

    Article  Google Scholar 

  16. Perelman, D., Byshevsky, A., Litmanovich, O., Keidar, I.: SMV: selective multi-versioning STM. In: Peleg, D. (ed.) DISC 2011. LNCS, vol. 6950, pp. 125–140. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24100-0_9

    Chapter  Google Scholar 

  17. Dalessandro, L., Spear, M.F., Scott, M.L.: NOrec: streamlining STM by abolishing ownership records. In: PPoPP (2010)

    Google Scholar 

  18. Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. J. Parallel Distrib. Comput. 100(C), 103–127 (2017)

    Article  Google Scholar 

  19. Minh, C.C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: stanford transactional applications for multi-processing. In: IISWC (2008)

    Google Scholar 

  20. Guerraoui, R., Kapalka, M.: Principles of Transactional Memory, Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool, San Rafael (2010)

    MATH  Google Scholar 

  21. Chaudhary, V.P., Juyal, C., Kulkarni, S.S., Kumari, S., Peri, S.: Starvation freedom in multi-version transactional memory systems. CoRR abs/1709.01033 (2017)

    Google Scholar 

  22. Bernstein, P.A., Goodman, N.: Multiversion concurrency control: theory and algorithms. ACM Trans. Database Syst 8, 465–483 (1983)

    Article  MathSciNet  Google Scholar 

  23. Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  24. Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 284–298. Springer, Heidelberg (2006). https://doi.org/10.1007/11864219_20

    Chapter  Google Scholar 

  25. Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-87779-0_21

    Chapter  Google Scholar 

  26. Crain, T., Imbs, D., Raynal, M.: Read invisibility, virtual world consistency and probabilistic permissiveness are compatible. In: Xiang, Y., Cuzzocrea, A., Hobbs, M., Zhou, W. (eds.) ICA3PP 2011. LNCS, vol. 7016, pp. 244–257. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-24650-0_21

    Chapter  Google Scholar 

  27. Bushkov, V., Guerraoui, R.: Liveness in transactional memory. In: Guerraoui, R., Romano, P. (eds.) Transactional Memory. Foundations, Algorithms, Tools, and Applications. LNCS, vol. 8913, pp. 32–49. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-14720-8_2

    Chapter  Google Scholar 

Download references

Acknowledgments

We are thankful to the anonymous reviewers for carefully reading the paper and providing us valuable suggestions.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Ved P. Chaudhary , Chirag Juyal , Sandeep Kulkarni , Sweta Kumari or Sathya Peri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chaudhary, V.P., Juyal, C., Kulkarni, S., Kumari, S., Peri, S. (2019). Achieving Starvation-Freedom in Multi-version Transactional Memory Systems. In: Atig, M., Schwarzmann, A. (eds) Networked Systems. NETYS 2019. Lecture Notes in Computer Science(), vol 11704. Springer, Cham. https://doi.org/10.1007/978-3-030-31277-0_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31277-0_20

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31276-3

  • Online ISBN: 978-3-030-31277-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics