Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

An Innovative Approach to Achieve Compositionality Efficiently Using Multi-version Object Based Transactional Systems

  • Conference paper
  • First Online:
Stabilization, Safety, and Security of Distributed Systems (SSS 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11201))

Abstract

The rise of multi-core systems has necessitated the need for concurrent programming. However, developing correct, efficient concurrent programs is notoriously difficult. Software Transactional Memory Systems (STMs) are a convenient programming interface for a programmer to access shared memory without worrying about concurrency issues. Another advantage of STMs is that they facilitate compositionality of concurrent programs with great ease. Different concurrent operations that need to be composed to form a single atomic unit is achieved by encapsulating them in a single transaction.

Most of the STMs proposed in the literature are based on read/write primitive operations on memory buffers. We denote them as Read-Write STMs or RWSTMs. On the other hand, there have been some STMs that have been proposed (transactional boosting and its variants) that work on higher level operations such as hash-table insert, delete, lookup, etc. We call them Object STMs or OSTMs.

It was observed in databases that storing multiple versions in RWSTMs provides greater concurrency. In this paper, we combine both these ideas for harnessing greater concurrency in STMs - multiple versions with objects semantics. We propose the notion of Multi-version Object STMs or MVOSTMs. Specifically, we introduce and implement MVOSTM for the hash-table object, denoted as HTMVOSTM and list object, list-MVOSTM. These objects export insert, delete and lookup methods within the transactional framework. We also show that both these MVOSTMs satisfy opacity and ensure that transaction with lookup only methods do not abort if unbounded versions are used.

Experimental results show that list-MVOSTM outperform almost two to twenty fold speedup than existing state-of-the-art list based STMs (Trans-list, Boosting-list, NOrec-list, list-MVTO, and list-OSTM). Similarly, HT-MVOSTM shows a significant performance gain of almost two to nineteen times over the existing state-of-the-art hash-table based STMs (ESTM, RWSTMs, HT-MVTO, and HT-OSTM).

A poster version of this work received best poster award in NETYS-2018. An initial version of this work was accepted as work in progress in AADDA workshop, \(ICDCN-2018\).

This research work is partially supported by NSF XPS 1533802 and IMPRINT India project 6918F.

Author sequence follows the lexical order of last names.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Similar content being viewed by others

Notes

  1. 1.

    https://ucf-cs.github.io/tlds/.

  2. 2.

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

References

  1. 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, pp. 67–78. ACM (2010)

    Google Scholar 

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

    Article  Google Scholar 

  3. Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2008, Salt Lake City, UT, USA, 20–23 February 2008, pp. 207–216 (2008)

    Google Scholar 

  4. Hassan, A., Palmieri, R., Ravindran, B.: Optimistic transactional boosting. In: PPoPP, pp. 387–388 (2014)

    Google Scholar 

  5. Peri, S., Singh, A., Somani, A.: Efficient means of Achieving Composability using Transactional Memory. In: NETYS 2018 (2018)

    Google Scholar 

  6. Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N., Shavit, N.: A lazy concurrent list-based set algorithm. Parallel Process. Lett. 17(4), 411–424 (2007)

    Article  MathSciNet  Google Scholar 

  7. Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPoPP, pp. 175–184. ACM (2008)

    Google Scholar 

  8. Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, London (2002)

    Google Scholar 

  9. 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 

  10. Zhang, D., Dechev, D.: Lock-free transactions without rollbacks for linked data structures. In: SPAA 2016, pp. 325–336. ACM, New York (2016)

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  12. Kuznetsov, P., Ravi, S.: On the cost of concurrency in transactional memory. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 112–127. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-25873-2_9

    Chapter  Google Scholar 

  13. Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631–653 (1979)

    Article  MathSciNet  Google Scholar 

  14. Juyal, C., Kulkarni, S., Kumari, S., Peri, S., Somani, A.: An innovative approach for achieving composability in concurrent systems using multi-version object based STMs. CoRR abs/1712.09803 (2017)

    Google Scholar 

  15. 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). https://doi.org/10.1007/3-540-45414-4_21

    Chapter  Google Scholar 

  16. Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in STM. In: PODC, pp. 16–25 (2010)

    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 author

Correspondence to Archit Somani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Juyal, C., Kulkarni, S., Kumari, S., Peri, S., Somani, A. (2018). An Innovative Approach to Achieve Compositionality Efficiently Using Multi-version Object Based Transactional Systems. In: Izumi, T., Kuznetsov, P. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2018. Lecture Notes in Computer Science(), vol 11201. Springer, Cham. https://doi.org/10.1007/978-3-030-03232-6_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-03232-6_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-03231-9

  • Online ISBN: 978-3-030-03232-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics