Skip to main content

Efficient Means of Achieving Composability Using Object Based Semantics in Transactional Memory Systems

  • Conference paper
  • First Online:

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

Abstract

Composing together the individual atomic methods of concurrent data-structures (cds) pose multiple design and consistency challenges. In this context composition provided by transactions in software transaction memory (STM) can be handy. However, most of the STMs offer read/write primitives to access shared cds. These read/write primitives result in unnecessary aborts. Instead, semantically rich higher-level methods of the underlying cds like lookup, insert or delete (in case of hash-table or lists) aid in ignoring unimportant lower level read/write conflicts and allow better concurrency.

In this paper, we adapt transaction tree model in databases to propose OSTM which enables efficient composition in cds. We extend the traditional notion of conflicts and legality to higher level methods of cds using STMs and lay down detailed correctness proof to show that it is co-opaque. We implement OSTM with concurrent closed addressed hash-table (HT-OSTM) and list (list-OSTM ) which exports the higher-level operations as transaction interface.

In our experiments with varying workloads and randomly generated transaction operations, HT-OSTM shows speedup of 3 to 6 times and w.r.t aborts HT-OSTM is 3 to 7 times better than ESTM and read/write based STM, respectively. Where as, list-OSTM outperforms state of the art lock-free transactional list, NOrec STM list and boosted list by 30% to 80% across all workloads and scenarios. Further, list-OSTM incurred negligible aborts in comparison to other techniques considered in the paper.

A preliminary version of this work was accepted in AADDA 2017 as work in progress.

Author sequence follows lexical order of last names.

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

Buying options

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

Learn about institutional subscriptions

Notes

  1. 1.

    While some conflicts of lower level do not matter at higher level, some other conflicts do. An example illustrating this is shown in the technical report [8].

  2. 2.

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

  3. 3.

    lib source code link: https://github.com/PDCRL/ht-ostm.

References

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

    Article  Google Scholar 

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

    Google Scholar 

  3. Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: PPOPP, New York, NY, USA, pp. 48–60. ACM (2005)

    Google Scholar 

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

    Google Scholar 

  5. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Elsevier Science, Amsterdam (2012)

    Google Scholar 

  6. Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer, 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. Peri, S., Singh, A., Somani, A.: Efficient means of achieving composability using transactional memory. CoRR abs/1709.00681 (2017)

    Google Scholar 

  9. Harris, T., et al.: Abstract nested transactions (2007)

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

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

  15. Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: PPOPP, pp. 207–216. ACM (2008)

    Google Scholar 

  16. Ni, Y., et al.: Open nesting in software transactional memory. In: PPOPP. ACM (2007)

    Google Scholar 

  17. Hassan, A., Palmieri, R., Ravindran, B.: Optimistic transactional boosting. In: Moreira, J.E., Larus, J.R. (eds.) PPOPP, pp. 387–388. ACM (2014)

    Google Scholar 

  18. Spiegelman, A., Golan-Gueta, G., Keidar, I.: Transactional data structure libraries. In: PLDI, pp. 682–696. ACM (2016)

    Google Scholar 

  19. Fraser, K., Harris, T.: Concurrent programming without locks. ACM Trans. Comput. Syst. 25(2), 5 (2007)

    Article  Google Scholar 

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

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

Download references

Acknowledgment

We extend our thanks to Dr. Roy Friedman and anonymous reviewers for careful reading of the draft and suggestions. This research is partially supported by the grant from Board of Research in Nuclear Sciences (BRNS), India with project number- 36(3)/14/19/2016-BRNS/36019.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Sathya Peri , Ajay Singh or Archit Somani .

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

Peri, S., Singh, A., Somani, A. (2019). Efficient Means of Achieving Composability Using Object Based Semantics in Transactional Memory Systems. In: Podelski, A., Taïani, F. (eds) Networked Systems. NETYS 2018. Lecture Notes in Computer Science(), vol 11028. Springer, Cham. https://doi.org/10.1007/978-3-030-05529-5_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-05529-5_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-05528-8

  • Online ISBN: 978-3-030-05529-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics