Skip to main content
Log in

Achieving starvation-freedom in multi-version transactional memory systems

  • Special Issue Article
  • Published:
Computing Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  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. Code is available here: https://github.com/PDCRL/KSFTM.

References

  1. Attiya H, Gotsman A, Hans S, Rinetzky N (2014) Safety of live transactions in transactional memory: TMS is necessary and sufficient. In: DISC, pp 376–390

  2. Bernstein PA, Goodman N (1983) Multiversion concurrency control: theory and algorithms. ACM Trans Database Syst

  3. Bushkov V, Guerraoui R (2015) Liveness in transactional memory pp Transactional Memory. Foundations, Algorithms, Tools, and Applications, pp 32–49

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

  5. Chaudhary VP, Juyal C, Kulkarni SS, Kumari S, Peri S (2017) Starvation freedom in multi-version transactional memory systems. CoRR arXiv:1709.01033

  6. Chaudhary VP, Juyal C, Kulkarni SS, Kumari S, Peri S (2019) Achieving starvation-freedom in multi-version transactional memory systems. In: NETYS

  7. Crain T, Imbs D, Raynal M (2011) Read invisibility, virtual world consistency and probabilistic permissiveness are compatible. In: ICA3PP

  8. Dalessandro L, Spear MF, Scott ML (2010) NOrec: streamlining STM by abolishing ownership records. PPoPP 2010

  9. Doherty S, Groves L, Luchangco V, Moir M (2009) Towards formally specifying and verifying transactional memory. In: REFINE

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

    Article  Google Scholar 

  11. Fernandes SM, Cachopo J (2011) Lock-free and scalable multi-version software transactional memory. PPoPP 2011

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

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

  14. Guerraoui R, Kapalka M (2010) Principles of transactional memory. Synthesis lectures on distributed computing theory, Morgan and Claypool

  15. Guerraoui R, Henzinger T, Singh V (2008) Permissiveness in transactional memories. In: DISC 2008

  16. Herlihy M, BMoss JE (1993) Transactional memory: architectural support for lock-free data structures. SIGARCH Comput Archit News 21(2)

  17. Herlihy M, Shavit N (2011) On the nature of progress. OPODIS 2011

  18. Herlihy M, Shavit N (2012) The art of multiprocessor programming, revised reprint, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco

    Google Scholar 

  19. Herlihy MP, Wing JM (1990) Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst 12(3)

  20. Kumar P, Peri S, Vidyasankar K (2014) A TimeStamp based multi-version STM algorithm. In: ICDCN, pp 212–226

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

  22. Kuznetsov P, Peri S (2017) Non-interference and local correctness in transactional memory. Theor Comput Sci 688

  23. Lu L, Scott ML (2013) Generic multiversion STM. In: DISC 2013

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

  25. Papadimitriou CH (1979) The serializability of concurrent database updates. J ACM 26(4)

  26. Perelman D, Byshevsky A, Litmanovich O, Keidar I (2011) SMV: selective multi-versioning STM. In: DISC, pp 125–140

  27. Riegel T, Felber P, Fetzer C (2006) A lazy snapshot algorithm with eager validation. In: DISC 2006

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

  29. Spear MF, Dalessandro L, Marathe VJ, Scott ML (2009) A comprehensive strategy for contention management in software transactional memory. PPoPP

  30. Waliullah MM, Stenström P (2009) Schemes for avoiding starvation in transactional memory systems. Practice and experience, concurrency and computation

Download references

Acknowledgements

Thanks to the NSF XPS 1533802 and project funded by MeitY, GoI titled “An Efficient Distributed Framework for Smart Contract Execution in Blockchain Systems”, Approval No. 4(20)/2019-ITEA dated 27th February.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sweta Kumari.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version of this paper appeared in 8th International Conference On Networked Systems (NETYS 2019). A part of this work was submitted in IIT Hyderabad, India towards the fulfillment of Ph.D. thesis requirement by an author Sweta Kumari.

Author sequence follows the lexical order of last names.

Supplementary Information

Below is the link to the electronic supplementary material.

Supplementary material 1 (pdf 649 KB)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chaudhary, V.P., Juyal, C., Kulkarni, S. et al. Achieving starvation-freedom in multi-version transactional memory systems. Computing 104, 2159–2179 (2022). https://doi.org/10.1007/s00607-021-00994-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-021-00994-y

Keywords

Mathematics Subject Classification

Navigation