Achieving Starvation-Freedom with Greater Concurrency in Multi-Version Object-based Transactional Memory Systems

  • Chirag JuyalEmail author
  • Sandeep KulkarniEmail author
  • Sweta KumariEmail author
  • Sathya PeriEmail author
  • Archit SomaniEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11914)


To utilize the multi-core processors properly concurrent programming is needed. The main challenge is to design a correct and efficient concurrent program. Software Transactional Memory Systems (STMs) provide ease of multithreading to the programmer without worrying about concurrency issues as deadlock, livelock, priority inversion, etc. Most of the STMs work on read-write operations known as RWSTMs. Some STMs work at higher-level operations and ensure greater concurrency than RWSTMs. Such STMs are known as Single-Version Object-based STMs (SVOSTMs). The transactions of SVOSTMs can return commit or abort. Aborted SVOSTMs transactions retry. But in the current setting of SVOSTMs, transactions may starve. So, we propose a Starvation-Freedom in SVOSTM as SF-SVOSTM that satisfies the correctness criteria conflict-opacity.

Databases and STMs say that maintaining multiple versions corresponding to each shared data-item (or key) reduces the number of aborts and improves the throughput. So, to achieve greater concurrency further, we propose Starvation-Freedom in Multi-Version OSTM as SF-MVOSTM algorithm. The number of versions maintains by SF-MVOSTM either be unbounded with garbage collection as SF-MVOSTM-GC or bounded with latest K-versions as SF-KOSTM. SF-MVOSTM satisfies the correctness criteria as local opacity and shows the performance benefits as compared with state-of-the-art STMs.


Software Transactional Memory Systems Concurrency control Starvation-Freedom Multi-version Opacity Local opacity 



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


  1. 1.
    Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP (2008)Google Scholar
  2. 2.
    Kuznetsov, P., Peri, S.: Non-interference and local correctness in transactional memory. Theor. Comput. Sci. 688, 103–116 (2017)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631–653 (1979)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: PPOPP (2008)Google Scholar
  5. 5.
    Hassan, A., Palmieri, R., Ravindran, B.: Optimistic transactional boosting. In: PPoPP (2014)Google Scholar
  6. 6.
    Peri, S., Singh, A., Somani, A.: Efficient means of achieving composability using transactional memory. In: NETYS 2018 (2018)Google Scholar
  7. 7.
    Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Burlington (2002)CrossRefGoogle Scholar
  8. 8.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, Revised Reprint, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2012)Google Scholar
  9. 9.
    Chaudhary, V.P., Juyal, C., Kulkarni, S., Kumari, S., Peri, S.: Achieving starvation-freedom in multi-version transactional memory systems. In: Atig, M.F., Schwarzmann, A.A. (eds.) NETYS 2019. LNCS, vol. 11704, pp. 291–310. Springer, Cham (2019). Scholar
  10. 10.
    Bushkov, V., Guerraoui, R., Kapalka, M.: On the liveness of transactional memory. In: PODC 2012 (2012)Google Scholar
  11. 11.
    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). Scholar
  12. 12.
    Guerraoui, R., Kapalka, M.: Principles of Transactional Memory, Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool, San Rafael (2010)zbMATHGoogle Scholar
  13. 13.
    Gramoli, V., Guerraoui, R., Trigonakis, V.: TM2C: a software transactional memory for many-cores. In: EuroSys 2012 (2012)Google Scholar
  14. 14.
    Waliullah, M.M., Stenström, P.: Schemes for avoiding starvation in transactional memory systems. Practice Exp. Concurr. Comput. 21, 859–873 (2009)CrossRefGoogle Scholar
  15. 15.
    Spear, M.F., Dalessandro, L., Marathe, V.J., Scott, M.L.: A comprehensive strategy for contention management in software transactional memory (2009)CrossRefGoogle Scholar
  16. 16.
    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). Scholar
  17. 17.
    Lu, L., Scott, M.L.: Generic multiversion STM. In: Afek, Y. (ed.) DISC 2013. LNCS, vol. 8205, pp. 134–148. Springer, Heidelberg (2013). Scholar
  18. 18.
    Fernandes, S.M., Cachopo, J.: Lock-free and scalable multi-version software transactional memory. In: PPoPP 2011, New York, NY, USA (2011)Google Scholar
  19. 19.
    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). Scholar
  20. 20.
    Juyal, C., Kulkarni, S., Kumari, S., Peri, S., Somani, A.: An innovative approach to achieve compositionality efficiently using multi-version object based transactional systems. In: Izumi, T., Kuznetsov, P. (eds.) SSS 2018. LNCS, vol. 11201, pp. 284–300. Springer, Cham (2018). Scholar
  21. 21.
    Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. J. Parallel Distrib. Comput. 100, 103–127 (2017)CrossRefGoogle Scholar
  22. 22.
    Zhang, D., Dechev, D.: Lock-free transactions without rollbacks for linked data structures. In: SPAA 2016, New York, NY, USA (2016)Google Scholar
  23. 23.
    Dalessandro, L., Spear, M.F., Scott, M.L.: NOrec: streamlining STM by abolishing ownership records. In: Govindarajan, R., Padua, D.A., Hall, M.W. (eds.) PPOPP. ACM (2010)CrossRefGoogle Scholar
  24. 24.
    Juyal, C., Kulkarni, S.S., Kumari, S., Peri, S., Somani, A.: Obtaining progress guarantee and greater concurrency in multi-version object semantics. CoRR abs/1904.03700 (2019)Google Scholar
  25. 25.
    Heller, S., Herlihy, M., Luchangco, V., Moir, M., III, W.N.S., Shavit, N.: A lazy concurrent list-based set algorithm. Parallel Process. Lett. 17(4), 411–424 (2007)MathSciNetCrossRefGoogle Scholar
  26. 26.
    Harris, T.L.: A pragmatic implementation of non-blocking linked-lists. In: Welch, J. (ed.) DISC 2001. LNCS, vol. 2180, pp. 300–314. Springer, Heidelberg (2001). Scholar
  27. 27.
    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). Scholar
  28. 28.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: DISC, pp. 305–319 (2008)Google Scholar
  29. 29.
    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). Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringIIT HyderabadKandiIndia
  2. 2.Department of Computer ScienceMichigan State UniversityEast LansingUSA

Personalised recommendations